Hallo zusammen,
ich habe für meine Produkte eine Datenbank erstellt und möchte als Bericht die Datenblätter als pdf Dateien. Bisher hat das reibungslos geklappt, aber bei einem Produkt erscheint immer Laufzeitfehler 3464 " Datentypenkonflikt in Kriterieauswahl" und ich verstehe nicht warum. Könnt ihr mir helfen ? Das ist meine Programmierung dazu, die bei den anderen Produkten funktioniert , nur bei diesem nicht.
Private Sub PDFs_Click()
Dim strSQL As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strDatei As String, strWhere As String
Set db = CurrentDb
strSQL = "SELECT * FROM Produktmatrix_RegaLED"
Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
Do Until rs.EOF
strDatei = "C:\Datenblätter\RegaLED_" & rs.Fields("Artikelnummer").Value & ".pdf"
strWhere = strSQL & " WHERE Artikelnummer = '" & rs!Artikelnummer & "'"
DoCmd.OpenReport "Produktmatrix_RegaLED", acViewDesign
Reports!Produktmatrix_RegaLED.RecordSource = strWhere
DoCmd.OpenReport "Produktmatrix_RegaLED", acViewPreview, , , acHidden
DoCmd.OutputTo acOutputReport, "Produktmatrix_RegaLED", acFormatPDF, strDatei, False
DoCmd.Close acReport, "Produktmatrix_RegaLED", acSaveNo
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
Hey, wo genau kommt der Fehler und wie heißt das Produkt. Vielleicht liegt da der Fehler wenn es bei anderen geht.
Holger
Hallo Holger,
das Produkt heißt RegaLED und die Daten kommen us Produktmatrix_RegaLED. Wo der Fehler herkommt, weiß ich leider nicht :(
Viele Grüße
Annett
1. beinhaltet Deine Artikelnummer ggf selbst Anführungszeichen? Dann verändere die SQL wie folgt:
strWhere = strSQL & " WHERE Artikelnummer = """ & rs!Artikelnummer & """" mit doppelten Anführungszeichen
2. Wenn die Artikelnummer eine Zahl ist dann lass die Anführungszeichen weg
strWhere = strSQL & " WHERE Artikelnummer = " & rs!Artikelnummer
3. Füge mal eine Fehlerbehandlung zu Deinem Code damit es aussagekräftiger wird
On Error GoTo ErrorHandler
' Dein Code
Exit Sub
ErrorHandler:
MsgBox "Fehler " & Err.Number & ": " & Err.Description
Resume Next
Vielleicht hilft da ja was von
Holger
Jetzt bekomme ich die Fehlermeldung:Syntaxfehler in Abfrageausdruck "Artikelnummer"
Was hast du denn umgesetzt?
Auf jeden Fall schau Dir mal den Inhalt der Artikelnummern an
Holger
Vielleicht kannst Du ja mal die Tabelle hochladen
Ich habe beide Varianten von Dir getestet.
Die Tabelle habe ich angefügt. Blatt 1
Er zeigt mir im Bericht übrigens alles richtig an, aber sobald ich die PDF Dateien erzeugen möchte, kommt das mit Laufzeitfehler
Kann es sein, dass Dein Datentyp nicht übereinstimmt. z.B.: einmal Integer einmal Long Integer oder einmal single einmal double ?
Davon habe ich leider überhaupt keine Ahnung. Was muss ich tun, um das zu kontrollieren ?
Hallo,
ZitatWas muss ich tun, um das zu kontrollieren ?
Im Tabellenentwurf nachsehen.
Genau das war der Fehler. Ich danke Euch vielmals :)
Hallo Annett,
diese Zeilen
DoCmd.OpenReport "Produktmatrix_RegaLED", acViewDesign
Reports!Produktmatrix_RegaLED.RecordSource = strWhere
sind so noch nicht i.O. Den Report im Entwurfsmodus zu öffnen ist hier falsch und unnötig.
Richtig wäre, den SQL-Ausdruck fest als Datensatzquelle im Bericht einzutragen und dann das Kriterium
Artikelnummer = '" & rs!Artikelnummer & "'" als WhereCondition beim OpenReport mit anzugeben.
Gruß
Knobbi38