2016-10-05 2 views
0

Я нахожусь в Великобритании и разрабатываю DB Access Access 2016 для клиента в США.Региональный формат даты при обновлении набора записей в VBA

Мне нужно обновить некоторые даты в таблице программно, и я сделал это, отредактировав RecordSet.

Мой вопрос заключается в следующем: если я дам даты в формате Великобритании (dd/mm/yyyy), база данных будет хранить его как формат США (мм/дд/гггг) на компьютерах моих клиентов?

У меня нет возможности проверить это без изменения моих региональных настроек в Windows, которые я не собираюсь делать.

Спасибо.

+2

Если у вас есть сомнения, обратитесь к yyyy-MM-dd. –

+1

Укажите даты как даты, а не строки. – Comintern

+0

@ Адриан - Спасибо, хорошая идея – Absinthe

ответ

5

Вы не укажете формат, но значение . Форматы предназначены только для отображения.

Dim Date1 As Date 

' Set Date1 to some value. 
Date1 = DateSerial(2016, 10, 15) 

rs!YourDateField.Value = Date1 
+0

Спасибо за ответ. Конечно, я понимаю, но что, если дата (dd/mm/yyy) - это что-то вроде 01/02/2016? С моими региональными настройками вернется DateSerial (2016, 2, 1). Если в США он вернется 02/01/2016? Страница MSDN для DateSerial не является конкретной. – Absinthe

+2

@Absinthe * format * является ** представлением ** значения 'Date'; это НЕ значение. Пока у вас есть значения 'Date'' As Date', вам не нужно беспокоиться о его представлении. –

+2

@Absinthe - 'DateSerial' не имеет ничего общего с региональными настройками. Требуются конкретные аргументы года, месяца, дня. – Comintern

Смежные вопросы