LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Как в Run...
 Тема: Как в RunSQL вставлять даты из переменных?
 
 15.06.2007 21:03:55
All
4316 сообщения
1-ый


Тема: Как в RunSQL вставлять даты из переменных?
Как в RunSQL вставлять даты из переменных?
docmd.runsql "INSERT INTO ... SELECT "& var1&" AS DATE1, "&var2&" AS DATE2" выдает ошибку 3075 - ошибка в выражении запроса '01.03.2003'. Как сделать правильно?


P.S. Запросы на добавление
Автор: Anonymous от 0:00:00 Источник ...
 15.06.2007 21:03:55
All
4316 сообщения
1-ый


RE: Как в RunSQL вставлять даты из переменных?
Дату надо перевести в анлийский формат: #mm/dd/yyy#, например, format(var1,"mm\/dd\/yyyy")


P.S. Запросы на добавление
Автор: Expert от 0:00:00 Источник ...
 15.06.2007 21:03:55
anonymous
0 сообщения


RE: Как в RunSQL вставлять даты из переменных?
Инструкция приведенная Expertом format(var1,"mm\/dd\/yyyy") работать не будет! Достаточно в окне отладки набрать format(#13/02/2003#,"mm\/dd\/yyyy") и вернется вам не
13/02/2003 как ожидалось (и хотелось бы), а получиться 02/13/2003. Надо написать свою функцию которая бы обрабатывала дату в зависимости от дня.
Если день >=13 то выводить формат "dd/mm/yyyy" в противном случае "mm/dd/yyyy". Если надо могу выслать функцию.


P.S. Запросы на добавление
Автор: Артур от 14.04.2003 15:09:42 Источник ...
 15.06.2007 21:03:55
Николай3
48 сообщения


RE: Как в RunSQL вставлять даты из переменных?
Конечно, можно и предложенным способом, но зачем же городить лишнее
Достаточно выполнять правила составления запросов :)

Function INSDATE()
Dim dat1 As Date ' AS String
Dim dat2 As Date ' AS String
Dim strSQL As String

dat1 = Date
dat2 = Date
'достаточно просмотреть получившуюся строку, чтобы увидеть, что запрос не сработает
strSQL = "INSERT INTO TD ( F1, F2 ) " & _
"SELECT " & dat1 & " AS V1, " & dat2 & " AS V2"
'DoCmd.RunSQL strSQL

'а вот это уже будет работать
strSQL = "INSERT INTO TD ( F1, F2 ) " & _
"SELECT #" & Replace(CStr(dat1), ".", "/") & "# AS V1, #" & Replace(CStr(dat2), ".", "/") & "# AS V2"
DoCmd.RunSQL strSQL
strSQL = "INSERT INTO TD ( F1, F2 ) " & _
"SELECT CDate('" & dat1 & "') AS V1, CDate('" & dat2 & "') AS V2"
DoCmd.RunSQL strSQL
End Function



P.S. Запросы на добавление
Автор: Николай от 14.04.2003 18:10:12 Источник ...
 15.06.2007 21:03:55
beks
21 сообщения


RE: Как в RunSQL вставлять даты из переменных?
Вот это должно работать в VB
Dim D as date
d=date()
DoCmd.RunSQL "INSERT INTO TD ( D1 ) " & _
" values (#" & format(d,"mm\/dd\/yyyy") & "#)"



P.S. Запросы на добавление
Автор: MVB от 16.04.2003 9:47:29 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Как в Run...
ПоискПоиск  Список форумовСписок форумов  
right