如何在Excel VBA中处理空值

时间:2015-10-26 17:38:38

标签: excel excel-vba vba

我必须使用Excel VBA从Excel 2007更新相当大的Access 2007表(18个字段)。问题是行中的许多字段都没有任何价值,并且创建一个算法来更改SQL语句将是巨大的,即确定每行必须在UPDATE语句中的哪些字段等等。所以我的问题是它可以吗是否可以处理空的Excel单元格以包含在SQL更新语句中?访问数据库中的一些目标字段也是日期字段和数字,所以我该如何处理这些?

我已经尝试检查单元格是否为空并指定null或空值,如;

variablename = Null or Empty or "" or 0 if an integer

例如

If Not IsEmpty(ws.Cells(i, 7).value) Then
    dteEndDate = DateValue(ws.Cells(i, 7).value)
Else
    dteEndDate = Empty
End If

1 个答案:

答案 0 :(得分:0)

找到了处理这个特定表的不同方法。我没有使用UPDATE,而是在相关表中为表中的主键运行了一个查询,然后将这些查询与要更新的行进行匹配,发现它们只是两条不需要更新的记录。所以我重命名了Access表并删除了关系。然后只是将Excel工作表作为新表导入Access,但为其提供了相关表的先前名称。然后我添加了关系并使用SQL来插入工作表中没有的两个记录