我認爲我接近這個,但無法完成過濾過程。使用表單組合框將查詢過濾器應用於
tblIndex(PrimaryCat,SubCat,UserID,Year)
tblResults(SubCat,UserID)
我的表單有兩個組合框和一個按鈕。 ComboBox1具有tblIndex.PrimaryCat值,ComboBox2具有tblIndexYear值。
我想要的是當窗體中的命令按鈕被按下時,當組合框值被用作tblIndex上的過濾器時,tblResults打開顯示SubCat和UserID值的列表。
這是否有意義?
我將表單的記錄源設置爲tblResults。我用這個,只需要在過濾加莫名其妙:
Private Sub cmdGo_Click()
Dim strSQL As String
strSQL = "SELECT SubCat, UserID " & _
"FROM tblIndex " & _
"WHERE PrimaryCat = [strCat] AND Year = [strYear] " & _
"GROUP BY SubCat, UserID"
DoCmd.OpenQuery "strSQL"
End Sub
編輯:
我不知道,如果允許我回答我自己的問題,但我研究出瞭解決辦法。 I>使用INTO把結果到一個臨時表,我可以使用進一步操縱:
私人小組cmdGo_Click()
昏暗STRSQL作爲字符串
STRSQL = 「SELECT SUBCAT,用戶ID INTO tblTemp」 & _ 「FROM tblIndex」 & _ 「WHERE PrimaryCat = '」 & cboPrimaryCat.Value & 「 'AND年='」 &> cboYear.Value & _ 「' GROUP BY SUBCAT,用戶名」
DoCmd.RunSQL STRSQL
末次
我想,當初是你提到的同樣的原因,但得到運行時錯誤7874:Microsoft Access不能找到對象STRSQL「 – vbevan
取出「從DoCmd.OpenQuery」 STRSQL 「通過了,但是我得到了相同的運行時錯誤,但是這意味着它有SQL語句」SELECT Subcat ......「而不是」strSQL「作爲它找不到的對象 – vbevan
那是因爲strSQL是一個變量,你必須編寫DoCmd.OpenQuery strSQL,如果你寫了DoCmd.OpenQuery「strSQL」,Access會試着找到一個名字爲strSQL的查詢 – mnieto