Доступ к формату даты выпуска - PullRequest
0 голосов
/ 08 ноября 2018

У меня проблемы с некоторыми данными, которые я получаю в Access из базы данных DB2. I Запрос работает нормально и создает таблицу в доступе для экспорта в Excel. Однако мои даты отображаются в виде 7-значной даты 1181108, а при экспорте в Excel формат отображается как «181108». Я перепробовал все, что знаю, чтобы изменить формат даты в Access, чтобы она правильно экспортировалась, но я в растерянности. Смена текста с короткой даты дает мне странную дату, как в 1 сентября 513 года. Я знаю, что я что-то здесь упускаю. Я довольно новичок в VBA и Access и был бы признателен в этом направлении. Спасибо, что поделились своими знаниями.

Позвольте мне отредактировать мой вопрос, добавив оператор SQL: ниже приведен мой запрос. Не уверен, где вставить часть формата даты. Статистические данные SQL сбрасывают данные в таблицу

 rs.Open "SELECT ITEMBL.HOUSE, SLQNTY.LLOCN, ITMRVA.ITNBR, ITMRVA.ITDSC, SLQNTY.LQNTY, ITEMBL.MOHTQ, ITMRVA.ITCLS,ITEMBL.PLANIB,ITMRVA.ITTYP,SLQNTY.FDATE, ITEMBL.SCPDT,ITMRVA.UCDEF " _
         & " FROM AMFLIBG.ITEMBL ITEMBL, AMFLIBG.ITMRVA ITMRVA, AMFLIBG.ITMRVB ITMRVB, AMFLIBG.SLQNTY SLQNTY " _
         & " WHERE SLQNTY.HOUSE = ITEMBL.HOUSE And SLQNTY.ITNBR = ITEMBL.ITNBR And ITMRVB.ITNBR = ITMRVA.ITNBR And ITMRVB.ITRV = ITMRVA.ITRV And ITMRVB.STID = ITMRVA.STID " _
         & " AND SLQNTY.ITNBR = ITMRVA.ITNBR AND ((ITEMBL.HOUSE='CYP') AND (ITMRVA.STID='003') AND (ITMRVA.CFST='CUR') AND (SLQNTY.LLOCN ='ADJUST'))", CYP_AdjConn



'Loop through IBM data and for each record found, add it to the local table
Do Until rs.EOF
    rsLocal.AddNew
        rsLocal("Whs") = rs("HOUSE")
        rsLocal("Location") = rs("LLOCN")
        rsLocal("Item") = rs("ITNBR")
        rsLocal("Description") = rs("ITDSC")
        rsLocal("On-Hand") = rs("MOHTQ")
        rsLocal("On-Hand2") = rs("LQNTY")
        rsLocal("Default Cost") = rs("UCDEF")
        rsLocal("Class") = rs("ITCLS")
        rsLocal("Planner") = rs("PLANIB")
        rsLocal("I/T") = rs("ITTYP")
        rsLocal("FIFO") = rs("FDATE")
        rsLocal("Date of last scrap") = rs("SCPDT")
    rsLocal.Update
rs.MoveNext
Loop

1 Ответ

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

Похоже на текстовые даты. Преобразуйте их (в запросе) в значения истинной даты перед попыткой экспорта в Excel, удалив первые 1:

TrueDate: DateSerial(Mid([TextField], 2, 2), Mid([TextField], 4, 2), Mid([TextField], 6, 2))

"1181108" -> 2018-11-08

Если в поле указано «SCSDT», а «Дата последнего удаления» относится к типу данных «Дата», это может быть:

If Val(rs("SCPDT")) = 0 Then
    rsLocal("Date of last scrap") = Null
Else
    rsLocal("Date of last scrap") = DateSerial(Mid(rs("SCPDT"), 2, 2), Mid(rs("SCPDT"), 4, 2), Mid(rs("SCPDT"), 6, 2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...