【问题标题】:Connection String between Excel and accessExcel 和 access 之间的连接字符串
【发布时间】:2016-05-04 22:55:08
【问题描述】:

此子程序在 Access 中运行以从 Excel 文件“文件名”导入数据

这个连接字符串/打开过程几乎是从 MSDN 引用中复制的,但是有一个错误。

当我单步执行时,我在 oConn.Open 行上收到“无法识别的数据库格式”。

文件名是电子表格,而不是数据库。我该如何表示?

Public Sub Import2(FileName As Variant)
    Dim wb As Object, ws As Object
    Dim xl As Object
    Set xl = CreateObject("excel.Application")
    Dim qs As String
    Dim ValueString As String
    Dim sConn As String

    Dim oConn As Object
    Set oConn = CreateObject("adodb.connection")

    oConn.ConnectionString = "Provider=microsoft.ACE.OLEDB.12.0; Data Source=filename; Extended Properties=Excel 12.0 XML; hdr=yes" & ";"
    oConn.Open FileName

    Set wb = xl.Workbooks.Open(FileName)
    Set ws = wb.worksheets("For Export")
    data1 = ws.cells(2, 1)
    Data2 = ws.cells(2, 2)
    Data3 = ws.cells(2, 3)

    'Following lines may or may not be correct.  Working on the connection string
    'ValueString = Format(data1, "yyyy\/mm\/dd")
    'qs = "INSERT INTO MAF (FormDate) VALUES (#" & ValueString & "#)"

    DoCmd.RunSQL (qs)
    'CurrentDb.Execute qs

End Sub

【问题讨论】:

  • 关于您的代码,我看到有两种不同的方法:adodb 和 Excel.application。如果您评论此行“oConn.Open FileName”,您的代码会按照您的预期工作吗?
  • 做到了!虽然我不确定为什么。我还有很多学习要做。谢谢!

标签: excel ms-access vba


【解决方案1】:

Data Source=filename 更改为Data Source=c:\test\db1.mdb 之类的文件路径

【讨论】:

  • 我试过这个但没有改变。看起来连接字符串正在寻找数据库,但我正在从电子表格中提取数据。错误是“无法识别的数据库格式”
猜你喜欢
  • 2014-06-12
  • 1970-01-01
  • 2017-05-28
  • 2016-12-24
  • 1970-01-01
  • 2014-09-07
  • 2023-04-03
  • 1970-01-01
  • 2022-10-02
相关资源
最近更新 更多