如何查询access并将其链接到excel中的工作表

如何查询access并将其链接到excel中的工作表,excel,ms-access,vba,Excel,Ms Access,Vba,我正在做一个项目,我遇到了一个障碍。我在excel中有一个表,我想通过将access中的表链接到excel中的工作表来运行查询,然后将报告存储到excel工作表中。我已经接近可以从access中已有的表运行access查询并将其存储在excel中的位置,但如果其中一个表位于excel工作表中,我无法确定如何执行该操作。有人知道将access表链接到excel工作表的vba代码吗 我引用了下面的链接,这让我非常接近,但不是所有的方式 尝试使用连接字符串: Sub Button1_Click()

我正在做一个项目,我遇到了一个障碍。我在excel中有一个表,我想通过将access中的表链接到excel中的工作表来运行查询,然后将报告存储到excel工作表中。我已经接近可以从access中已有的表运行access查询并将其存储在excel中的位置,但如果其中一个表位于excel工作表中,我无法确定如何执行该操作。有人知道将access表链接到excel工作表的vba代码吗

我引用了下面的链接,这让我非常接近,但不是所有的方式


尝试使用连接字符串:

Sub Button1_Click()
  Dim cn As Object
  Dim rs As Object
  Dim strSql As String
  Dim strConnection As String
  Set cn = CreateObject("ADODB.Connection")
  strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=C:\Documents and Settings\XXXXXX\My Documents\my_access_table.accdb"
  strSql = "SELECT Count(*) FROM mytable;"
  cn.Open strConnection
  Set rs = cn.Execute(strSql)
  MsgBox rs.Fields(0) & " rows in MyTable"

  rs.Close
  Set rs = Nothing
  cn.Close
  Set cn = Nothing

End Sub
如果目标数据库是ACCDB格式,则提供程序块必须是Provider=Microsoft.ACE.OLEDB.12.0。Provider=Microsoft.Jet.OLEDB.4.0仅适用于较旧的MDB格式

另请参阅:


此外,您还可以从excel中手动添加表作为连接-在“数据”选项卡下,如果您可以发布一些代码,这会有所帮助。发布了一些我正在进行的测试,以尝试完成我要完成的操作您必须在代码中进行链接还是可以使用链接表管理器?什么版本的MS Access?
Sub Button1_Click()
  Dim cn As Object
  Dim rs As Object
  Dim strSql As String
  Dim strConnection As String
  Set cn = CreateObject("ADODB.Connection")
  strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=C:\Documents and Settings\XXXXXX\My Documents\my_access_table.accdb"
  strSql = "SELECT Count(*) FROM mytable;"
  cn.Open strConnection
  Set rs = cn.Execute(strSql)
  MsgBox rs.Fields(0) & " rows in MyTable"

  rs.Close
  Set rs = Nothing
  cn.Close
  Set cn = Nothing

End Sub