Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 移动日期以访问表字段-打印的日期不正确_Ms Access_Vba - Fatal编程技术网

Ms access 移动日期以访问表字段-打印的日期不正确

Ms access 移动日期以访问表字段-打印的日期不正确,ms-access,vba,Ms Access,Vba,将CurrentDate和LastDayOfMonth移动到Access中的表进行数据处理时遇到一些问题 Dim CD As Date Dim LDOM As Date CD = DateSerial(Year(Date), Month(Date), Day(Date)) 'Format(Now(), "mm-dd-yyyy") LDOM = DateSerial(Year(Date), Month(Date) + 1, 0) 'Add Dates CurrentDb.Execute "UP

将CurrentDate和LastDayOfMonth移动到Access中的表进行数据处理时遇到一些问题

Dim CD As Date
Dim LDOM As Date

CD = DateSerial(Year(Date), Month(Date), Day(Date))
'Format(Now(), "mm-dd-yyyy")
LDOM = DateSerial(Year(Date), Month(Date) + 1, 0)

'Add Dates
CurrentDb.Execute "UPDATE tblProcess " & _
"SET tblProcess.[CurrentDate] = " & CD


CurrentDb.Execute "UPDATE tblProcess " & _
"SET tblProcess.[DueDate] = " & LDOM

Debug.Print CD
Debug.Print LDOM
每次我调试.Print时,无论是公式还是变量,结果总是正确的

但我的表格上显示的两个字段都是“12/30/1899”,有人能帮忙吗?简单测试一下:

CurrentDb.Execute "UPDATE tblProcess" _
  & " SET tblProcess.[CurrentDate] = #" & Format(CD, "yyyy-mm-dd")  & "#;"
您的原始代码使用如下SQL:

UPDATE tblProcess SET tblProcess.[CurrentDate] = 12/03/2013
这对访问日期时间字段不好

相反,我们需要最终访问SQL字符串:

  UPDATE tblProcess SET tblProcess.[CurrentDate] = #2013-12-03 22:00:13#;
请停止为这么小的贡献投票,我还没有说最后一句话,对于SQL Server,我们必须使用:
尽管Access和SQL Server都是Microsoft的。

这是一个非常简单的解决方案。。。我觉得自己很愚蠢,因为我不知道这个关于日期的标签的必要性。谢谢Jacouh。Access DateTime格式中存在大量错误,您不是唯一的。。。我们都从这句话中通过了。re:“请停止投票”——这是我第一次看到这句话回复:“对于SQL Server”-(1)请不要包含无关信息;这只是混淆了问题。(2) 另外,据我所知,SQLServer不使用反勾号作为表/列分隔符(即MySQL)。只要用访问答案回答访问问题,就可以了。@Gord Thompson,如果字段名中没有空格,则不需要反勾号。你刚才看到了。@Gord Thompson嘿嘿现在-我喜欢一个很好的解释:)这就是我们如何从错误中学习,像我这样的人停止发布这些30秒的问题。谢谢大家
CD=Date()
DateSerial
更简单,并将为您提供相同的值。
  UPDATE tblProcess SET CurrentDate = '2013-12-03T22:00:13';