|
|
|
Помогите разобраться с датами!
|
|||
|---|---|---|---|
|
#18+
Есть запрос к 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 ну ничего не понимаю, в чем дело=((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 13:19 |
|
||
|
Помогите разобраться с датами!
|
|||
|---|---|---|---|
|
#18+
не типизированные параметры @date1=Forms!Форма!Дата1 access сначала преобразует в строку в соответствии с национальными установками у юзера. Если на сервере установки другие то обратное преобразование будет неправильным Выход 1)типизировать параметр @date1 datetime =Forms!Форма!Дата1 2)Передовать строку в фиксированном формате (например yymmdd) и на стороне сервера сделать явное преобразование через Convert ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 13:26 |
|
||
|
Помогите разобраться с датами!
|
|||
|---|---|---|---|
|
#18+
Кстати с аналогичной проблеммой можеш столкнутся передавая числа с дробной частью (может получится разный разделитель ","<=>".") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 13:29 |
|
||
|
Помогите разобраться с датами!
|
|||
|---|---|---|---|
|
#18+
гм не помогло - ничего не возвращает запрос если писать @date1 datetime=... причем не запрос а табличная функция а если вариант с char(19) сделать в ХП то работает! почему в функции не работает, а в ХП тоже самое работает???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 13:54 |
|
||
|
Помогите разобраться с датами!
|
|||
|---|---|---|---|
|
#18+
дальше подсунул рабочую ХП в источник формы во входных параметрах написал @date1=SQLDate(Forms!Форма1!Дата1), @date2=SQLDate(Forms!Форма1!Дата2) SQLDate делает из аксессовской даты строку типа '2004-01-01 00:00:00' ХП в форму ничего не возвращает... если вводить в ХП вручную, то все нормально что за ерунда.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 14:09 |
|
||
|
Помогите разобраться с датами!
|
|||
|---|---|---|---|
|
#18+
С прямым вызовом табличной функции у access-а баг он не всегда правильно воспринимает последовательность параметров так что значение которое ты предаеш в data1 может запросто прийти в другую переменную. Оберни функцию в ХП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 14:53 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32504544&tid=1674894]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
170ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 501ms |

| 0 / 0 |
