首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA -将数据从Excel上载到Access,而不安装Access

VBA -将数据从Excel上载到Access,而不安装Access
EN

Stack Overflow用户
提问于 2013-05-01 18:30:47
回答 3查看 3.4K关注 0票数 1

我是VBA的新手,但我正在尝试从未安装Access的计算机将数据从Excel工作簿上载到Access数据库表。我已经在网上寻找了一个解决方案,但还没有找到任何可以使用我的代码的东西。

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

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

代码语言:javascript
复制
Sub Upload_SiteObsData_Excel_To_Access(Database_Path)

Database_Path = "\\Path\db1.mdb"

Dim acApp As Object
Dim db As Object

Set acApp = CreateObject("Access.Application")

acApp.OpenCurrentDatabase ("\\Path\db1.mdb")

Set db = acApp
acApp.Run "Upload_SiteObsData_to_Access"
acApp.Quit
Set acApp = Nothing

End Sub

Access中的操作步骤如下:

代码语言:javascript
复制
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

如果有任何帮助,我将非常感激。提前感谢

EN

回答 3

Stack Overflow用户

发布于 2013-05-01 20:47:41

我只是在摆弄一些Excel VBA代码,下面的代码似乎起作用了:

代码语言:javascript
复制
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:\Users\Public\Database1.accdb;"
con.Execute _
        "INSERT INTO TBL_SiteObsData " & _
        "SELECT * FROM [Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:\Users\Public\Book1.xlsm].[Sheet1$]"
con.Close
Set con = Nothing
End Sub
票数 1
EN

Stack Overflow用户

发布于 2013-05-01 18:37:34

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

您可以从Access中提取数据吗?

票数 0
EN

Stack Overflow用户

发布于 2015-07-30 19:09:59

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16316502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档