我有一個包含 3 個串列框的表單,它們將根據查詢中的選定專案過濾我的報告 我對組合框使用了以下條件,我在串列框上嘗試了它,但它不起作用!
Like [Forms]![Statusfrm]![FieldCombo] & "*"
有什么建議嗎?


我也試過了,但是當我選擇一個選項時,它沒有顯示相同選項的記錄!
Private Sub Command26_Click()
On Error GoTo ControlError
Set ctl = Me.Combo22 'frm!Combo22
Set ctl2 = Me.Combo24
'Set rpt = Foms!rpt
If Me.Combo22.ListIndex <> -1 Then 'And Me.Combo24.ListIndex <> -1
miFiltro = "id in("
For Each varItm In ctl.ItemsSelected
'miFiltro = miFiltro & "'" & varItm & "',"
miFiltro = miFiltro & varItm & ","
'Lista27.AddItem varItm
'ctl.ItemData (varItm)
Next varItm
miFiltro = Mid(miFiltro, 1, Len(miFiltro) - 1)
miFiltro = miFiltro & ")"
'MsgBox (miFiltro)
If miFiltro <> "" Then
DoCmd.OpenReport "Rpt", acViewPreview, , miFiltro
miFiltro = ""
End If
'Aplicamos el filtro al formulario
'Me.Filter = miFiltro
'Me.FilterOn = True
Else
MsgBox ("Please select data")
Me.Combo22.SetFocus
End If
'DoCmd.OpenReport "Rpt", acPreview, , Me.Filter
ControlError:
MsgBox "Encontré el error" & Err.number & " " & Err.Description
End Sub
uj5u.com熱心網友回復:
您可以將您的報告更改為基于固定的資料庫查詢。當用戶單擊“查看報告”按鈕時,添加代碼:
Dim strSQL As String
strSQL = "SELECT * FROM YourTable WHERE [Place] = '" Me!Statusfrm "'"
CurrentDB.QueryDefs("TheAccessQueryObjectTheReportIsBasedOn").SQL = strSQL
DoCmd.OpenReport "YourReport"
在此模型中,您在 Access DB 容器級別設定 Query 物件的 SQL,然后打開報表。您可以通過這種方式更輕松地除錯您的 VBA 代碼,而不是依賴帶有參考表單的運行時引數的 RecordSource 查詢。如果您愿意,也可以在打開報表之前關閉表單。
strSQL 變數的 WHERE 條件可以根據用戶的輸入(或缺少輸入)建立。例如:
If Nz(First(Me!categoryListBox.SelectedItems).Value,"") <> "" Then
strSQL = strSQL " AND [Category] = '" Me!categoryListBox.SelectedItems).Value "'"
End
If Nz(First(Me!placeListBox.SelectedItems).Value,"") <> "" Then
strSQL = strSQL " AND [Place] = '" Me!placeListBox.SelectedItems).Value "'"
End
此外,您的串列框是否系結到 ID 或所選專案的文本?您可能會得到一個 ID 與您嘗試使用星號通配符的文本。串列框可以有多個選擇,因此您需要禁用它,或者執行以下操作:
strSQL = "SELECT * FROM YourTable WHERE [Place] = '" First(Me!statusfrm.SelectedItems).Value "'"
如果用戶只能選擇一個值,組合框是更好的選擇。無論哪種方式,通過在 VBA 中構建使用表單值的 SQL 陳述句,您可以更輕松地除錯 SQL 的語法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/497034.html
標籤:毫秒访问 列表框 ms-access-2010 标准 列表框项
