#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 очень специфична для этого; три параметра определяют результирующее значение даты.