我正在處理一個宏,用戶輸入一個用於查詢Access數據庫的搜索項。我的問題是如何將這些記錄返回到單獨的行中的Excel?查詢Access數據庫並將所有記錄返回給Excel
例如,數據庫包含家庭地址信息。如果用戶搜索郵政編碼,則選定的記錄將進入行1,2,3等,以獲得與查詢中返回的儘可能多的家庭地址。
下面是一些示例代碼 - 我缺少的部分清楚標記。
我感謝任何幫助!
Sub DatabaseQuery()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim stDB As String, stSQL As String, stProvider As String
Dim SearchTerm As String
stDB = "Data Source= C:\Database.accdb" ' Change accordingly
stProvider = "Microsoft.ACE.OLEDB.12.0"
With cn
.ConnectionString = stDB
.Provider = stProvider
.Open
End With
SearchTerm = Range("A1").Value ' Change accordingly
stSQL = "SELECT Field1, Field2, Field3 " & _
"FROM Table1 WHERE Field4= '" & SearchTerm & "'"
rs.Open stSQL, cn, adOpenStatic
' *** Put all the records in Sheet2! *** Help me! :)
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
我正在使用MS Excel 2010和MS Access 2010.上面的大部分代碼都是從SO上的其他帖子採用的,它運行良好。話雖如此,我誠實地承認,我並不真正瞭解這意味着什麼。您編寫的代碼當然很有用,但我需要將代碼複製到同一工作簿中 - 不要創建新報告。 – blahblahblah
請查看:[link](http://social.msdn.microsoft.com/Forums/office/en-US/e9a3203a-450a-4f22-807d-c71c451ed94d/is-it-possible-in-ms-access -to-export-results-of-five-queries-to-one-excel-workbook-via-vba?forum = accessdev)...它有大約3-4種不同的答案。所有這些都會幫助你。 –
這似乎是做'工作表'(「Sheet2」)。範圍(「A1」)。CopyFromRecordset rs' – blahblahblah