Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразовать дату / 15 сообщений из 15, страница 1 из 1
21.09.2003, 20:00
    #32271185
Артём2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
пишу запрос в коде vba:
Код: plaintext
WHERE query.[Дата] Between # " & Me.tbdateot & " # and # " & Me.tbdatedo & " #"


Me.tbdateot и Me.tbdatedo текстовые поля, ничего неполучается, как я понимаю из-за того, что:
надо:
Between #9/1/2003# And #9/22/2003#
а я передаю в запрос:
Between #01.09.2003# and #22.09.2003#

как мне преобразовать Me.tbdateot и Me.tbdatedo к нужному формату даты?
...
Рейтинг: 0 / 0
21.09.2003, 21:45
    #32271193
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
format(Me.tbdateot, "mm/dd/yyyy")
...
Рейтинг: 0 / 0
21.09.2003, 22:07
    #32271194
afrav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
фишка в том что русифицированный office оперирует датами в формате ДД.ММ.ГГГГ, а до русификации SQL руки не дошли, посему он оперирует с датами в формате (М)М/(Д)Д/ГГГГ посему всё и происходит.
Сам наступил на эти грабли.
Тупо лечил так: вместо ссылки на дату подставлял ссылку на функцию
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Function Revdates(ByVal имя вашей переменной As String) As String
dim inp, outp, rev as string
outp= ""
inp=имя вашей переменной
if  mid(inp,4 , 1 )=" 0  " then
outp=mid(inp,5 , 1 ) & "/ "
else
outp=mid(inp,4 , 2 ) & "/ "
end if
if  mid(inp,1 , 1 )=" 0  " then
outp=outp & mid(inp,2 , 1 ) & "/ " & mid(inp,7 , 4 )
else
outp=outp & mid(inp, 1 , 2 ) & "/" & mid(inp, 7 , 4 )
end if
Revdates = outp
end functions

работает если обеспечено точное заполнение поля в формате ДД.ММ.ГГГГ, если там может быть пусто или в другом варианте - вешайте входной анализатор.
Ежли кто напишет как проще буду рад несказанно, хотя и подобный крокозябер на 150000 не подтормаживает.
...
Рейтинг: 0 / 0
21.09.2003, 22:21
    #32271196
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
Ежли кто напишет как проще буду рад несказанно, хотя и подобный крокозябер на 150000 не подтормаживает.

format(Me.tbdateot, "mm/dd/yyyy")

...
...
Рейтинг: 0 / 0
21.09.2003, 22:53
    #32271201
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
2 afrav
небольшой патч... глаза режет :)
dim inp as string , , outp as string , rev as string

2 Владимир Саныч и 2 Geo
format(Me.tbdateot, "mm/dd/yyyy") вернёт ту же самую хрень с точками...
...
Рейтинг: 0 / 0
21.09.2003, 23:02
    #32271203
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
2Артист
Все правильно она вернет.
Для порядку даже запустил (зачем, спрашивается?):
-------------
Выражение1
01/01/2003
02/01/2003
03/13/2003
04/01/2003
05/01/2003
-------------
...
Рейтинг: 0 / 0
21.09.2003, 23:06
    #32271205
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
А вот, кстати, то, что я ему подсунул:
---------
Даттта
01.01
01.02.03
13.3.03
1-4-3
01.05.2003
---------
...
Рейтинг: 0 / 0
21.09.2003, 23:08
    #32271207
Shkurenko Alexander
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
Эх млин. Люди, люди, человеки...
Сколько можно обсуждать затертую до дыр тему?
Артём2 неужели сложно воспользоваться поиском по форуму?
to ВС & Geo & Артист
У нас есть FAQ по данной теме или нет? Если да, то ссылку в руки и вперед!
Пока писал Geo уже пост запулить успел :).
У меня на компе выдается та же хрень только с точками!
Ух шустрый уже и второй
...
Рейтинг: 0 / 0
21.09.2003, 23:14
    #32271208
afrav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
2 Artist
гхм, понимаю что может резать глаза переменная rev, она осталась от уборщика неформатных значений, но почему нужно вставлять ASы после каждой переменной объявленной Dim'ом если на всю строку через запятую вроде достаточно одного - в конце?

2 Владимир Саныч и 2 Geo

между русским и аглицким представлением даты разница не только в ПОРЯДКЕ расположения месяцов и дней, но и в разделителях, а также в использовании лидирующих нулей.
...
Рейтинг: 0 / 0
21.09.2003, 23:15
    #32271209
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
Надо будет его почитать.
Кстати, ВС как-то поправлял меня, что если "mm/dd/yyyy" не работает, надо писать, кажется, так: "mm/\dd/\yyyy" или наоборот, через "\/".
А я, когда натыкался на такую штуку, писал вообще format(aaa,"mm-dd-yyyy"). Везде проскакивает нормально.

2 Шкуренко Александр
:))
...
Рейтинг: 0 / 0
21.09.2003, 23:18
    #32271210
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
2arfav
Зашибись.
Если б не ты, чувствую, загнулся б я, как программист.
Большое тебе человеческое спасибо.
Напиши еще чтоли чего-нибудь, а...
...
Рейтинг: 0 / 0
21.09.2003, 23:27
    #32271213
Shkurenko Alexander
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
to Geo
Да-да как раз "\/" или "-" в данном случае отлично работает. А над afrav зачем шутите :), я в свое время такие же опусы сочинял пока шишек не набил да книжек умных не почитал, правда советы я не давал такие
...
Рейтинг: 0 / 0
22.09.2003, 08:02
    #32271264
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
вот так format(aaa,"mm-dd-yyyy") да, проскакивает...
...
Рейтинг: 0 / 0
22.09.2003, 11:31
    #32271431
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
> Кстати, ВС как-то поправлял меня

Это был не я. Я все время про это забываю. Больше того, у меня стоиит перед глазами этот вариант, но я не знал и не знаю, надо ли ставить две дробных черты \/ или латинскую букву V.
...
Рейтинг: 0 / 0
22.09.2003, 11:38
    #32271444
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать дату
2 ВС
однозначно \ и / рядышком.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразовать дату / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]