Почему этот запрос INSERT вставляет значение времени, а не дату? - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть поле в базе данных MS-Access, показанное ниже.

enter image description here

Когда я запускаю этот запрос к базе данных (изПриложение VB6 или непосредственно как запрос)

INSERT INTO [stockQuantities] ([stockCode], [description], [productGroup], [qtyFrom], " & _
"[price], [dateQuoted]) VALUES (" SOS ", "SOS SAND FOR COSTING ONLY", "COS", 10, " & _
"6.34, 01/12/2018);

Окончательное значение для dateQuoted вместо этого вставляется как 00:00:04.Когда я изменяю формат на Short Date, он вставляется как 30/12/1899.

Почему моя дата не вставляется в правильном формате?Проблема в поле или в запросе?

1 Ответ

0 голосов
/ 24 декабря 2018

Даты в Access SQL должны быть разделены окто-типами в формате мм / дд / гггг или гггг-мм-дд.

Ваш запрос должен выглядеть следующим образом (при условии, что вы хотите вставить первыйза декабрь):

INSERT INTO [stockQuantities] ([stockCode], [description], [productGroup], [qtyFrom], " & _
"[price], [dateQuoted]) VALUES (" SOS ", "SOS SAND FOR COSTING ONLY", "COS", 10, " & _
"6.34, #12/01/2018#);

Однако вам также разрешено вставлять числовые значения, которые являются значениями в днях, смещенными от 1899-12-30.Ваш запрос вставки только что вставил 1, деленное на 12, деленное на 2018, что является значением 4,388E-05 и соответствует 4 секундам от контрольной даты Access.

Если дата для столбца даты и времени равнаравный контрольной дате, Access отображает только часть времени.

...