假设我有 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;
但是,如果您打算QueryRunAll
从 Access 会话外部运行,则它不能使用 UDF,因此您将无法让一个查询运行 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