0

我正在尝试在 Access 中创建查询。

例如,假设我有四个字段:数字 1-26、字母 AZ、26 个名称和 26 个城市,因此一条记录可能是:2, B, Jane, New York

我想创建并保存一个新查询:数字字段、字母字段和名称字段。我希望在“A”或“B”上过滤字母字段,并且名称字段具有表达式,因此它始终为 0。

这将成为一个循环,因此它将创建 13 个查询(A/B、C/D 等)。

与 Access 宏构建器相比,在 VBA 中使用此过程似乎会更好,因为我不仅必须循环此过程,而且还有 2 个类似的表(相同的字段名称,不同的值)需要运行它上。

4

1 回答 1

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
于 2013-02-19T19:37:49.080 回答