про разделитель компонентов даты

snocky
Дата: 23.09.2005 07:37:38
Привет всем.

Возникла такая проблема:
Програмка делалась на ОС WinXP где в региональных настройках, в настройках формата даты указан формат dd/MM/yy через разделитель /

Но при запуске проги на другой ОС WinXP с настройками даты dd.MM.yy через разделитель "." в программе ошибка (см.рис.) возникает при выполнении запроса:
. . .
WHERE (((tblPlat.Status)=" & DQuote(stat2) & ") and ((tblPlat.DatePlat) <= #" & Format(date1, "mm/dd/yy 23:59:59") & "#)) 
. . .
snocky
Дата: 23.09.2005 07:39:04
Когда разделитель указываешь / то везде всё ОК. Пробовал в запросе менять разделитель на "." - ошибка.

Что не так?
Alexander G
Дата: 23.09.2005 08:11:17
Обратного слеша нет
?Format("1.12.2005", "mm/dd/yy 23:59:59")
12.01.05 23:59:59
?Format("1.12.2005", "mm\/dd\/yy 23:59:59")
12/01/05 23:59:59
shady
Дата: 23.09.2005 08:17:38
а в системе какой разделитель стоит по умолчанию? может в нем проблемма?
shady
Дата: 23.09.2005 08:19:18
лично я у себя делал так:

d = Format("dd/mm/yyyy")
d = txtBeg.Text
d = "#" + Replace(d, ".", "/") + "#"
snocky
Дата: 23.09.2005 08:20:16
ого. Заработало.
А так всегда надо писать, с двумя слэшами (mm\/dd\/yy)?
всмысле если так напишешь то уже пабарабану какой разделитель стоит???
snocky
Дата: 23.09.2005 08:21:53
по умолчанию везде стоит ".", но давно как то у себя менял на "/" (нужно было для чего то) так и осталось
Alexander G
Дата: 23.09.2005 08:27:22
snocky

А так всегда надо писать, с двумя слэшами (mm\/dd\/yy)?
всмысле если так напишешь то уже пабарабану какой разделитель стоит???

Да.
snocky
Дата: 23.09.2005 08:46:20
везде всмысле только в запросах или везде где Format юзаешь???
Alexander G
Дата: 23.09.2005 08:50:31
В запросах.
В SQL должен использоваться только американский формат дат -12/31/05.
см. FAQ