Региональный формат даты при обновлении набора записей в VBA

#vba #ms-access

#vba #ms-access

Вопрос:

Я живу в Великобритании и разрабатываю базу данных Access 2016 для клиента в США.

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

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

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

Спасибо.

Комментарии:

1. Если вы сомневаетесь, выберите гггг-ММ-дд.

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

3. @ Adrian — Спасибо, хорошая идея

4. @ Comintern — это даты

Ответ №1:

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

 Dim Date1 As Date

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

rs!YourDateField.Value = Date1
  

Комментарии:

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

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

3. @Absinthe — DateSerial не имеет ничего общего с региональными настройками. Он принимает конкретные аргументы года, месяца, дня.

4. Страница MSDN для DateSerial очень специфична для этого; три параметра определяют результирующее значение даты.