0
Folgende ist meine Erklärung von Cord-Passkann nicht ADODB.Recordset als Parameter an eine Funktion aufrufen
Dim expectedRs, actualRs As ADODB.Recordset
Set expectedRs = accessDatabse.getResultSetForSqlQuery(tempArr(1))
Set actualRs = accessDatabse.getResultSetForSqlQuery(tempArr(2))
folgende funktioniert gut,
excelFunc.writeQueryResultsToExcel(tempArr(0), accessDatabse.getResultSetForSqlQuery(tempArr(1)), accessDatabse.getResultSetForSqlQuery(tempArr(2)))
Aber ich kann nicht die Variablen in den Pass Methodenaufruf
excelFunc.writeQueryResultsToExcel CStr(tempArr(0)), expectedRs,actualRs
ich erhalte eine Kompilierung-Fehler "ByRef Argument Type Mismatch"
Folgende ist meine Funktion
Public Function writeQueryResultsToExcel(workbookName As String, expectedRs As Object, actualRs As Object)
Dim wkb As Workbook
Dim strPath As String
strPath = globalObj.getDefaultRunInstancePath()
Set wkb = Workbooks.Open(strPath + workbookName + ".xlsx")
'rs.Open strSQL
'Sheet4.Range("A1").CopyFromRecordset rs
'***********************************UntestedCode******************************
wkb.Sheets("Expected").Range("A1").CopyFromRecordset expectedRs
wkb.Sheets("Actual").Range("A1").CopyFromRecordset actualRs
wkb.Save
wkb.Close
'***********************************UntestedCode******************************
End Function
Thanks @ emihir0, mein Problem behoben wurde, Ihre Bemühungen werden sehr geschätzt. –