VBA -上传数据从Excel到Access没有安装Access



我对VBA相当陌生,但我试图从一台没有安装Access的计算机上载Excel工作簿到Access数据库表的数据。我在网上搜索了一个解决方案,但还没有找到任何我可以用我的代码工作的东西。

我得到的错误代码是…429无法创建activex组件

我在Excel工作簿中设置了一些VBA代码,该代码调用Access中的Sub[在安装了Access的机器上工作],但我不知道正确的代码应该是什么,如果机器没有安装Access。

Sub Upload_SiteObsData_Excel_To_Access(Database_Path)
Database_Path = "\Pathdb1.mdb"
Dim acApp As Object
Dim db As Object
Set acApp = CreateObject("Access.Application")
acApp.OpenCurrentDatabase ("\Pathdb1.mdb")
Set db = acApp
acApp.Run "Upload_SiteObsData_to_Access"
acApp.Quit
Set acApp = Nothing
End Sub

Access中的步骤如下:

Option Compare Database
Option Explicit
Dim Excel_Path As String
Dim Excel_Range As String
Dim UserNameOffice As String
Dim Excel_File_TechForm As String
Sub SetUp_Variables()
UserNameOffice = CreateObject("wscript.network").UserName
Excel_Path = "C:Documents and Settings" & UserNameOffice & "Desktop"
Excel_Range = "MyData"
Excel_File_TechForm = "SiteObsForm_v0.2.xls"
End Sub
Sub Upload_SiteObsData_to_Access()
SetUp_Variables
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "TBL_SiteObsData",   Excel_Path & Excel_File_TechForm, True
End Sub
我将非常感激任何帮助。提前感谢

我只是在玩弄一些Excel VBA代码和以下似乎工作:

Option Explicit
Sub Upload_Excel_to_Access()
Dim con As Object  '' ADODB.Connection
Set con = CreateObject("ADODB.Connection")  '' New ADODB.Connection
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=C:UsersPublicDatabase1.accdb;"
con.Execute _
        "INSERT INTO TBL_SiteObsData " & _
        "SELECT * FROM [Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:UsersPublicBook1.xlsm].[Sheet1$]"
con.Close
Set con = Nothing
End Sub

我认为你必须找到另一种方法来解决这个问题,没有安装access, Excel无法创建"Access.Application"对象,它只是不知道什么是access。

你能从Access中提取数据吗?

我第一次通过VBA将Excel连接到Access时就这样做了,我确信使用god Thomson提供的代码可以工作。建立ADODB连接并执行追加查询

相关内容

最新更新