【问】在员工表中,如何查询出大专及以上学历的人员?
【答】由于学历是小学、初中、高中、大专、本科、硕士、博士之类的文本,不能通过文本判断高低。
视频演示:http://t.qianliao.tv/SOYTbjQ3
示例下载:点击下载此附件
原理分析:
第一步:建立一个学历编码表【tbl学历】,并给每一个学历设置一个数值,这样就可以通过数值来判断等于或高于该学历,如下图所示:
第二步:建立一个查询【qry学历查询】,在查询中带上学历的数值,如下图所示:
第三步:组合框的行来源:
Select 学历, 数值 FROM tbl学历 orDER BY 数值 DESC;
2列,列宽:2cm;0cm
第四步:在组合框的更新后事件:
Private Sub cob学历_AfterUpdate()
Dim x As Long
'获得当前组合框学历对应的数值
x = Val(Me.cob学历.Column(1))
'如果是全部,则不显示标签
If x = 0 Then
Me.Label153.Visible = False
Else
Me.Label153.Visible = True
End If
'给子窗体赋上带条件的数据源
Me.sfrList.Form.RecordSource = "select * from qry学历查询 where 数值 >=" & x
Me.sfrList.Requery '刷新数据
End Sub