Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: ChemSim am März 03, 2024, 18:25:36

Titel: Weiterleitung von einem Formular zum anderen
Beitrag von: ChemSim am März 03, 2024, 18:25:36
Hallo zusammen,

in meiner MS Access Datenbank habe ich ein Formular frmAnlagenBearbeiten, mit dem ich Einträge in meine Tabelle tblAnlagen einfüge, bearbeite oder lösche. Da jedem Eintrag auch ein Hersteller zugeordnet wird, habe ich ein Kombinationsfeld erstellt, mit welchem ich nach den Herstellern filtern kann, wobei sich dann ein neues Formular frmAnlagen in Datenblattansicht öffnet, in dem die gefilterten Anlagen nach dem ausgewählten Hersteller angezeigt werden.

Gibt es eine Möglichkeit, per Mausklick auf einen beliebigen Eintrag in der Datenblattansicht wieder auf das Formular frmAnlagenBearbeiten zurückgeleitet zu werden, um den ausgewählten Datensatz zu bearbeiten?

Würde mich über eure Hilfe sehr freuen!

Gruß
Simon
Titel: Re: Weiterleitung von einem Formular zum anderen
Beitrag von: ebs17 am März 03, 2024, 19:37:02
Angenommen, die erste Spalte heißt txtID und enthält die Datensatz-ID, dann liefert ein Klick auf txtID die ID dieses Datensatzes.
Private Sub txt_Click()
   Debug.Print Me.txtID
End Sub
Mit der ID hast Du Zugriff auf den Datensatz in allen möglichen anderen Formularen.

ZitatMausklick auf einen beliebigen Eintrag
Beliebig kostet. Dann benötigst Du für jede Spalte eine Auswertung per Ereignisprozedur.
Titel: Re: Weiterleitung von einem Formular zum anderen
Beitrag von: ChemSim am März 04, 2024, 08:17:22
Hallo,

die Datenblattansicht des Formulars frmAnlagen sieht wie folgt aus:

Unbenannt.PNG

Hierbei sind die Spalten "Produkt", "Hersteller", "Standort" und "Technologie" jeweils mit Fremdschlüsseln auf andere Tabellen verwiesen.

Nun möchte ich durch einen Klick auf z. B. das Produkt in einer Zeile wieder auf das Formular frmAnlagenBearbeiten zurückgeleitet werden. Dieses Formular wird ganz normal in der Formularansicht geöffnet.

Da es in dem Formular frmAnlagen wirklich keine eindeutige Datensatz ID gibt (weil ja nur Fremdschlüssel verwendet werden), bin ich unsicher, wie ich deine Methode implementieren soll.

Gruß
Simon
Titel: Re: Weiterleitung von einem Formular zum anderen
Beitrag von: ChemSim am März 04, 2024, 08:27:59
EDIT:

Ich habe es gerade mit dem folgenden Code hinbekommen:

Private Sub DeineDatenblattansicht_DblClick(Cancel As Integer)
    On Error Resume Next
   
    Dim rs As DAO.Recordset
   
    ' Überprüfe, ob eine Zeile ausgewählt ist
    If Me.Dirty Then Me.Dirty = False ' Speichere die Änderungen, falls erforderlich
    If Me.RecordsetClone.RecordCount = 0 Then Exit Sub ' Beende die Prozedur, wenn keine Zeile vorhanden ist
   
    ' Öffne das andere Formular
    DoCmd.OpenForm "DeinAnderesFormular", acNormal, , , , acWindowNormal
   
    ' Suche den Datensatz im anderen Formular, der dem ausgewählten Datensatz entspricht
    Set rs = Forms!DeinAnderesFormular.RecordsetClone
    rs.FindFirst "ID = " & Me.ID
    If Not rs.NoMatch Then
        Forms!DeinAnderesFormular.Bookmark = rs.Bookmark
    End If
   
    rs.Close
    Set rs = Nothing
End Sub

Gruß
Simon
Titel: Re: Weiterleitung von einem Formular zum anderen
Beitrag von: ebs17 am März 04, 2024, 09:16:55
Zitatum den ausgewählten Datensatz zu bearbeiten?
Für eine eindeutige Auswahl braucht man eine eindeutige ID (könnte auch ein Mehrfelderschlüssel sein).

Wenn Du so etwas nicht hast (eigene Aussage!), dann findest Du nicht DEN ausgewählten Datensatz, sondern bestenfalls EINEN davon. FINDFIRST dürfte selbsterklärend sein.

ZitatIch habe es gerade mit dem folgenden Code hinbekommen:
Ich weiß nicht, ob Du erkennen kannst, dass Du etwas anderes umsetzt, als Deine ursprüngliche Aufgabe aussagte. Mit einer derartigen Unklarheit provozierst Du folgende "Überraschungen".
Titel: Re: Weiterleitung von einem Formular zum anderen
Beitrag von: ChemSim am März 04, 2024, 09:38:29
Mit dem oben genannten Code gehe ich ja über die AnlageID, der eindeutige Schlüssel in der zugehörigen Tabelle tblAnlagen. Daher sollte es funktionieren und keine Doppelungen anzeigen.

Gruß
Simon
Titel: Re: Weiterleitung von einem Formular zum anderen
Beitrag von: MzKlMu am März 04, 2024, 09:59:08
Hallo,
Du wolltest doch nach Herstellern suchen, wie du selbst geschrieben hast.
Mit der AnlageID findet man aber keinen bestimmten Hersteller.
Titel: Re: Weiterleitung von einem Formular zum anderen
Beitrag von: ebs17 am März 04, 2024, 09:59:53
Zitatwirklich keine eindeutige Datensatz ID
Mit dem Interpretieren, ob man Deine Aussagen für wahr nehmen kann, bin ich offensichtlich überfordert.
Titel: Re: Weiterleitung von einem Formular zum anderen
Beitrag von: ChemSim am März 04, 2024, 12:16:44
Zitat von: MzKlMu am März 04, 2024, 09:59:08Du wolltest doch nach Herstellern suchen, wie du selbst geschrieben hast.

Hallo,

nicht ganz, die Einträge im Formular frmAnlagen sind Anlagen, keine Hersteller. Daher ist die Verwendung von AnlageID schon korrekt.

Wie bereits gesagt konnte ich das Problem schon selbst lösen!

Gruß
Simon