Fehler bei OpenRecordset Access VBA 2007
Hallo zusammen,
ich brauche mal dringend Hilfe in einem VBA Code-Stück. Es sollen hierbei Daten aus einer Excel Tabelle in eine Access DB importiert werden. Der Code läuft wunderbar durch bis auf eine Stelle, undzwar:
Set rst = dbs.OpenRecordset(strsql)
Code bis zur besagten Stelle ist unten...
Was mich sehr wundert ist, dass dieses Problem bis vor 2 Wochen noch funktioniert hat, jedoch seit kurzem nicht mehr geht. Als Fehler wird angezeigt:
Laufzeitfehler '3061'
1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.
Soweit ich weiß wurde auch an den Spalten der Excel Tabelle nichts verändert. Man kann übrigens im Userform nochmals die Spalten der zu importierenden Datei prüfen und anpassen.
Ich wäre sehr dankbar, wenn mir jemand weiterhelfen könnte!!!
Viele Grüße,
Rico
ich brauche mal dringend Hilfe in einem VBA Code-Stück. Es sollen hierbei Daten aus einer Excel Tabelle in eine Access DB importiert werden. Der Code läuft wunderbar durch bis auf eine Stelle, undzwar:
Set rst = dbs.OpenRecordset(strsql)
Code bis zur besagten Stelle ist unten...
Was mich sehr wundert ist, dass dieses Problem bis vor 2 Wochen noch funktioniert hat, jedoch seit kurzem nicht mehr geht. Als Fehler wird angezeigt:
Laufzeitfehler '3061'
1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.
Soweit ich weiß wurde auch an den Spalten der Excel Tabelle nichts verändert. Man kann übrigens im Userform nochmals die Spalten der zu importierenden Datei prüfen und anpassen.
Ich wäre sehr dankbar, wenn mir jemand weiterhelfen könnte!!!
Viele Grüße,
Rico
Function Import_TEM_Umsatz() As String
Dim lchanged As Date
Dim lDatei, lpfad As String
Dim dbs As Database
Dim rst As DAO.Recordset
Dim strsql As String
Dim dbspos As Database
Dim rstpos As DAO.Recordset
Dim dbserr As Database
Dim rsterr As DAO.Recordset
Dim lRec, lRecCount As Integer
'a
lDatei = "ImportTEMUmsatz"
lpfad = Form_TEMImport.Pfad_TEM_Umsatz.Value
lchanged = Date + Time
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(lpfad) Then
Set f = fs.GetFile(lpfad)
lchanged = f.DateLastModified
Else
Import_TEM_Umsatz = "Importdatei nicht gefunden!!!!"
Exit Function
End If
'Datumsfelder des Einlesemonats
lbdate = CDate("01." + LTrim(Str(Form_TEMImport.Import_Monat.Value)) + "." + LTrim(Str(Form_TEMImport.Import_Jahr.Value)))
ledate = DateAdd("m", 1, lbdate) - 1
'Holen der Feldnummer aus der Feld-Datei
F_TEM_OBJID = Get_Import_FeldNr("TEM Umsatz", "EventID")
F_TEM_Umsatz = Get_Import_FeldNr("TEM Umsatz", "Umsatz")
F_TEM_Beginn = Get_Import_FeldNr("TEM Umsatz", "Beginn")
F_TEM_Description = Get_Import_FeldNr("TEM Umsatz", "Description")
F_TEM_Kunde = Get_Import_FeldNr("TEM Umsatz", "Kunde")
F_TEM_Ende = Get_Import_FeldNr("TEM Umsatz", "Ende")
F_TEM_Bookdate = Get_Import_FeldNr("TEM Umsatz", "Bookdate")
'Einlesen EXCEL TEM Events
DoCmd.DeleteObject acTable, lDatei
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
lDatei, lpfad, True
'Löschen der TEM Daten im Monat
lbamdat = Str(Month(lbdate)) + "/" + Str(Day(lbdate)) + "/" + Str(Year(lbdate))
leamdat = Str(Month(ledate)) + "/" + Str(Day(ledate)) + "/" + Str(Year(ledate))
lsql = "UPDATE AnfragePosition SET [Umsatz TEM]=0, [ID TEM]=''"
lsql = lsql + " WHERE ([Datum]>=#" + lbamdat + "# AND [Datum]<=#" + leamdat + "#)"
DoCmd.RunSQL (lsql)
'Löschen der alten gespeicherten Fehlerdaten
lsql = "DELETE * FROM ImportTEMFehler"
DoCmd.RunSQL (lsql)
'Durchlaufen der Importdaten
Set dbs = CurrentDb()
strsql = "SELECT * FROM [ImportTEMUmsatz]"
strsql = strsql + " WHERE NOT [Price]=0 AND ([Begin]>=#" + lbamdat + "# AND [Begin]<=#" + leamdat + "#)"
strsql = strsql + " ORDER BY [Obj#ID]"
Set rst = dbs.OpenRecordset(strsql)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 143254
Url: https://administrator.de/forum/fehler-bei-openrecordset-access-vba-2007-143254.html
Ausgedruckt am: 17.04.2025 um 05:04 Uhr
1 Kommentar