Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 как работает Format(D2, "mm\/dd\/yyyy")  [new]
Mila
Member

Откуда: Krasnodar
Сообщений: 106
Привет!
Dim D1, D2, D3, D4 As Date

D1 = Me!Date + 1
D2 = Me!Date + 2
D3 = Format(D1, "mm\/dd\/yyyy")
D4 = Format(D2, "mm\/dd\/yyyy")

результат

?Me!Date
25.09.2004
?D1
26.09.2004
?D2
27.09.2004
?D3
09/26/2004
?D4
27.09.2004

почему D4 не 09/27/2004 ?
23 сен 04, 11:07    [981366]     Ответить | Цитировать Сообщить модератору
 Re: как работает Format(D2, "mm\/dd\/yyyy")  [new]
АлексейЕ
Guest
Потому, что D4 у Вас имеет тип данных Date, а остальные Variant.
Функция Format возвращает тип данных String, и для D4 VBA автоматом конвертирует в Date.
Например,
D3 = CDate(Format(D1, "mm\/dd\/yyyy"))
Вернет тоже, что и D4/
23 сен 04, 11:17    [981425]     Ответить | Цитировать Сообщить модератору
 Re: как работает Format(D2, "mm\/dd\/yyyy")  [new]
Bagin
Member

Откуда:
Сообщений: 838
Mila
D1 = Me!Date + 1
Это не касается вопроса по функции Format(), но на всякий случай, очень сомнительно это.
Наверно лучше использовать функцию:
DateAdd(interval, number, date)
23 сен 04, 11:41    [981546]     Ответить | Цитировать Сообщить модератору
 Re: как работает Format(D2, "mm\/dd\/yyyy")  [new]
Mila
Member

Откуда: Krasnodar
Сообщений: 106
Алексей, я думала что Dim D1, D2, D3, D4 As Date это значит что все переменные Date
у меня еще один вопрос можно ли в аксесе сделать выборку интервала дат в запросе, у меня с Between не получается
Set rst = dbs.OpenRecordset("SELECT * " & _
" FROM DvSredstv Where # " & Format(Date, "mm\/dd\/yyyy") & " # = Between #" & Format(Me!Date, "mm\/dd\/yyyy") & " # And # " & Format(Me!Date + 1, "mm\/dd\/yyyy") & " # ")
пишет ошибка синтаксиса...
23 сен 04, 13:22    [981896]     Ответить | Цитировать Сообщить модератору
 Re: как работает Format(D2, "mm\/dd\/yyyy")  [new]
___Dmitry___
Member

Откуда:
Сообщений: 9
Для Милы
Например, есть таблица table(id, field1, date)
Тогда запрос будет таким
strSQL="SELECT * FROM table WHERE date BETWEEN '#" & 01/01/2004 & "#' AND '#" & 02/01/2004 & "#'"
23 сен 04, 13:46    [982017]     Ответить | Цитировать Сообщить модератору
 Re: как работает Format(D2, "mm\/dd\/yyyy")  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
___Dmitry___
strSQL="SELECT * FROM table WHERE date BETWEEN '#" & 01/01/2004 & "#' AND '#" & 02/01/2004 & "#'"

01/01/2004 - это (1/1)/2004...
23 сен 04, 13:57    [982080]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить