Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Введенное значение на подходит для поля / 14 сообщений из 14, страница 1 из 1
24.11.2004, 19:21:22
    #32798717
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
Сообщение в общем-то понятное, а вот ситуация - нет


На обработку до обновления висит defaultvalue=value (небольшое наследование).

Формат поля - с разделителями разрядов (при любом другом формате все нормально).

Вводятся вполне нормальные понятные цифорки, все чин по чину. Если постаить обычный формат - то все проходит. Кто-нибудь знает в чем дело?
...
Рейтинг: 0 / 0
24.11.2004, 19:28:55
    #32798727
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
Иногда все нормально, а иногда на пустом месте срабатывает "Введенное значение на подходит " в чем дело - непонятно.
...
Рейтинг: 0 / 0
25.11.2004, 00:05:36
    #32798819
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
А если в этот момент посмотреть в отладчике, чему равно value?
...
Рейтинг: 0 / 0
25.11.2004, 15:33:02
    #32799939
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
тому, чкму и должно быть равно.... Ничего не могу понять.

Есть наводка - текст в момент изменения дефаулт валуя становится форматированным (с пробелами между разрядами),
текст я стал выправлять на месте - ошибка стала возникать вроде бы реже (на 20%). но осталась.
...
Рейтинг: 0 / 0
25.11.2004, 15:36:46
    #32799949
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
vam911тому, чкму и должно быть равно....
И мы тут дружно поняли, сколько это.

vam911Есть наводка - текст в момент изменения дефаулт валуя становится форматированным
Так text или value???

vam911текст я стал выправлять на месте
И мы дружно угадали, как выглядит программа, в которой сделан баг.
...
Рейтинг: 0 / 0
25.11.2004, 18:05:04
    #32800346
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
В валуе получается то число, что и было введено юзером (он ввел 11000 и в валуе 11000)

Прога:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
           If frm(ctrl_name).Format = "Standard" Then
                Dim old_seltext As String
                Dim old_selstart As Integer
                If frm.ActiveControl.name = ctrl_name Then
                    old_seltext = frm(ctrl_name).SelText
                    old_selstart = frm(ctrl_name).SelStart
                End If
                frm(ctrl_name).DefaultValue = zamenit_zapituyu(CDbl(frm(ctrl_name).Value))
                If frm.ActiveControl.name = ctrl_name Then
                    On Error Resume Next
                        frm(ctrl_name).Text = Format(frm(ctrl_name).Value, "General Number")
                        frm(ctrl_name).SelText = old_seltext
                        frm(ctrl_name).SelStart = old_selstart
                    On Error GoTo  0 
                End If
           End If

функция zamenit_zapituyu меняет запятую на точку (несовпадение форматов в русском аксессе)
но от ее использования ошибка не зависит (если вводить целые числа, то она ничего не меняет, а ошибка выскакивает)
...
Рейтинг: 0 / 0
25.11.2004, 20:10:53
    #32800503
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
Блин, однако. Там еще и какая-то запитая функция. Что она возвращает, опять надо гадать? Какого типа ее значение? Хотя бы один пример значения можно ли увидеть?
...
Рейтинг: 0 / 0
26.11.2004, 12:32:17
    #32801263
Finans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
У меня была такая же ерунда только с датой. По кнопке нужно было изменить дату в текстбоксе на 1 день. Маска ввода в текстбоксе стоит 00.00.00;0;
На работе значение в текстбоксе выглядит как 26.11.04, а дома как 26.11.2004.
Поэтому дома Me.Поле.Value даёт 26.11.2004, но устанавливать-то Me.Поле.Text нужно в формате 26.11.04, т.е. предварительно приводить данные к формату в соответствии с маской ввода:

Код: plaintext
1.
Me.Поле.SetFocus
Me.Поле.Text = Format(Me.Поле.Value +  1 , "d/m/yy")
...
Рейтинг: 0 / 0
11.12.2004, 17:57:45
    #32824562
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
FinansУ меня была такая же ерунда только с датой. По кнопке нужно было изменить дату в текстбоксе на 1 день. Маска ввода в текстбоксе стоит 00.00.00;0;
На работе значение в текстбоксе выглядит как 26.11.04, а дома как 26.11.2004.
Поэтому дома Me.Поле.Value даёт 26.11.2004, но устанавливать-то Me.Поле.Text нужно в формате 26.11.04, т.е. предварительно приводить данные к формату в соответствии с маской ввода:

Код: plaintext
1.
Me.Поле.SetFocus
Me.Поле.Text = Format(Me.Поле.Value +  1 , "d/m/yy")



Это просто - поменяй настроки даты в региональных настроках компа.
...
Рейтинг: 0 / 0
11.12.2004, 18:00:00
    #32824563
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
Владимир СанычБлин, однако. Там еще и какая-то запитая функция. Что она возвращает, опять надо гадать? Какого типа ее значение? Хотя бы один пример значения можно ли увидеть?

Эта функция берет число "11,25" и вместо запятой ставит точку "11.25" результат возвращается в виде строки. Все это необходимо для дефаут валуя. Оно воспринимает тольктакой формат.
...
Рейтинг: 0 / 0
11.12.2004, 18:13:19
    #32824569
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
vam911Эта функция берет число "11,25" и вместо запятой ставит точку "11.25" результат возвращается в виде строки. Все это необходимо для дефаут валуя. Оно воспринимает тольктакой формат.
Можно увидеть заголовок этой функции?
...
Рейтинг: 0 / 0
11.12.2004, 18:26:06
    #32824576
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
Function zamenit_zapituyu(val As Double) As String
Dim k As Integer
Dim str As String
str = CStr(val)
zamenit_zapituyu = ""
k = InStr(1, str, ",")
If k <> 0 Then
str = Left(str, k - 1) + "." + Right(str, Len(str) - k)
End If
zamenit_zapituyu = str
End Function


Когда все делатся в таличной форме - Ок, а вот в ленточной...
...
Рейтинг: 0 / 0
16.12.2004, 19:05:02
    #32831162
vam911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
Столько вопросов и хоть бы один советик.
...
Рейтинг: 0 / 0
16.12.2004, 20:19:00
    #32831232
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Введенное значение на подходит для поля
vam911Когда все делатся в таличной форме - Ок, а вот в ленточной...
Вот это наводит на мысль, что баг не в этой программе, а где-то у Билла...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Введенное значение на подходит для поля / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]