Einzelansicht und nächster Datensatz

Moderator: ModerationP

Einzelansicht und nächster Datensatz

Beitragvon Gast » 28. Nov 2020, 17:18

Moin Moin Access-Experten,

ich habe eine Vereinsmitglieder-Datenbank. Die Mitglieder werden in einem Endlosformular angezeigt. Eine genauere Ansicht der Mitglieder erfolgt mit einer Schaltfläche (DoCmd.OpenForm "frmMitgliederEinzelansicht", , , "MitId=" & Me.MitId.Value).

Wenn ich Änderungen vornehme möchte ich einer Schaltfläche im Einzelformular haben die mich vor oder zurück bringt. Mit "DoCmd.GoToRecord , , acNext" klappt es nicht,da ich das Formular filtere.

Ich hoffe auf eure Hilfe.

Grüße aus dem sonnigen Hamburg

Klaus Meyer
Gast
 

Re: Einzelansicht und nächster Datensatz

Beitragvon KlausMz » 28. Nov 2020, 18:13

Hallo,
Du darfst nicht Filtern, Du musst suchen.

Code: Alles auswählen
    ' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "MitId=" & Me.MitId
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 39830
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: Einzelansicht und nächster Datensatz

Beitragvon derArb » 28. Nov 2020, 18:50

Hallo,
vielleicht eher so? (ungetestet)
Code: Alles auswählen
DoCmd.OpenForm "frmMitgliederEinzelansicht"
Forms!frmMitgliederEinzelansicht.Recordset.FindFirst "MitId=" & Me.MitId

Dann funktioniert Dein Buttoncode.weiterhin.
Code: Alles auswählen
DoCmd.GoToRecord , , acNext
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
derArb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14608
Registriert: 19. Apr 2006, 18:39
Wohnort: Berlin

Re: Einzelansicht und nächster Datensatz

Beitragvon ComputerVersteher » 28. Nov 2020, 23:49

Hi,

Gast hat geschrieben:Wenn ich Änderungen vornehme möchte ich einer Schaltfläche im Einzelformular haben die mich vor oder zurück bringt.
Haben beide Formulare die gleiche Datensatzquelle (Abfrage/Tabelle)?

Dann Versuch mal:

Code: Alles auswählen
Const FormName as String = "Endlosformular Name"
Set Me.Recordset = Forms(FormName).Recordset.Clone
Me.Bookmark = Forms(FormName).Bookmark

Sollen die beiden Formulare auch noch syncron (gleicher Datensatz) sein?

Dann:
Const FormName as String = "Endlosformular Name"
Code: Alles auswählen
Set Me.Recordset = Forms(FormName).Recordset


Die FindFirst Methode hat den Nachteil das sie nicht immer die schnellste ist. Außerdem sollte man in Verbindung mit .FindXXXX immer auch auf .NoMatch prüfen (siehe Code im Link), falls nichts gefunden wurde!

Gast hat geschrieben:Mit "DoCmd.GoToRecord , , acNext" klappt es nicht
DoCmd (simuliert quasi den Klick auf die entsprechender Access Funktion,bei .GoToRecord sind das die Navigationspfeile und die Datensatznr unten links im Formular) solltest Du vermeiden wenn es besseren (DoCmd ist z.B. Focus abhängig) Ersatz wie z.B
Code: Alles auswählen
Me.RecodSet.MoveNext/Previous ' Code im Formular verwendet
Forms(FormName).RecordSet.MoveNext 'Code außerhalb des zu bewegenden Formulars
gibt . Ich benutze eigentlich nur noch DoCmd.FormOpen/Report und DoCmd.OutputTo.

Gruß CV
"Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."
Benutzeravatar
ComputerVersteher
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 429
Registriert: 23. Jul 2016, 18:17


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste