有没有办法将Access数据库中的表链接到Excel而不导入整个表?我需要在Access表中引用/查找单元格,但不想将整个表导入到excel工作簿中(表格太大)。
我的第二个选择是将Access表导出到单独的excel工作簿中,然后只引用这个新工作簿而不是Access数据库本身。当我尝试这样做时,任何Access表中只有大约65,000行数据实际导出到Excel,因为其余的数据无法复制到剪贴板中。有一个简单的方法吗? (我想在excel / access文件之间实际连接,因此可以刷新数据,而不仅仅是复制和粘贴行)
答案 0 :(得分:1)
请参阅这篇古老的文章,它可以帮助您获得实际需要的数据,而不是一切:
http://dailydoseofexcel.com/archives/2004/12/13/parameters-in-excel-external-data-queries/
答案 1 :(得分:0)
您可以从Excel使用Access数据库表,而无需将表导入Excel工作表中:
Dim cnn As ADODB.Connection ' Needs a reference to the Microsoft ActiveX
Dim rs As ADODB.Recordset ' Data Objects Library
Set cnn = CreateObject("ADODB.Connection")
cnn.Open "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=database-path\Data.accdb;"
Set rs = cnn.Execute("SELECT * FROM MyTable")
While Not rs.EOF
Debug.Print rs(1)
rs.MoveNext
Wend
如果在x64操作系统上使用x86 Access版本,则可能需要安装 Microsoft Access Database Engine 2010 Redistributable,并应使用 / passive 选项进行安装。
答案 2 :(得分:-1)
尝试以下脚本。这应该给你你想要的东西。
Option Compare Database
Private Sub Command0_Click()
Dim InputFile As String
Dim InputPath As String
InputPath = "C:\your_path_here\Desktop\"
InputFile = Dir(InputPath & "*.xlsx")
Do While InputFile <> ""
DoCmd.TransferSpreadsheet acLink, , InputFile, InputPath & InputFile, True '< The true is for column headers
InputFile = Dir
Loop
End Sub