Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: derilzemer am Mai 12, 2017, 16:48:29

Titel: Ist es möglich aus einem Unterformular heraus Datensatz zu öffnen, weil
Beitrag von: derilzemer am Mai 12, 2017, 16:48:29
Hallo,
ja weil sich das Ufo im Erfassungsformular befindet. Da ich im Ufo Varianten aufliste, wo auch die Spiel-ID gezeigt wird, fände ich es sinnig, wenn man mit einem Klick direkt in den Datensatz springen kann, auf den im Ufo verwiesen ist. Das ganze habe ich mal im Bild festgehalten, wie es aktuell aussieht, bild1 zeigt das Beispiel.
Ich befinde mich im Spiel-ID 442 und habe einen Hinweis, dass es eine Variante gibt, Spiel-ID 2378. Nun ist der "einfache" Gedanke, klicke ins Feld ID der Variante und er ruft dann diesen Datensatz auf. Geht das überhaupt?
Ich habe genau solch eine Lösung in meinem Suchformular, jedoch befinde ich mich da in einem anderen Formular und öffne dann mit dem Klick auf die Spiel-ID das frmErfassung. Wer kann mich da erhellen und wie geht das wenn es geht. Hier noch der Code der Lösung, welche ich im Suchformular nutze.
Private Sub SpielID_Click()

    Dim lngID As Long

    lngID = Me.SpielID
    'Wenn das Formular noch nicht geöffnet ist, wird's hier erledigt
        If Not SysCmd(acSysCmdGetObjectState, acForm, "frmErfassung") > 0 Then
            DoCmd.OpenForm "frmErfassung"
End If
    'Den gesuchten/gefundenen Datensatz anzeigen
        Forms!frmErfassung.Recordset.FindFirst "SpielID=" & lngID
End Sub


Gruß und vielen Dank für die Unterstützung
Andreas
Titel: Re: Ist es möglich aus einem Unterformular heraus Datensatz zu öffnen, weil
Beitrag von: DF6GL am Mai 12, 2017, 17:39:11
Hallo,


es reicht völlig  (habe aber die Beschreibung nicht genau verstanden...):


ZitatPrivate Sub SpielID_Click()

            DoCmd.OpenForm "frmErfassung",,,"SpielID=" & Me!SpielID

End Sub
Titel: Re: Ist es möglich aus einem Unterformular heraus Datensatz zu öffnen, weil
Beitrag von: derilzemer am Mai 12, 2017, 17:57:59
Hallo Franz,
danke für die schnelle Antwort erst einmal. Ich habe eine kleine Unsicherheit beim integrieren. Das Feld wo die ID anzeigt beruht auf einer Abfrage, in der zur damaligen Zeit die Tabelle tblSpiele 2x im Query benutzt wird (siehe auch bild2).
SELECT tblIdentVariArt.SpielID_F, tblIdentVariArt.IdentVariArtID_F, tblSpiele_1.SpielNr
FROM tblSpiele INNER JOIN (tblIdentVariArt INNER JOIN tblSpiele AS tblSpiele_1 ON tblIdentVariArt.IdentVariArtID_F = tblSpiele_1.SpielID) ON tblSpiele.SpielID = tblIdentVariArt.SpielID_F;

Dann dachte ich man muss den von dir vorgeschlagenen Code wie folgt abwandeln, oder?
Private Sub cboIdentQuartettNr_Click()

            DoCmd.OpenForm "frmErfassung",,,"SpielID_F=" & Me!SpielID

End Sub


Aber das passt so nicht, es passiert nichts :(, auch keine Fehlermeldung.
Gruß Andreas
Titel: Re: Ist es möglich aus einem Unterformular heraus Datensatz zu öffnen, weil
Beitrag von: DF6GL am Mai 12, 2017, 18:20:19
Hallo,

sorry, ich kenne die Hintergründe da nicht..
Das Form wird mit dem DS geöffnet, bei dem der Inhalt aus "SpielID_F" (muss in der Datenherkunft vorhanden sein, bzw. es muss mit der Tabelle qualifiziert werden "tblIdentVariArt.SpielID_F") mit dem Inhalt des Formularfeldes "SpielID" übereinstimmt.


 
DoCmd.OpenForm "frmErfassung",,,"tblIdentVariArt.SpielID_F=" & Me!SpielID
Titel: Re: Ist es möglich aus einem Unterformular heraus Datensatz zu öffnen, weil
Beitrag von: derilzemer am Mai 12, 2017, 18:30:34
Hallo Franz,
Zitat von: DF6GL am Mai 12, 2017, 18:20:19
sorry, ich kenne die Hintergründe da nicht..
Das Form wird mit dem DS geöffnet, bei dem der Inhalt aus "SpielID_F" (muss in der Datenherkunft vorhanden sein, bzw. es muss mit der Tabelle qualifiziert werden "tblIdentVariArt.SpielID_F") mit dem Inhalt des Formularfeldes "SpielID" übereinstimmt.

DoCmd.OpenForm "frmErfassung",,,"tblIdentVariArt.SpielID_F=" & Me!SpielID
Entschuldigen musst du dich mal nicht, wenn das nicht gleich passt. Ich habe hier noch einmal das Bild der qrySpielIDNrVari angehängt. Wenn ich dich richtig verstanden habe, dann habe ich den DoCmd wie folgt angepasst (aber hat natürlich nicht funktioniert :( ....)
Private Sub cboIdentQuartettNr_Click()
            DoCmd.OpenForm "frmErfassung", , , "tblIdentVariArt.IdentVariArtID_F=" & Me!tblSpiele.SpielID
End Sub

Ich gehe davon aus, dass es kein Problem ist, wenn man auf einem Kombifeld ein Klickereignis binden will.

Gruß Andreas