Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Козни ADO
 
 автор: grafin   (01.09.2008 в 12:46)   личное сообщение
 
 

Динамически строим источник для формы в виде strSql="SELECT * FROM WHERE....."
В WHERE участвует диапазон дат. Кроме того, таким же способом создается источник для выпадающего списка на этой же форме. ЧТО интересно: для формы дату подай в виде
dd.mm.yy, а для поля - mm.dd.yy
(можно и через слэш, можно CAST(date AS SMALLDATETIME) - по барабану - ест всё)
В чем тайный смысл сего?

  Ответить  
 
 автор: Рафаиль   (01.09.2008 в 13:30)   личное сообщение
 
 

Попробуй привести к одному виду ч\з "format" в запросах

  Ответить  
 
 автор: grafin   (01.09.2008 в 15:01)   личное сообщение
 
 

Как раз форматом и "переворачиваю" даты, прежде чем отправить в strSql. Даты использются
в нескольких запросах и в именно в формате дат для удобства использованя функций дат.
Мне кажется что MDB Format зесь ен причем. Если готовую strSQL скормить в конструктор запросов (VIEW) ( >= '01.06.2008'), подстановка дат в табличной части воспринимается в формате d.m.y ;
fа в SQL секции это отображается как CONVERT(DATETIME, '2008-06-01 00:00:00', 102)) .
Последовательность же м.d.y ничего не возвращает.
ЗЫ Access2003

  Ответить  
 
 автор: osmor   (01.09.2008 в 15:17)   личное сообщение
 
 

http://www.sql.ru/faq/faq_topic.aspx?fid=157

  Ответить  
 
 автор: grafin   (01.09.2008 в 17:13)   личное сообщение
 
 

Прочитал.
Заменил в работающем источнике формы (!!! ) >= '31.01.08' на >= '01.31.08' - возврата данных нет.
Далее.
Меняем на >= #01.31.08# - ваще "неправильный формат запроса" - # не воспринимается!
Это внутри Access -овские форматулины.
В общем методом тыка найдена простейшая, без конвертаций форма передачи строки дат-
не понятно почему разная для формы и полей. В ссылках в осном обсуждается предстаыление дат в SQL, а не то что он возвращает в Access.
Нормально(принимает в обоих случаях dd.mm.yy) работает вариант CONVERT(DATETIME, '" & Me("Начальная дата данных") & "',104)
указанный в http://hiprog.com/index.php?option=com_content&task=view&id=370&Itemid=35
но если если в настройках Винды указан краткий формат года YY (без века), то необходимо использовать не 104 формат , а 4)

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList