VBA 函数连接access以及excel,同时自动版本

Private Function AccessJoinString() As StringIf Val(Application.Version) < 12 ThenAccessJoinString = "Microsoft.Jet.Oledb.4.0"ElseAccessJoinString = "Microsoft.Ace.Oledb.12.0"End IfEnd FunctionPrivate Function ExcelJoinString() As StringIf Val(Application.Version) < 12 ThenExcelJoinString = "Microsoft.Jet.Oledb.4.0;Extended Properties=Excel 8.0"ElseExcelJoinString = "Microsoft.Ace.Oledb.12.0;Extended Properties=Excel 12.0"End IfEnd FunctionFunction AccessExecuteRecordset(AccessPath As String, sql As String) As ObjectDim cn As Object, rs As ObjectSet cn = CreateObject("Adodb.Connection")With cn.Provider = AccessJoinString.Open AccessPathEnd WithSet rs = cn.Execute(sql)Set AccessExecuteRecordset = rsEnd FunctionFunction ExcelExecuteRecordset(ExcelPath As String, sql As String) As ObjectDim cn As Object, rs As ObjectSet cn = CreateObject("Adodb.Connection")With cn.Provider = ExcelJoinString.Open ExcelPathEnd WithSet rs = cn.Execute(sql)Set ExcelExecuteRecordset = rsEnd Function 

  

相关文章