Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Ist es möglich aus einem Unterformular heraus Datensatz zu öffnen, weil

Begonnen von derilzemer, Mai 12, 2017, 16:48:29

⏪ vorheriges - nächstes ⏩

derilzemer

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
Grüße und Dank im voraus
Andreas

DF6GL

Hallo,


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


ZitatPrivate Sub SpielID_Click()

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

End Sub

derilzemer

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
Grüße und Dank im voraus
Andreas

DF6GL

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

derilzemer

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
Grüße und Dank im voraus
Andreas