MS Access SQL Query语句

时间:2015-10-17 15:52:25

标签: sql forms ms-access

此声明需要获取一些朋友的电子邮件列表以供志愿者使用。我需要WHERE子句从复选框列表中返回只有那些带有电子邮件的志愿者。以下代码仅在选中IsVolunteer复选框并选中Has a Email时才有效。 SQL语句有什么问题?

所以结果应该像...... 比尔特纳... bturner@gmail.com ...并在表格中显示那些已检查过的志愿者项目。只有拥有电子邮件的人才应该在这个视图中。

If Abs(Me.hasEmailCkb.Value) = 1 And Abs(Me.CheckIsVol.Value) = 1 Then
VolToEMail = "Select * from [Members] where ([Food] = true Or [Setup] = true Or [Carpool] = true Or [Mail] = true AND [Email] <> NULL) Order By [LName] ASC"
Me.Members_subform.Form.RecordSource = VolToEMail

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

AND

之前需要使用括号
Select *
from [Members]
where ([Food] = true Or [Setup] = true Or [Carpool] = true Or [Mail] = true) AND 
      ([Email] IS NOT NULL)
Order By [LName] ASC;

请注意,<> NULL应为IS NOT NULL<> NULL将始终返回NULL,将其视为false。

答案 1 :(得分:0)

AND [Email] <> NULL

这不起作用。你需要使用:

AND [Email] IS NOT NULL