解0人绝对是空值,因为你或来或去把空值也当做条件去了,我补充一下,在SQL语句里不能直接用控件Me.Check1的引用方法绝对会报错。
建立一个设置表,在表里依次写上所有条件就好了:
学历 | 条件
——————
小学 | Check1
---------
初中 | Check2
---------
高中 | Check3
---------
大学 | Check4
用VBA来实现吧,代码我给出:
Dim cnn As ADODB.ConnectionDim rs As ADODB.Recordset
Set cnn = CurrentProject.Connection
Set rs = New ADODB.Recordset
If Check1.Value=True Then
cnn.Excute "Update 设置表 set 学历='小学' Where 条件='Check1'"
else
cnn.Excute "Update 设置表 set 学历='' Where 条件='Check1'"
end if
....
'//继续写其他的
If Not rs.EOF Then
rs.Open "Select * from 表名称 INNER JOIN 设置表 ON 表名称.学历=设置表.学历", cnn
If Not rs.EOF Then
Chlid0.DataSource=rs
End if
单选按钮直接挨个访问 比如你这三个单选按钮的Name分别是 r1 r2 r3 r4那么就可以 if(r1.Checked){do sth} else if(r2.Checked){do sth}...因为这几个单选按钮在一个面板上所以是互斥的吧,复选框暂时想不起是什么来了,是复选按钮?也是挨个判断,如果做的话,这些最好做成一个数组,这样就可以用foreach了。
在窗体中吗?可以在设计视图中,把文本框删除,再添加一个复选框的控件,同时,把复选框的控件来源设置与文本框的一样即可.
只是,复选框只接受Boolean型数据,也就是只能是True/False、-1/0,这些.其它的不接受
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)