簡體   English   中英

VBA Excel導出訪問

[英]VBA excel export to access

嗨,我正在嘗試編寫一個宏,該宏從excel表單獲取用戶輸入並將其添加到訪問表中。 使用以下代碼:

   Dim cnn As ADODB.Connection
   Dim rst As ADODB.Recordset
   Dim wsh As Excel.Application
   Set cnn = "db.accdb.connection"
   Set rst = New ADODB.Recordset
   rst.Open "table", cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
   With rst
   .AddNew
   .Fields("column1").Value = textboxvar
   .Update
   End With

與先前定義的textboxvar。 但這行不通,我也不知道為什么。

聲明,設置,打開連接的示例:

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; DataSource='C:\path\databasename.accdb'"
rs.Open "SELECT * FROM MyTable", cn, adOpenKeyset, adLockOptimistic

經過很長一段時間的搜索。 該線程中投票最高的帖子已經回答了以下問題: 使用Excel VBA將數據導出到MS Access表

只需更新即可使用Access 2016:

Public Sub UploadExcel()

Set cn = CreateObject("ADODB.Connection")
dbPath = 'type your database path in here

dbWb = Application.ActiveWorkbook.FullName
dbWs = Application.ActiveSheet.Name

scn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath
dsh = "[" & Application.ActiveSheet.Name & "$]"
cn.Open scn

ssql = "INSERT INTO TableName ([Field1], [Field2], [Field3]) "
ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh

cn.Execute ssql

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM