MS-Access 避免从表单字段 Word 文档导入空字段

标签 ms-access vba import ms-word form-fields

我正在尝试将我创建的表单字段 Word 文档中的字段导入到 MS-Access 表中。导入工作正常,除非日期字段之一为空,然后抛出类型不匹配错误。如何避免出现此错误?

Dim rst As New ADODB.Recordset
With rst
    .AddNew
    !BPRid = doc.FormFields("frmBPRid").Result
    If Not IsNull(doc.FormFields("frmReceiptDate").Result) Then
    !ReceiptDate = doc.FormFields("frmReceiptDate").Result
    End If    
    .Update
    .Close
End With

我尝试将其包装在 if 语句中,如上所示,但它似乎无法将该字段识别为空。任何帮助,将不胜感激。提前致谢。

最佳答案

我怀疑它可能是一个零长度字符串(“”)。

您可能喜欢使用 IsDate。

If IsDate(doc.FormFields("frmReceiptDate").Result) Then
   !ReceiptDate = doc.FormFields("frmReceiptDate").Result
End If   

对于其他数据类型,您可以检查零长度字符串和空格填充字段,如下所示:

If Trim(doc.FormFields("frmReceiptDate").Result & "") <> vbNullString

关于MS-Access 避免从表单字段 Word 文档导入空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11615527/

相关文章:

sql - MS Access 复杂分组和求和

c# - 如果我不想要类型安全怎么办?

CustomOrder 上的 VBA 类型不匹配

java - 抑制 Java 中不推荐使用的导入警告

mysql - 将TAB文件导入MYSQL : I get null values for my attributes except the first column

sql - 显示具有相关性数据的每个组的最高结果?

c# - 如何将数据插入 Microsoft Access 数据库?

ms-access - Access 2007 中的 DAO 中出现奇怪的字段分配问题

vba - 循环遍历所有图表并更改标签格式vba

c++ - std::cin 适用于少量行,但不适用于较大行