vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Datenbank cmdNext und cmdPrevious 
Autor: Surfine2001
Datum: 02.04.03 09:51

Hallo zusammen,

habe folgendes Problem, wenn ich einen Datensatz vorblättere und ich dann am Ende der Datenbank angekommen bin kommt folgende Meldung:

Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht.
Der angeforderte Vorgang benötigt einen aktuellen Datensatz.
Die gleiche Meldung kommt auch, wenn ich einen Datensatz zurückblättere und dann am Anfang bin.

Mit MsgBox habe ich folgendes rausgefunden.

Der RecordCount bei vorblättern ist vor der Fehlermeldung: 35
BOF ist Falsch, EOF ist auch Falsch

Nach der Fehlermeldung ist der RecordCount immernoch 35
BOF dagegen Falsch, EOF bleibt auf Wahr
(die Fehlermeldung kommt trotzdem noch, wenn ich vorblättern will)

Der RecordCount bei zurückblättern ist vor der Fehlermeldung: 35
BOF ist Falsch, EOF ist auch Falsch

Nach der Fehlermeldung ist der RecordCount immernoch 35
BOF dagegen Wahr, EOF bleibt auf Falsch
(die Fehlermeldung kommt trotzdem noch, wenn ich zurückblättern will)

Bei den anderen zwei Buttons funktionierts ohne Probleme.

Hier ist mein Code, dieser befindet sich in einem Modul:

' Recordset Tabelle Eigentuemer
Public Sub EigentuemerDaten()
    EigentuemerAnrede = ADOrs("Anrede")
    EigentuemerVorname = ADOrs("Vorname")
    EigentuemerNachname = ADOrs("Nachname")
    EigentuemerStrasse = ADOrs("Strasse")
    EigentuemerHausNr = ADOrs("HausNr")
    EigentuemerPLZ = ADOrs("PLZ")
    EigentuemerOrt = ADOrs("Ort")
End Sub
 
Public Sub cmdFirst_Click()
    'Ersten Datensatz anzeigen
    MsgBox "Recordcount! " & ADOrs.RecordCount & " BOF " & ADOrs.BOF & " EOF " _
      & ADOrs.EOF
    With ADOrs
      If .RecordCount > 0 Then
        .MoveFirst
        EigentuemerDaten
        If .EOF Then
          .MoveLast
          EigentuemerDaten
        End If
      End If
    End With
End Sub
 
Public Sub cmdLast_Click()
    'Letzten Datensatz anzeigen
    MsgBox "Recordcount! " & ADOrs.RecordCount & " BOF " & ADOrs.BOF & " EOF " _
      & ADOrs.EOF
      With ADOrs
        If .RecordCount > 0 Then
          .MoveLast
          EigentuemerDaten
          If .BOF Then
            .MoveFirst
            EigentuemerDaten
          End If
        End If
      End With
End Sub
 
Public Sub cmdNext_Click()
    ' vorblättern
    MsgBox "Recordcount! " & ADOrs.RecordCount & " BOF " & ADOrs.BOF & " EOF " _
      & ADOrs.EOF
    With ADOrs
      If .RecordCount > 0 Then
        .MoveNext
        EigentuemerDaten
        If .EOF Then
          .MoveLast
          EigentuemerDaten
        End If
      End If
    End With
End Sub
 
Public Sub cmdPrevious_Click()
  ' zurückblättern
    MsgBox "Recordcount! " & ADOrs.RecordCount & " BOF " & ADOrs.BOF & " EOF " _
      & ADOrs.EOF
    With ADOrs
      If .RecordCount > 0 Then
        .MovePrevious
        EigentuemerDaten
        If .BOF Then
          .MoveFirst
          EigentuemerDaten
        End If
      End If
    End With
End Sub
Und dieser Teil ist in Formulare (1 Beispiel von vorblättern):

' Nächster Datensatz
Private Sub cmdNext_Click()
On Error GoTo GoNextError
    Module1.cmdNext_Click
    Combo1 = EigentuemerAnrede
    text1(0) = EigentuemerVorname
    text1(1) = EigentuemerNachname
    text1(2) = EigentuemerStrasse
    text1(3) = EigentuemerHausNr
    text1(4) = EigentuemerPLZ
    text1(5) = EigentuemerOrt
    lblStatus.Caption = "Datensatz: " & CStr(ADOrs.AbsolutePosition)
 
  Exit Sub
GoNextError:
  MsgBox Err.Description
End Sub
Und dieser Teil funktioniert (1 Beispiel von 1. Datensatz)

' Erster Datensatz
Private Sub cmdFirst_Click()
On Error GoTo GoFirstError
 
    Module1.cmdFirst_Click
    Combo1 = EigentuemerAnrede
    text1(0) = EigentuemerVorname
    text1(1) = EigentuemerNachname
    text1(2) = EigentuemerStrasse
    text1(3) = EigentuemerHausNr
    text1(4) = EigentuemerPLZ
    text1(5) = EigentuemerOrt
    lblStatus.Caption = "Datensatz: " & CStr(ADOrs.AbsolutePosition)
 
  Exit Sub
GoFirstError:
  MsgBox Err.Description
End Sub
Es ist denke ich alles richtig, nur was ist der Fehler?

Gruss
Agnes

------------------------------------
Wenn wir heut gemeinsam starten
und wir alle viel erwarten,

denken wir an jedem Tag daran,
dass man es nur schaffen kann,

wenn wir fest zusammen stehen
und den Weg gemeinsam gehen.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenbank cmdNext und cmdPrevious483Surfine200102.04.03 09:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel