3 つのクエリがあるとします。
- クエリ1
- クエリ2
- クエリ3
そして、単一のクエリ QueryRunAll を実行して、それらすべてを実行したいと考えています。QueryRunAll 内で Query1、Query2、および Query3 を実行するにはどうすればよいですか?
どうもありがとう!
3 つのクエリがあるとします。
そして、単一のクエリ QueryRunAll を実行して、それらすべてを実行したいと考えています。QueryRunAll 内で Query1、Query2、および Query3 を実行するにはどうすればよいですか?
どうもありがとう!
Query1
、Query2
、およびQuery3
はすべてクエリであるためINSERT
、単一のクエリ からそれらすべてを実行できる唯一の方法QueryRunAll
は、ユーザー定義関数を使用することです。
QueryRunAll
Access セッション内から実行する場合は、これを SQL として使用できます。
SELECT Runall() AS successful;
ただし、Access セッションの外部から実行する場合QueryRunAll
は、UDF を使用できないため、1 つのクエリで 3 つのアクション クエリを実行することはできません。
Public Function Runall() As String
Dim blnReturn As Boolean
Dim db As DAO.Database
Dim strMsg As String
On Error GoTo ErrorHandler
Set db = CurrentDb
db.Execute "Query1", dbFailOnError
db.Execute "Query2", dbFailOnError
db.Execute "Query3", dbFailOnError
blnReturn = True
Set db = Nothing
ExitHere:
Set db = Nothing
Runall = blnReturn
Exit Function
ErrorHandler:
' do more here if desired
GoTo ExitHere
End Function
MS Access (少なくとも 2003 ) では、複数のクエリを一緒に実行できるようにするクエリの次の構文が許可されています。
SELECT Query1.col1, Query2.col2, Query3.col1
FROM Query1, Query2, Query3
またはINSERT
INSERT INTO yourtable (col1, col2,...)
SELECT Query1.col1, Query2.col2
FROM Query1, Query2, Query3