Access abfrage-rückspingfeld zu formular

Hallo Ihr Wisenden,

ich habe eine Access Datenbank mit Formular und Unterformular bzw. -tabelle. In dem Eingabeformular habe ich einen Button erstellt, der eine Abfrage auslöst. Die Ergebnisse der Abfrage werden in einem eigenen Formular dargestellt. In eben dieses Formular möchte ich hinter jedes Ergebnis einen Button machen, der zurück springt in den betreffenden Datensatz im Eingabeformular, dieses geissermaßen an der richtigen Stelle öffnet. Ich habe auch eine Möglichkeit mit Befehl GeheZu gefunden, leider wird dann ein Filter im Eingabeformular gesetzt, den ich nach der Datensatzänderung mühsam per Maus wieder entfernen muß. Ich möchte eigentlich nur einen Spring-in-den-betreffenden-Datensatz-im-Eingabeformular-Knopf.
Hoffe, Ihr könnt mir helfen. Arbeite mit Access 2000. DANKE.

Hallo Stephan,

könnte es sich um eine Suchfunktion handeln, die du da versuchst zu programmieren?

Falls JA, versuche mal den Weg:

  • öffne dein Hauptformular zur Bearbeitung
  • blende die Toolbox - Symbolleiste ein
  • schalte über Ansicht den Formular- Kopf/Fuß ein
  • wähle in der Toolbox das Kombinationsfeld
  • platziere es im Formularkopf
  • im sich nun öffnenden Assistenten wähle: Einen Datensatz im Formular basierend auf dem im Kombinationsfeld gewählten Wert suchen.
  • wähle nun die im Kombinationsfeld anzuzeigenden Felder
  • definiere nun die Spaltenbreite/n
  • beschrifte nun das Feld
  • fertig ist die Suchfunktion

btw: schau dir den VBA Code an. Er enthält alles was du benötigst um einen gewählten Datensatz zu merken und auch wieder aufzurufen :smile:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Leider nicht ganz
Hallo Wolfgang,

leider ist es nicht ganz das, was ich suche. Ich brauche das Abfrageformular mit den selektierten Datensätzen um gewissermaßen per Mensch die allerletzte Auswahl zu treffen, da sich die Daten so ähneln. Es soll also im Abfrageformular der Befehl „Formular öffnen“ als Befehlsschaltfläche erscheinen (Befehl 17). Das funktioniert auch prima. Access öffnet den Datensatz im Formular an exakt der Stelle, an der ich es wünsche - JEDOCH MIT FILTER. Um dann weiter zu arbeiten, muß ich das Filtersymbol per Maus wieder ausschalten. Und das stört mich. Gibt’s da noch eine andere Möglichkeit?

Dank und fröhliche Grüße, Stephan.

Hallo Stephan,

du kannst per VBA „sagen“: Me.Filteron = false
Das spart dir des Wegklicken des Filters per Maus.

Aber, wenn du - wie beschrieben - mit Bookmarks arbeitest, entfällt der Filter.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

nochmals kurze hilfe vonnöten
hallo netwolf,

das mit dem filter ausschalten ist, glaube ich, exakt das was ich suche. Leider weiß ich nicht, wohin ich nas im VBA schreiben muß. Hier der Code meines Öffen befehls:

Private Sub Befehl12_Click()
On Error GoTo Err_Befehl12_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = „EINZELKUNDENERFASSUNG MIT NUMMERNVERWALTUNG“
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Befehl12_Click:
Exit Sub

Err_Befehl12_Click:
MsgBox Err.Description
Resume Exit_Befehl12_Click

End Sub

Wohin gehört das Me.FilterOn = False ???

Danke für die Mühe, Stephan.

Hallo Stephan,

das mit dem filter ausschalten ist, glaube ich, exakt das was
ich suche. Leider weiß ich nicht, wohin ich nas im VBA
schreiben muß.

in das Formular, dessen Filter du ausschalten willst. Wann ist abhängig vom Ereignis, das du dir ja aussuchen kannst.

Hier der Code meines Öffen befehls:

der Button ist auf einem anderen Formular… dort gibt es keinen Filter den du ausschalten willst.

Dim stLinkCriteria As String
DoCmd.OpenForm stDocName, , , stLinkCriteria

aber du verwendest doch gar nicht stLinkCriteria für die Übergabe der Parameter?

Z.B: "[KDNr]= " & Me.wahl_KDNr

um z.B. nach Kundennummer auszuwählen…

Wohin gehört das Me.FilterOn = False ???

in das Formular mit dem Monsternamen :smile:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)