У меня есть VBA в Excel для передачи данных в MySQL, однако у меня есть проблемы с датой - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть VBA в Excel для передачи данных в MySQL, однако у меня есть проблемы с датой.Я получаю ошибку

Ошибка времени выполнения: 2147467259 (8004005): Неверное значение даты и времени: для функции str_to_date.

Это мой код:

sql = "Insert Into LeadBoard(Commodity,Last_Broadcast_Job,Material_to_Work, " _         & " Last_Picked_Job,Picked_Lead_Time,Last_Loaded_Job," _         & "Loaded_Lead_Time,Dispatch_Lead_Time,Last_Dispatched_Job," _         & "Out_of_Dock_Time,Last_Dispatched_Rack," _         & "Last_Dispatched_Trailer,Customer_Point_of_Install,Excel_date_time, calc_Material_to_work," _         & "calc_Load_Lead_Time, calc_Picked_Lead_Time,calc_Dispatch_Lead_Time) " _         & " VALUES (" & Commodity & "," & Last_Broadcast_Job & ",'" _         & Material_to_Work & "'," & Last_Picked_Job & ",'" _         & Picked_Lead_Time & "'," & Last_Loaded_Job & ",'" _         & Loaded_Lead_Time & "','" & Dispatch_Lead_Time & "'," _         & Last_Dispatched_Job & "," & "STR_TO_DATE('" & Out_of_Dock_Time & "', '%m/%d/%Y %h:%i:%s'  ) ," _         & Last_Dispatched_Rack & "," & Last_Dispatched_Trailer & "," _         & Customer_Point_of_Install & "," & "STR_TO_DATE('" & FILEDATETIME1 & "', '%m/%d/%Y %h:%i:%s' ) ," _         & calc_Material_to_work & "," & calc_Loaded_Lead_Time & "," & calc_Picked_Lead_Time & "," & calc_Dispatch_Lead_Time & ");"

1 Ответ

0 голосов
/ 15 ноября 2018

Ваша строка формата

'%m/%d/%Y %h:%i:%s'

неверно. Согласно документации об спецификаторах формата даты, %h представляет часы в 12-часовом формате (т.е. 01-12). Вместо этого вам нужно использовать %H для чтения 24 часа. Правильная строка формата

'%m/%d/%Y %H:%i:%s'

Нажмите здесь для демонстрации с использованием SQLFiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...