3

大家好,我在网上做了一些研究,但我找不到解决方案,希望这里有人可以提供帮助。我的做法是将 sql 语句放入 DoCmd.OutputTo

例如

      Set tempSql= CurrentDb.OpenRecordset("SELECT * FROM SpecialEvent WHERE [HG_ID] = " & HG_ID & ";")

      DoCmd.OutputTo acOutputQuery, "tempSql", acFormatXLS, strDir + "try.xls", 0

如果有人可以指导我建立这种方法,将不胜感激。

4

1 回答 1

4

您可以将查询的 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

请注意,连接符在 VBA 中是 &,而不是 +

加号可用于连接,但需要非常小心,因为它与空值一起使用。

于 2012-09-18T13:58:12.470 回答