我有一个2嵌入子窗体的形式。MSAccess:零vs'' - 让我疯狂
subform_1上的on-click事件将subform_2的recordource设置为从所选subform_1记录(所有TEXT字段)引用5 attrs的记录源。
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个所需attrs中的NULL值,这是一个有效的条件。当subform_1值为NULL时,周围的“'导致集合中的(0)个记录。
有效处理subform_1中NULL条件的任何建议?
可你只需要使用'或NULL'每个ATTR可能是NULL? –
谢谢,这让我很接近,但返回所有5个Attrs都为空的有效条件,并且每个排列的Null和Not Null attr数据都是空的。 –
@Joe T是对的,你需要使WHERE子句看起来像: 其中(Attr_A ='xyz'或Attr_A为Null)AND(Attr_B ='abc'或Attr_B为空)..... –