尝试在访问时使用vba将日期从表插入另一个表,但表中的一个日期值为空。因此,在将日期插入新表时,它会显示无效使用空例外 运行时错误94 。
答案 0 :(得分:0)
您可以使用NZ()函数来定义应该使用的值而不是NULL。在内部,日期是浮点值,其中数字表示从01.01.1900到应存储的日期之间的天数。小数点后面的部分表示小时/分钟(.25例如是早上6点)。因此,您可以使用NZ()函数替换NULL bei 0(将被解释为01.01.1900)。
另一种解决方案是以允许NULL值的方式配置目标表。您可以在表格的设计视图中轻松完成此操作。
答案 1 :(得分:0)
我想我弄清楚了,将变量声明为字符串。然后检查表中的值是否为空,然后为其指定null。另外明智地从表中指定值。
例如
Dim newdate As String
检查提取的值是否为空
If IsNull(rst![value]) Then
newdate = "null"
Else
newdate = rst![value]
End If
答案 2 :(得分:0)
我遇到了这个问题并以这种方式解决了。
SQL = "update mytable set mydatefield = '" & txtdate & "'"
在表单上的txtdate
上,添加日期格式以确保日期为实际日期或仅为空白。
答案 3 :(得分:0)
如果编写DAO代码来清除Date字段,我发现我必须使用" Empty"。空和""不会工作。所以对于字段dtmDelivery(类型日期),我不得不使用以下内容。 strDelivery只是一个包含日期的字符串。
Set rst = dbs.OpenRecordset("tblSomething", dbOpenDynaset)
If (strDelivery = "") Then
rst!dtmDelivery = Empty
Else
rst!dtmDelivery = strDelivery
End If
rst.Update