当我输入strDate = Date()
时,它会切换到strDate = date
,然后代码无法正常运行,因为它不知道“日期”指的是什么。这是一个全新的Access 2013数据库,只有一个表单,其中包含一个用于运行代码的按钮和一个只有一个字段的表来插入日期。
为此数据库检查的引用是:
Dim strDate As String
strDate = Date()
DoCmd.SetWarnings False
Dim strSQL As String
strSQL = "INSERT INTO Table1 VALUES ('" & strDate & "');"
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
由于您要在表中插入日期值,因此该值不应该用单引号括起来,否则数据将被解释为字符串。
类似地,Date
函数将返回日期值,因此您的变量strDate
应该是Date
类型而不是String
。
Date()
自动转换为Date
是预期的,并且仍将导致Date
函数被评估,没有参数;我相信这种转换是因为符号Date
也对应于数据类型。
但是,更简单的方法是直接在SQL代码中评估Date
函数,例如:
DoCmd.RunSQL "INSERT INTO Table1 VALUES (Date());"