0

Access でクエリを作成しようとしています。

たとえば、1 ~ 26 の数字、AZ の文字、26 の名前、26 の都市の 4 つのフィールドがあるとします。したがって、1 つのレコードは 2、B、Jane、New York となる可能性があります。

数字フィールド、文字フィールド、名前フィールドを含む新しいクエリを作成して保存したいと考えています。文字フィールドを「A」または「B」でフィルタリングし、名前フィールドに式を付けて、常に0になるようにします。

これはループになるため、13 個のクエリ (A/B、C/D など) が作成されます。

このプロセスをループする必要があるだけでなく、実行する必要がある2つの同様のテーブル(同じフィールド名、異なる値)があるため、AccessマクロビルダーではなくVBAでこのプロセスを実行する方が良いようですの上。

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 に答える