我从DB2数据库中提取Access中的某些数据时遇到问题。 I查询工作正常,并在访问中创建表以导出到Excel。但是,我的日期显示为7位日期1181108,当导出到Excel时,格式显示为'181108。我已经尝试了所有我知道的方法来更改Access中日期的格式,以便它可以正确导出,但是我很茫然。将其从文本更改为短日期只能像9/1/5133中那样给我一个怪异的日期。我知道我在这里想念什么。我在VBA和Access上还很新,很高兴在此方面朝正确的方向发展。感谢您分享您的知识。
让我通过添加SQL语句来编辑我的问题:以下是我的查询。不知道在哪里插入日期格式部分。 'SQL'语句tp删除表中的数据
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
答案 0 :(得分:0)
似乎是文本日期。通过删除开头的1:
,在尝试导出到Excel之前将这些(在查询中)转换为真实的日期值。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))