powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите разобраться с датами!
7 сообщений из 7, страница 1 из 1
Помогите разобраться с датами!
    #32504418
John Palych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос к SQL серверу
что-то там Дата BETWEEN @date1 AND @date2

@date1 DATETIME
@date2 DATETIME
Дата тоже DATETIME

запрос этот - источник данных для формы, в свойстве "Входные параметры" которой написано @date1=Forms!Форма!Дата1, @date2=Forms!Форма!Дата2

Forms!Форма!Дата1 и Forms!Форма!Дата2 имеют 'Краткий формат даты'

запрос независимо от дат ничего не возвращает=(
если из запроса убрать параметры и просто написать
BETWEEN '01.01.2003' AND '01.01.2004'
(естественно Access переделывает это
в CONVERT(DATETIME, '2003-01-01 00:00:00', 102) )
то все нормально

если делаю
@date1 CHAR(19)
@date2 CHAR(19)
и BETWEEN CONVERT(DATETIME, @date1, 102) AND CONVERT(DATETIME, @date2, 102)
и ввожу 2003-01-01 00:00:00 и 2004-01-01 00:00:00
то получаю
Syntax error converting datetime from character string

ну ничего не понимаю, в чем дело=(((
...
Рейтинг: 0 / 0
Помогите разобраться с датами!
    #32504440
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не типизированные параметры @date1=Forms!Форма!Дата1
access сначала преобразует в строку
в соответствии с национальными установками у юзера.

Если на сервере установки другие
то обратное преобразование будет неправильным

Выход
1)типизировать параметр @date1 datetime =Forms!Форма!Дата1
2)Передовать строку в фиксированном формате (например yymmdd)
и на стороне сервера сделать явное преобразование через Convert
...
Рейтинг: 0 / 0
Помогите разобраться с датами!
    #32504447
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати с аналогичной проблеммой можеш столкнутся передавая
числа с дробной частью (может получится разный разделитель ","<=>".")
...
Рейтинг: 0 / 0
Помогите разобраться с датами!
    #32504499
John Palych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
гм не помогло - ничего не возвращает запрос если писать @date1 datetime=...

причем не запрос а табличная функция

а если вариант с char(19)
сделать в ХП то работает!

почему в функции не работает, а в ХП тоже самое работает????
...
Рейтинг: 0 / 0
Помогите разобраться с датами!
    #32504544
John Palych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дальше подсунул рабочую ХП в источник формы
во входных параметрах написал
@date1=SQLDate(Forms!Форма1!Дата1), @date2=SQLDate(Forms!Форма1!Дата2)
SQLDate делает из аксессовской даты строку типа '2004-01-01 00:00:00'

ХП в форму ничего не возвращает...
если вводить в ХП вручную, то все нормально
что за ерунда....
...
Рейтинг: 0 / 0
Помогите разобраться с датами!
    #32504637
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С прямым вызовом табличной функции у access-а баг
он не всегда правильно воспринимает последовательность
параметров так что значение которое ты предаеш в data1
может запросто прийти в другую переменную.

Оберни функцию в ХП
...
Рейтинг: 0 / 0
Помогите разобраться с датами!
    #32504670
John Palych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ясно, спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите разобраться с датами!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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