我正在尝试在Access中创建一个查询。
比方说,我有四个字段:数字1-26,字母A-Z,26个名字和26个城市,所以一条记录可能是:2,B,Jane,New York
我想用以下内容创建并保存新查询: 数字字段,字母字段和名称字段。我希望在“A”或“B”上过滤字母字段,并且名字字段有一个表达式,所以它总是为0。
这将成为循环,因此它将创建13个查询(A / B,C / D等)。
似乎在VBA中使用此过程而不是Access宏构建器会更好,因为我不仅需要循环此过程,而且还需要2个类似的表(相同的字段名称,不同的值)运行它。
答案 0 :(得分:3)
您可以使用记录集在VBA中运行查询,然后使用其中的数据:
Sub YourQueries(ByVal pstrCol1 As String, ByVal pstrCol2 As String, ByVal pstrCol3 As String, ByVal pstrCol4 As String)
Dim rs As Recordset
Dim strSQL As String
' Change types above to match what's actually in the table
strSQL = "SELECT YourColumn1, YourColumn2, YourColumn3, YourColumn4 "
strSQL = strSQL & " WHERE "
strSQL = strSQL & "YourColumn1='" & pstrCol1 & "'"
strSQL = strSQL & " AND YourColumn1='" & pstrCol1 & "'"
strSQL = strSQL & " AND YourColumn1='" & pstrCol1 & "'"
strSQL = strSQL & " AND YourColumn1='" & pstrCol1 & "'"
Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
While Not rs.EOF
For i = 0 To 3
Debug.Print rs.Fields(i) & " is Column" & Format(i)
Next i
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
End Sub