И снова Дата в запросе!??

trdeman
Дата: 08.12.2009 16:11:04
Заранее оговорюсь: FAQ читал.
Суть вопроса:
Существует запрос
strSQL = "SELECT ZpAktVib.NazOrg, ZpAktVib.OKPO, ZpAktVib.NazPodr, ZpAktVibTMTS.IDTMTS, ZpAktVibTMTS.NomenklatN, ZpAktVibTMTS.NazEdIzm, ZpAktVibTMTS.[Kol-vo], ZpAktVib.IDPrVib, ZpAktVib.DataRazmeschen, tbTMTS.NazTMTS"
strSQL = strSQL + " FROM tbTMTS INNER JOIN (ZpAktVibTMTS INNER JOIN ZpAktVib ON (ZpAktVibTMTS.IDTMTS = ZpAktVib.IDTMTS) AND (ZpAktVibTMTS.IDAktVib = ZpAktVib.IDAktVib)) ON tbTMTS.IDTMTS = ZpAktVib.IDTMTS"
strSQL = strSQL + " WHERE (((ZpAktVib.IDPrVib)=" + Forms![fPrVib].[PoleIdPrVib].Value + ") AND ((ZpAktVib.DataRazmeschen) "
strSQL = strSQL + " Between (" + strOLDNach + ") And (" + strOLDKon + ")));"
MsgBox (strSQL)

Выполняется абсолютно правильно, до того момента, как вставляю в условие запроса проверку даты
Даты обработал согласно прочитанному в FAQ:
strOLDNach = Format([Forms]![fPrVib].[DataNach].Value, "mm\/dd\/yy")
strOLDKon = Format([Forms]![fPrVib].[DataKon].Value, "mm\/dd\/yy")
Результат запроса после вставки проверки дат - нулевой.
Есть подозрение, что поле ZpAktVib.DataRazmeschen не отформатированно правильно.
Подскажите, как правильно отформатировать это поле
CoolMind
Дата: 08.12.2009 16:20:06
trdeman, попробуйте вместо того написать с диезами:
"\#mm\/dd\/yy\#"
да и "yy" лучше заменить на "yyyy".
trdeman
Дата: 08.12.2009 16:21:53
Попоробуем..
trdeman
Дата: 08.12.2009 16:25:25
ОГРОМНОЕ спасибо, пол дня с этим бился, а тут раз и помогло.
Хотя нигде на форуме такого синтаксиса не видел....
Спасибо
CoolMind
Дата: 08.12.2009 17:12:11
trdeman, странно...
Вроде, пару месяцев назад читал в одном из постов, что FAQ был недоработан, и Владимир Саныч собирался добавить туда этот синтаксис. В общем, могу ошибаться.
Владимир Саныч
Дата: 08.12.2009 18:38:29
CoolMind
trdeman, странно...
Вроде, пару месяцев назад читал в одном из постов, что FAQ был недоработан, и Владимир Саныч собирался добавить туда этот синтаксис. В общем, могу ошибаться.

Честное слово, не помню. Мне кажется, что и про yyyy, и про диезы там давным-давно сказано.
trdeman
Дата: 09.12.2009 09:33:06
Имел ввиду синтаксис функции Format, в частности
Format(Date, "\#mm\/dd\/yy\#")
Так и не смог въехать, почему перед датой ставят сначала \ потом #, а после не наоборот # потом \
trdeman
Дата: 09.12.2009 09:35:06
Диезы упоминались не раз, это факт.
А на счет синтаксиса: я новичек в vba так что возможно именно у меня знаний не хватает :-)
Еще раз спасибо за подсказку
qwrqwr
Дата: 09.12.2009 09:51:13
trdeman

Так и не смог въехать, почему перед датой ставят сначала \ потом #, а после не наоборот # потом \

тут
CoolMind
Дата: 09.12.2009 10:11:07
Владимир Саныч, согласен с Вами. Я неверно сформулировал мысль. Читал пару месяцев назад давнишний топик, уж не помню, какого года, где было указано, что без диезов запросы с датами неверно работают (вообще, могу путать), и в FAQ хотели добавить это правило.
trdeman, в Аксессе тоже есть спец. символы, которые пишутся с "\" спереди. Например, "\#", "\\", "\/".