标题: 关于查询 [打印本页] 作者: daxin1 时间: 2011-12-22 20:11 标题: 关于查询 Function 查询()
Dim strWhere As String
'如果姓名不为空,则将其加入到条件字符串
If Not IsNull(Me.部门) Then strWhere = strWhere & " AND 部门='" & Me.部门 & "'"
'如果性别不为空,则将其加入到条件字符串
If Not IsNull(Me.问题种类) Then strWhere = strWhere & " AND 问题种类='" & Me.问题种类 & "'"
'如果籍贯不为空,则将其加入到条件字符串
If Not IsNull(Me.操作者) Then strWhere = strWhere & " AND 操作者='" & Me.操作者 & "'"
' If Not IsNull(Me.time1) Then strWhere = strWhere & " AND 部门='" & Me.部门 & "'"
If Not IsNull(Me.time1) Then strWhere = strWhere & "([日期] >= #" & Format(Me.time1, "yyyy-mm-dd") & "#) AND "
'【进书日期开始】有输入
'End If
'If Not IsNull(Me.time2) Then
'【进书日期截止】有输入
'strWhere = strWhere & "([日期] <= #" & Format(Me.time2), "yyyy-mm-dd") & "#) AND "
'这里为了判断简便,最前面必定会有一个“ AND ”,这是不需要的,这里去掉它
strWhere = Mid(strWhere, 6)
'设置子窗体的筛选器条件
Me.Quality.Form.Filter = strWhere
'应用筛选
Me.Quality.Form.FilterOn = True
End Function
怎么会呢作者: wu8313 时间: 2011-12-23 15:49
把下图中红色框框选中的部分,换成 我给你的图片的内容就可以了。
[attach]47782[/attach]作者: daxin1 时间: 2011-12-23 18:10
请版本帮我看下例子
我已经上传上来了
看看错在那里
谢谢作者: Henry D. Sy 时间: 2011-12-23 18:23
Function 查询()
Dim strWhere As String
'如果姓名不为空,则将其加入到条件字符串
If Not IsNull(Me.姓名) Then strWhere = strWhere & "姓名='" & Me.姓名 & "' AND "
'如果性别不为空,则将其加入到条件字符串
If Not IsNull(Me.性别) Then strWhere = strWhere & "性别='" & Me.性别 & "' AND "
'如果籍贯不为空,则将其加入到条件字符串
If Not IsNull(Me.籍贯) Then strWhere = strWhere & "籍贯='" & Me.籍贯 & "' AND "
'这里为了判断简便,最前面必定会有一个“ AND ”,这是不需要的,这里去掉它
'strWhere = Mid(strWhere, 6)
If Not IsNull(Me.time1) Then strWhere = strWhere & "([日期] >= #" & Format(Me.time1, "yyyy-mm-dd") & "#) AND "
If Not IsNull(Me.time2) Then strWhere = strWhere & "([日期] <= #" & Format(Me.time2, "yyyy-mm-dd") & "#) AND "
If Len(strWhere) <> 0 Then
'有输入条件
strWhere = Left(strWhere, Len(strWhere) - 5)
End If
'先在立即窗口显示一下strWhere的值,代码调试完成后可以取消下一句
' Debug.Print strWhere
'设置子窗体的筛选器条件
Me.frmChild.Form.Filter = strWhere
'应用筛选
Me.frmChild.Form.FilterOn = True
End Function
复制代码
作者: daxin1 时间: 2011-12-23 18:42
[attach]47786[/attach]作者: Henry D. Sy 时间: 2011-12-23 18:45
什么意思,
你红色图中的描述是要求呢,或是存在的问题?
我刚才测试过正常呀!作者: daxin1 时间: 2011-12-23 18:53
{:soso_e115:}时间还是不能用啊作者: Henry D. Sy 时间: 2011-12-23 19:21
把各个控件的更新后事件去掉,改为按钮事件,因为两个时间不是更新是赋值!作者: Henry D. Sy 时间: 2011-12-23 19:22
Henry D. Sy 发表于 2011-12-23 19:21
把各个控件的更新后事件去掉,改为按钮事件,因为两个时间不是更新是赋值!
[attach]47788[/attach]
作者: daxin1 时间: 2011-12-23 20:03
弱弱的问一句 能不能写成用更新事件啊作者: Henry D. Sy 时间: 2011-12-23 20:41
可以,就把两个时间用手工输入作者: daxin1 时间: 2011-12-23 20:53
谢谢版本