你数据库中是文本,你EXCEL中却是数字类型。所以即使SQL正确也会提示错误。要想正确运行,先把EXCEL中的数据类型和ACCESS中保持一致 Sub ado_update_access_click() Dim endroww, roww%, addr$, sql$ Start = Timer Set conn = CreateObject("adodb.connection") conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\LGX.mdb;jet oledb:database" endroww = [a65536].End(xlUp).Row addr = Range("A1").CurrentRegion.Address(0, 0) sql = "insert into [LGX] select * from [Excel 8.0;Database=" & ThisWorkbook.FullName & "].[sheet1$]" conn.Execute sql conn.Close Set conn = Nothing MsgBox "更新完毕。用时 " & Timer - Start & " 秒" End Sub |