ms-access - MSAccess : Null vs '' - driving me crazy

标签 ms-access vba

我有一个包含 2 个嵌入子表单的表单。

subform_1 上的点击事件设置 subform_2 的记录源,引用所选 subform_1 记录(所有文本字段)中的 5 个属性。

strSQL = "SELECT Table_1.* FROM Table_1 " & _
    "WHERE (((Table_1.Attr_A)= '" & Forms![mainform]![subform_1]![attr1] & "') " & _
    "AND ((Table_1.Attr_B) = '" & Forms![mainform]![subform_1]![attr2] & "') " & _
    "AND ((Table_1.Attr_C) = '" & Forms![mainform]![subform_1]![attr3] & "') " & _
    "AND ((Table_1.Attr_D) = '" & Forms![mainform]![subform_1]![attr4] & "') " & _
    "AND ((Table_1.Attr_E) = '" & Forms![mainform]![subform_1]![attr5] & "'));"
Forms![mainform]![subform_2].Form.RecordSource = strSQL

我的问题是,某些记录可能在 5 个必需的属性中具有 NULL 值,这是有效条件。当 subform_1 值为 NULL 时,周围的 '' 会导致集合中出现 (0) 条记录。

有什么建议可以有效处理 subform_1 中的 NULL 条件吗?

最佳答案

如果您只考虑Table_1.Attr_A,我想您是说您想要这个...

"SELECT t1.* FROM Table_1 AS t1 " & _
"WHERE (t1.Attr_A & '') = '" & Forms![mainform]![subform_1]![attr1] & "'"

如果正确,请根据 Attr_B 为下一个条件添加 AND

"SELECT t1.* FROM Table_1 AS t1 " & _
"WHERE " & _
"(t1.Attr_A & '') = '" & Forms![mainform]![subform_1]![attr1] & "'" & _
" AND (t1.Attr_B & '') = '" & Forms![mainform]![subform_1]![attr2] & "'"

并从那里继续添加其余条件。

关于ms-access - MSAccess : Null vs '' - driving me crazy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21690674/

相关文章:

excel - 显示带有超时值的消息框

database - 插入错误 : Syntax error and Unknown field

sql - MS Access SQL - 如何使用一个 LIKE 运算符搜索多个字段

SQL 2表,先计数,按秒分组

sql - MS Access 报告中的 CountIf 公式

vba - 选择 A 列中最后使用的单元格,然后将其扩展到 H 列

excel - VBA从excel公式检测到特定结果时自动显示日期

excel - 粘贴时限定单元格中的 VBA 递增数

sql - odbc sql server 驱动程序通信链路失败

excel - 增加序列vba