大家好,我在网上做了一些研究,但找不到解决方案,希望这里有人可以提供帮助。我的做法是将 sql 语句放置到 DoCmd.OutputTo
例如
Set tempSql= CurrentDb.OpenRecordset("SELECT * FROM SpecialEvent WHERE [HG_ID] = " & HG_ID & ";")
DoCmd.OutputTo acOutputQuery, "tempSql", acFormatXLS, strDir + "try.xls", 0
Run Code Online (Sandbox Code Playgroud)
如果有人可以指导我构建这种方法,我将不胜感激。
您可以将查询的sql设置为输出sql并在DoCmd.OutputTo中使用查询名称
tempSql= "SELECT * FROM SpecialEvent WHERE [HG_ID] = " & HG_ID
If IsNull(DLookup("name", "msysobjects", "name='query1'")) Then
CurrentDb.CreateQueryDef "Query1", tempSql
Else
CurrentDB.QueryDefs("Query1").SQL = TempSQL
End If
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, strDir & "try.xls", 0
Run Code Online (Sandbox Code Playgroud)
请注意,VBA 中的连接符是 &,而不是 +
加号可用于连接,但由于它处理空值的方式,因此需要非常小心。