powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразовать дату
15 сообщений из 15, страница 1 из 1
Преобразовать дату
    #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
Преобразовать дату
    #32271193
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
format(Me.tbdateot, "mm/dd/yyyy")
...
Рейтинг: 0 / 0
Преобразовать дату
    #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
Преобразовать дату
    #32271196
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ежли кто напишет как проще буду рад несказанно, хотя и подобный крокозябер на 150000 не подтормаживает.

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

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

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

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

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

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

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


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