Datenbank Auslesen mit ADO in VBA, Laufzeitfehler 3265

  • Access

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Sebastian.Pape.

    Datenbank Auslesen mit ADO in VBA, Laufzeitfehler 3265

    Hallo zusammen,

    Ich habe leider ein Problem und zwar sitzte ich an einer Programmieraufgabe und komme nicht weiter. Ich soll über VBA eine Prozedur schreiben die mir nach Eingabe des Ferienhauses oder auch des Anfangsbuchstabens die Summe des Mietpreises aller Belegungen ausgibt. Bisher hab ich dafür folgenden Code geschrieben.

    Visual Basic-Quellcode

    1. Dim rs As New ADODB.Recordset
    2. Dim strSql As String
    3. Dim strFerienhaus As String
    4. Dim strMeldung As String
    5. strFerienhaus = InputBox("Geben Sie den Namen oder den ersten Buchstaben des Ferienhaus ein.")
    6. strSql = "SELECT Sum(Mietpreis) AS Gesamt" _
    7. & " FROM Belegung" _
    8. & " WHERE Ferienhaus Like '" & strFerienhaus & "%'" _
    9. & " GROUP BY Ferienhaus;"
    10. rs.Open strSql, CurrentProject.Connection, _
    11. adOpenForwardOnly, adLockOptimistic
    12. With rs
    13. If Not .BOF Then
    14. While Not .EOF
    15. strMeldung = strMeldung & "Haus " & .Fields("Ferienhaus") & ":" _
    16. & " " & .Fields("Gesamt") & "€" & vbCrLf
    17. .MoveNext
    18. Wend
    19. Else
    20. strMeldung = "Es wurde kein Ferienhaus mit dem Namen: " _
    21. & strFerienhaus & " gefunden."
    22. End If
    23. .Close
    24. End With
    25. Set rs = Nothing
    26. MsgBox strMeldung, vbInformation
    27. End Sub


    Wenn ich eine Namen eingebe der nicht in der Datenbank steht ist alles Ok. Sobald ich aber den Namen eines bestehenden Hauses eingebe bekomme ich in der Zeile

    Visual Basic-Quellcode

    1. strMeldung = strMeldung & "Haus " & .Fields("Ferienhaus") & ":" _
    2. & " " & .Fields("Gesamt") & "€" & vbCrLf
    einen Laufzeitfehler 3265 angezeigt: Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspricht, kann nicht gefunden werden.

    Ich weis leider nicht wo da der Fehler sein soll und steh voll auf dem Schlauch. Ich hoffe Ihr könnt mir helfen.
    Danke schon mal im Vorraus
    Gruß

    Sebastian
    In dem Ergebnis aus der DB gibt es kein Feld "Ferienhaus", da du ausschließlich die Summe (-> "Gesamt") abfrägst. Du musst also noch "Ferienhaus" mit abfragen.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen