假设我有3个查询:
我想通过运行单个查询QueryRunAll来运行它们。如何在QueryRunAll中运行Query1,Query2和Query3?
非常感谢!
答案 0 :(得分:1)
由于Query1
,Query2
和Query3
都是INSERT
个查询,因此您可以通过单个查询QueryRunAll
运行它们的唯一方法,具有用户定义的功能。
如果您将从Access会话中运行QueryRunAll
,则可以将其用作SQL:
SELECT Runall() AS successful;
但是,如果您打算从Access会话外部运行QueryRunAll
,则它无法使用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
答案 1 :(得分:0)
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