Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Синтаксис фильтра формы / 13 сообщений из 13, страница 1 из 1
03.12.2003, 10:26
    #32341596
Ирча
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
Привет!
У меня возникла проблемка...
Есть код для открытия формы

Dim stLinkCriteria As String

stDocName = ChrW(1054) & ChrW(1073) & ChrW(1098) & ChrW(1077) & ChrW(1082) & ChrW(1090) & ChrW(1042) & ChrW(1074) & ChrW(1086) & ChrW(1076)

stLinkCriteria = "[Номер площадки строительства]=" & Me![Номер площадки строительства]
DoCmd.OpenForm stDocName, , , stLinkCriteria

Номер площадки строительства это число
все было в порядке пока число было целое,
а теперь оно дробное (например 1,2)
и у меня пошла ошибка синтаксиса
не могу сообразить как отбить возвращаемое значение от кода
...
Рейтинг: 0 / 0
03.12.2003, 10:33
    #32341618
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
> как отбить возвращаемое значение от кода

Это непонятно совсем :(

А добавь в свой код строчку

Dim stLinkCriteria As String

stDocName = ChrW(1054) & ChrW(1073) & ChrW(1098) & ChrW(1077) & ChrW(1082) & ChrW(1090) & ChrW(1042) & ChrW(1074) & ChrW(1086) & ChrW(1076)

stLinkCriteria = "[Номер площадки строительства]=" & Me![Номер площадки строительства]
msgbox cdbl(Me![Номер площадки строительства])
DoCmd.OpenForm stDocName, , , stLinkCriteria

И скажи, что высветит msgbox. С точностью до пробела и запятой. Или какую ошибку.
...
Рейтинг: 0 / 0
03.12.2003, 10:41
    #32341636
Ирча
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
> Geo
>И скажи, что высветит msgbox. С точностью до пробела и запятой. Или какую ошибку.

msgbox выдает
6,01
это и есть номер площадки
...
Рейтинг: 0 / 0
03.12.2003, 10:52
    #32341653
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
Тогда я сдаюсь. У меня аналогичный пример нормально работает и с целыми, и с дробными.
А если попробовать
DoCmd.OpenForm stDocName, , , "[Номер площадки строительства]=6.01"
что скажет?
...
Рейтинг: 0 / 0
03.12.2003, 10:55
    #32341667
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
Люди, а почему не CStr?
...
Рейтинг: 0 / 0
03.12.2003, 10:56
    #32341668
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
Но. Кстати. Дробные числа нельзя проверять на равенство. Надо писать

Код: plaintext
Abs(A-B)< 0 .000что-нибудь
...
Рейтинг: 0 / 0
03.12.2003, 10:58
    #32341672
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
2 Ирча
У тебя в системе десятичный разделитель - запятая.
Вот он тебе число в строку и преобразовывает с запятой.
А для SQL надо точку.

Код: plaintext
1.
2.
Dim dblFieldValue As Double
dblFieldValue = Me![Номер площадки строительства] ' на всякий случай '
stLinkCriteria =  "[Номер площадки строительства]="  & Str(dblFieldValue)
...
Рейтинг: 0 / 0
03.12.2003, 11:00
    #32341677
Ирча
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
Понял, не дурак, отползаю

буду уходить от дробного числа,
кстати,
>ВС
что такое CStr?
...
Рейтинг: 0 / 0
03.12.2003, 11:00
    #32341678
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
СанычЛюди, а почему не CStr?
Да потому что CStr вернет запятую (если десятичный разделитель - запятая)
А Str - точку.
Надо периодически фак перечитывать
...
Рейтинг: 0 / 0
03.12.2003, 11:01
    #32341681
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
2ВС
Виноват. :( Только не cstr тоже скажет "6,01".
Лучше, наверное
stLinkCriteria = "[Номер площадки строительства]=Forms![МояФорма]![Номер площадки строительства]"
...
Рейтинг: 0 / 0
03.12.2003, 11:04
    #32341689
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
Типун мне на все части тела. Я привык к израильским региональным настройкам. То, что в России вместо , ставят ; - это я запомнил, а вот то, что вместо . ставят , - забыл.
...
Рейтинг: 0 / 0
03.12.2003, 11:05
    #32341692
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
2 Geo
В принципе лучше. Пусть сам аксес и думает, какие-такие разделители.
Только если Forms![МояФорма]![Номер площадки строительства] - несвязанный контрол, то у аксеса могут возникнуть проблемы с определением типа. Со всеми вытекающими запятыми.
...
Рейтинг: 0 / 0
03.12.2003, 11:10
    #32341702
Ирча
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис фильтра формы
2ЛП
Ты гений, все ОК
Всем спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Синтаксис фильтра формы / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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