可以使用VBA代码实现Access数据库和Excel之间的双向连接。以下是一个实现双向连接的示例代码:
在Excel中连接Access数据库:
Sub connectToAccess()
Dim dbPath As String, query As String, conn As Object, rs As Object
Dim i As Integer, fldCount As Integer, rowCount As Integer
dbPath = "C:\example.accdb" 'Access数据库的路径
Set conn = CreateObject("ADODB.Connection")
'连接Access数据库
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath & ";Persist Security Info=False;"
'查询数据表的SQL语句
query = "SELECT * FROM ExampleTable"
'执行查询并将结果填充到Excel表格中
Set rs = conn.Execute(query)
rowCount = 1
fldCount = rs.Fields.Count
With ActiveSheet
.Cells.ClearContents
.Cells.ClearFormats
For i = 0 To fldCount - 1
.Cells(rowCount, i + 1).Value = rs.Fields(i).Name
Next
rowCount = rowCount + 1
Do Until rs.EOF
For i = 0 To fldCount - 1
.Cells(rowCount, i + 1).Value = rs.Fields(i).Value
Next
rowCount = rowCount + 1
rs.MoveNext
Loop
.Cells.EntireColumn.AutoFit
End With
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub
在Access数据库中连接Excel:
Sub connectToExcel()
Dim xlPath As String, conn As Object, rs As Object
Dim i As Integer, fldCount As Integer, rowCount As Integer
xlPath = "C:\example.xlsx" 'Excel文件的路径
Set conn = CreateObject("ADODB.Connection")
'连接Excel文件
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & xlPath & ";Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1';"
'查询Excel数据表的SQL语句
query = "SELECT * FROM [Sheet1$]"
'执行查询并将结果填充到Access数据库表格中
Set rs = conn.Execute(query)
rowCount = 1
fldCount = rs.Fields.Count
Do Until rs.EOF
With CurrentDb.OpenRecordset("ExampleTable", dbOpenDynaset)
.AddNew
上一篇:Access数据库的SQL
下一篇:access数据库缓存