简单的访问查询

时间:2013-02-19 17:06:18

标签: ms-access access-vba

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

比方说,我有四个字段:数字1-26,字母A-Z,26个名字和26个城市,所以一条记录可能是:2,B,Jane,New York

我想用以下内容创建并保存新查询: 数字字段,字母字段和名称字段。我希望在“A”或“B”上过滤字母字段,并且名字字段有一个表达式,所以它总是为0。

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

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

1 个答案:

答案 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