我一直在尋找一段時間,看看是否有可能通過使用表單中的查找字段來限制報告中的結果。首先,有一點上下文。我正在製作一個數據庫來存儲聯盟大學的建築物的可訪問性信息。我需要能夠生成一份報告,顯示建築物具有哪些用戶選擇的質量,如坡道入口或人員招待會。使用查閱字段過濾在Access中的報告或查詢
我已將所有這些功能存儲在自己的表中,以便用戶可以編輯它們,然後使用查找字段爲建築物選擇這些功能。現在的問題是運行查詢來生成報告。 如果我在...WHERE [Buildings].[Accessibility Features].Value = 2 AND [Buildings].[Accessibility Features].Value = 8;
這樣的查詢中對值進行硬編碼,我會得到明智的結果。如果我使用IN()
函數(我有使用DoCmd.OpenReport()
功能與外地工作),我得到返回的有要麼功能2 或功能8這是不是很方便所有的建築物。前面提到的DoCmd.OpenReport()
函數在串聯AND語句時看起來不起作用。
我使用VBA如下組裝SQL代碼(喂參數成適當的語句開頭的標準箱)的嘗試:
If Me.BuildingFeatSelect.ItemsSelected.Count = 0 Then
MsgBox "Must select at least one feature"
Exit Sub
End If
Set ctl = Me.BuildingFeatSelect
For Each varItem In ctl.ItemsSelected
strWhere = strWhere & ctl.ItemData(varItem) & " AND Buildings.[Accessibility Features].Value = "
Next varItem
strWhere = Left(strWhere, Len(strWhere) - 48)
MsgBox strWhere, , Output
Dim qdf As QueryDef
Dim rst As Recordset
Set qdf = CurrentDb.QueryDefs("Copy of Building Features 2")
qdf.Parameters(0) = strWhere
Set rst = qdf.OpenRecordset
rst.Close
qdf.Close
Set rst = Nothing
Set qdf = Nothing
這讓我無處快。它只是拋出一個關於參數類型的錯誤。我試過使用參數窗口設置類型,但這不起作用。
有沒有一種有效的方法來根據查找框中的多個條目生成報告?
感謝您的幫助,並對長期問題抱歉。
嗨,而不是左側使用修剪功能。此外,您的[輔助功能]數字或字符串? – Lybren