【发布时间】:2014-10-29 14:38:21
【问题描述】:
我试图在访问中使用 vba 将日期从一个表插入另一个表,但表中的一个日期值是空白的。因此,在将日期插入新表时,它会显示 无效使用空异常 运行时错误 94。
【问题讨论】:
我试图在访问中使用 vba 将日期从一个表插入另一个表,但表中的一个日期值是空白的。因此,在将日期插入新表时,它会显示 无效使用空异常 运行时错误 94。
【问题讨论】:
如果编写 DAO 代码来清除 Date 字段,我发现我必须使用“Empty”。 Null 和 "" 不起作用。因此,对于字段 dtmDelivery(日期类型),我必须使用以下内容。 strDelivery 只是一个包含日期的字符串。
Set rst = dbs.OpenRecordset("tblSomething", dbOpenDynaset)
If (strDelivery = "") Then
rst!dtmDelivery = Empty
Else
rst!dtmDelivery = strDelivery
End If
rst.Update
【讨论】:
您可以使用 NZ() 函数来定义一个应该用来代替 NULL 的值。在内部,日期是一个浮点值,其中数字表示 01.01.1900 和应存储的日期之间的天数。小数点后面的部分代表小时/分钟(例如 0.25 是早上 6 点)。因此,您可以使用 NZ() 函数来替换 NULL bei 0(将被解释为 01.01.1900)。
另一种解决方案是以允许 NULL 值的方式配置目标表。您可以在表格的设计视图中轻松完成此操作。
【讨论】:
我想我明白了,将变量声明为字符串。然后检查表中的值是否为空,然后赋值为null。否则从表中赋值。
例如
Dim newdate As String
检查获取的值是否为空
If IsNull(rst![value]) Then
newdate = "null"
Else
newdate = rst![value]
End If
【讨论】:
我遇到了这个问题,就这样解决了。
SQL = "update mytable set mydatefield = '" & txtdate & "'"
在表单上的txtdate 上,输入日期格式以确保日期是真实日期或只是空白。
【讨论】: