我在Access上运行查询,虽然它警告我关于空字段,但它仍然可以运行查询并添加行。
但是,当我在VB.NET中运行JET时,它会说“条件表达式中的数据类型不匹配”。
JET是否有办法像Access一样(即仍然运行查询并添加行)?
我知道我可以在VB.NET中将字段转换为正确的类型并循环,但我没有时间,因为我需要在许多不同的查询中执行此操作。
感谢您的帮助
答案 0 :(得分:0)
我会开始查看您有条件的字段,然后在查询中创建select语句,以便将空值更改为可接受的类型(尝试IsNull或NZ)或执行派生表(子查询)在处理标准之前消除空值。
例如
SELECT TextField, DateField, OtherField
FROM Table
WHERE TextField='something' And Datefield=#2/11/2011#
这是一个派生表解决方案:
SELECT TextField, DateField, OtherField
FROM (
SELECT TextField, DateField, OtherField
FROM Table
WHERE TextField Is Not Null And Datefield Is Not Null
) AS aTable
WHERE TextField='something' And Datefield=#2/11/2011#
原则上你可以说:
SELECT nz(Table.TextField,'') AS TextField...
希望有所帮助