Fehlermeldung wenn suche erfolglos

  • Allgemein

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

    Fehlermeldung wenn suche erfolglos

    Ich habe eine Suchanfrage und ein RecordSet, in der die Ergebnisse abgespeichert werden.

    Wie kriege ich es hin, das ich eine Fehlermeldung ausgeben kann, wenn die Suche erfolglos war?

    VB.NET-Quellcode

    1. Sub Access_Kundensuche_schlag()
    2. Dim conn As New Connection, rec As New Recordset
    3. Dim sql As String, i As Integer
    4. ThisWorkbook.Sheets("Tabelle3").Rows("2:100").Delete
    5. conn.Open "Provider=microsoft.jet.oledb.4.0;Data Source=" _
    6. + ThisWorkbook.Path + "\Test_Kunden.MDB"
    7. 'Suchanfrage
    8. sql = "SELECT * FROM [Kunden] WHERE [Schlagwoerter] Like '%" & Me.txt_schlag_suche.Value & "%';"
    9. 'Mein Versuch einer Errormeldung --> kann nicht gehen, da sql keine ergebnisse enthält
    10. If sql = "" Then
    11. MsgBox "Kein Ergebnis gefunden!", vbOKOnly + vbCritical _
    12. , "Fehler: Suche erfolglos!"
    13. Else
    14. rec.Open sql, conn 'Hier bricht das Programm ab, da rec keine werte bekommt.
    15. rec.MoveFirst
    16. Do While Not rec.EOF
    17. .....
    18. rec.MoveNext
    19. Loop
    20. End If


    Wie kann ich verhindern, das das Programm bei rec.open abbricht?
    Da bei einem adOpenForwardOnly-CursorType die RecordCount-Eigenschaft nicht funktioniert muß man hier prüfen, ob EOF und BOF gleichzeitig True ist. Dann sind keine Daten da.

    VB.NET-Quellcode

    1. rec.Open sql, conn
    2. If rec.BOF And rec.EOF Then
    3. MsgBox "Kein Ergebnis gefunden!", vbOKOnly + vbCritical, "Fehler: Suche erfolglos!"
    4. Else
    5. rec.MoveFirst
    6. Do While Not rec.EOF
    7. '.....
    8. rec.MoveNext
    9. Loop
    10. End If