不确定完全理解您想要什么,但如果您只想将查询结果导出到电子表格,您可以使用以下内容:
Private Sub ExportAccessDataToExcel()
Dim SqlString As String
SqlString = "CREATE TABLE testMeasurements (TestName TEXT, Status TEXT)"
DoCmd.RunSQL (SqlString)
SqlString = "INSERT INTO testMeasurements VALUES('Average Power','PASS')"
DoCmd.RunSQL (SqlString)
SqlString = "INSERT INTO testMeasurements VALUES('Power Vs Time','FAIL')"
DoCmd.RunSQL (SqlString)
SqlString = "SELECT testMeasurements.TestName, testMeasurements.Status INTO exportToExcel "
SqlString = SqlString & "FROM testMeasurements "
SqlString = SqlString & "WHERE (((testMeasurements.TestName)='Average Power'));"
DoCmd.RunSQL (SqlString)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel7, "exportToExcel", "C:\TestMeasurements.xls", True, "A1:G12"
End Sub
来源:http ://www.ehow.com/how_7326712_save-access-query-excel-vba.html
这可以直接从数据库或 Excel 中完成(您需要使用 Excel VBA 打开数据库才能这样做,但大多数 Office 套件产品可以相互很好地交互)。
如果您想将电子表格的数据推送到 Access 数据库中,那就不同了。您只需要打开数据库并循环INSERT
查询即可。这是一个简单的示例,您只需要添加循环:
Dim db as DAO.Database
Set db = OpenDatabase(myDataBase.mdb)
Call db.Execute("INSERT INTO myTable (Field1, Field2) VALUES('Value1', 'Value2')")