在标准模块中写入下列函数,再在“查询内容”变更事件中调用。如:
Sub subCX(objWinName As Object, Optional objTxtName As Object, _
Optional strStartDate As String, Optional strEndDate As String)
Dim strWhere As String
Dim ctl As Control
Dim ctlname As String
objTxtName.SetFocus
strWhere = Trim$(objTxtName.Text)
If strWhere = "" Then
strWhere = True
Else
For Each ctl In objWinName.Form.Controls
If TypeOf ctl Is TextBox Then
ctlname = ctlname & "[" & ctl.Name & "] & "
End If
Next
ctlname = Left(ctlname, Len(ctlname) - 3)
strWhere = "" & ctlname & " like '*" & strWhere & "*'"
End If
If Nz(strStartDate, "") <> "" Then
strWhere = "(" & strWhere & ") and 外出日期 >=#" & strStartDate & "#"
End If
If Nz(strEndDate, "") <> "" Then
strWhere = "(" & strWhere & ") and 外出日期 <=#" & strEndDate & "#"
End If
objWinName.Form.Filter = strWhere
objWinName.Form.FilterOn = True
End Sub
调用时的事件函数:
Private Sub 查询内容_Change()
subCX Me.Child1, Me.查询内容, Nz(Me.开始日期, ""), Nz(Me.结束日期, "")
End Sub
Private Sub cmd查询_Click()
Dim wh As String
Dim AllFildStr As String
wh = "True"
If IsNull(Me.开始日期.Value) = False Then
wh = wh & " and 外出日期>=#" & Me.开始日期.Value & "#"
End If
If IsNull(Me.结束日期.Value) = False Then
wh = wh & " and 外出日期<=#" & Me.结束日期.Value & "#"
End If
AllFildStr = CStr(Nz([外出人])) & CStr(Nz([驾驶员])) & CStr(Nz([车牌号]))
If IsNull(Me.查询内容.Value) = False Then
wh = wh & " and " & AllFildStr & " like *'" & Me.查询内容.Value & "'*"
End If
Me.外出申请明细.Form.Filter = wh
Me.外出申请明细.Form.FilterOn = True
End Sub
这是完整的代码,看看是否对,我这里报错,说找不到引用的字段“/”
发个附件
AllFildStr = “CStr(Nz([外出人])) & CStr(Nz([驾驶员])) & CStr(Nz([车牌号]))”
点击下载此附件 附件已上传,请看一下哪里有问题。谢谢
点击下载此附件
like *'" & Me.查询内容.Value & "'*"
写反了一个符号 就写成
like '*" & Me.查询内容.Value & "*'"
感谢zhaoyoulong老师的帮助,
现在还有一个问题,如图:
1、付款情况中选择全部,没有效果,不能显示全部数据。
2、我想要付款情况在对应起止日期中进行筛选。不知道是否可行。谢谢
点击下载此附件
去掉红色代码
' If FilterStr <> "" Then
Me.采购合同列表.Form.Filter = FilterStr
Me.采购合同列表.Form.FilterOn = True
'End If
点击下载此附件
谢谢,第一个问题解决了。第二个问题还没解决,我的目的是:比如我的开始日期从2013年1月1日-结束日期2013年1月31日之间筛选付款情况,就是和其他现有的筛选条件类似的效果。
没明白
就是比如说我要在2013年1月1日-1月31日之间筛选出已付款或者未付款情况,但是我现在如果选择已付款或者未付款的话,是在所有时间段中筛选的。我要根据所选的日期来进行筛选。谢谢
我都搞糊涂了,你到底要哪个查询呢?
是派车的还是关于合同的?
合同。12楼的那个。
点击下载此附件
和以上方法雷同
非常感谢你的帮助。
总记录:20篇 页次:1/1 9 1 :