点击下载此附件
Function strlist(ctl As Control) As String
Dim A
Dim i As Long
Dim str As String
str = "False"
A = Split(ctl.Value, " ")
For i = 0 To UBound(A, 1)
A(i) = "[" & ctl.Name & "] Like '*" & A(i) & "*'"
str = str & " or " & A(i)
Next
strlist = str
End Function
Private Sub Command42_Click()
On Error GoTo Err_Command42_Click
'刘小军(Alex) 2003-5-22
'这里将使用DAO来改变查询的SQL语句,必须先在“工具”→“引用”中选择
'Microsoft DAO 3.6 Object Library.
'================================
Dim qdf As DAO.QueryDef 'qdf被定义为一个查询定义对象
Dim strWhere, strSQL As String
strWhere = Me.[表格查询子窗体].Form.Filter
If strWhere = "" Then
'没有条件
strSQL = "SELECT * FROM [表格]"
Else
'有条件
strSQL = "SELECT * FROM [表格] WHERE " & strWhere
End If
Set qdf = CurrentDb.QueryDefs("查询结果")
qdf.SQL = strSQL
qdf.Close
Set qdf = Nothing
DoCmd.OutputTo acOutputQuery, "查询结果", acFormatXLS, , True
Exit_Command42_Click:
Exit Sub
Err_Command42_Click:
MsgBox Err.Description
Resume Exit_Command42_Click
End Sub
Private Sub Command9_Click()
Dim strWhere As String
strWhere = "true"
If Not IsNull(Me.区域名称) Then
strWhere = strWhere & " AND (" & strlist(Me.区域名称) & ")"
End If
If Not IsNull(Me.订单日期开始) Then
strWhere = strWhere & " AND ([订单日期] >= #" & Format(Me.订单日期开始, "yyyy-mm-dd") & "#)"
End If
If Not IsNull(Me.订单日期截止) Then
strWhere = strWhere & " AND ([订单日期] <= #" & Format(Me.订单日期截止, "yyyy-mm-dd") & "#)"
End If
Me.表格查询子窗体.Form.Filter = strWhere
Me.表格查询子窗体.Form.FilterOn = True
End Sub