collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 64
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 7
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13804
  • stats Beiträge insgesamt: 63512
  • stats Themen insgesamt: 8606
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Ein Formular samt Unterformular per Doppelklick auf Datensatz öffnen  (Gelesen 97 mal)

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Hallo,
ich habe ein Listenfeld in einem Formular und möchte per Doppelklick den zugehörigen Datensatz in einem anderen Formular öffnen. An anderer Stelle habe ich dies bereits etabliert. Ich stolpere jetzt darüber, dass das zu öffnende Formular ein Unterformular enthält, das wiederum die ID enthält, auf die ich mich beziehen möchte.

DoCmd.OpenForm "frmBahnen", , , "bahn_ID = " & Me!bahn_ID, , acDialog
öffnet lediglich das übergeordnete Formular ohne dem angeklickten Datensatz Rechnung zu tragen.

DoCmd.OpenForm "Forms!frmBahnen!frmWartungen", , , "wart_ID = " & Me!wart_ID, , acDialog
funktioniert natürlich nicht. Öffne ich lediglich das Unterformular, so bekomme ich ebenso eine Fehlermeldung, weil sich dieses logischerweise auf das übergeordnete Formular bezieht.

Gibt es einen Weg mit DoCmd.Open die Formular-Hierarchie abzubilden oder muss ich völlig anders vorgehen?

Gruß,
Dennis
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6940
Re: Ein Formular samt Unterformular per Doppelklick auf Datensatz öffnen
« Antwort #1 am: November 17, 2017, 12:02:49 »
Hallo,
das Ufo sollte doch mit dem Hafo verknüpft sein, daher genügt es doch nur das entsprechende Hafo zu öffnen.
Gruß
Klaus
 

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Ein Formular samt Unterformular per Doppelklick auf Datensatz öffnen
« Antwort #2 am: November 17, 2017, 12:09:42 »
Hallo,
dachte ich mir eigentlich auch so. Aber leider wird nicht der zugehörige Eintrag geöffnet. Möglicherweise beziehe ich mich auf die falsche ID.
 

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Ein Formular samt Unterformular per Doppelklick auf Datensatz öffnen
« Antwort #3 am: November 17, 2017, 12:45:30 »
Hallo,
ich habe gerade ein Debug.Print auf Me!bahn_ID angewendet und bekomme, ganz gleich welchen Wert ich in der Liste anklicke, immer den Wert "1" zurück. Woran kann das liegen?

EDIT: Die Liste bezieht ihren Inhalt der Auswahl verschiedener Kombis. Kann es daher sein, dass ein Doppelklick daher immer den selben Wert zurückgibt?

« Letzte Änderung: November 17, 2017, 13:00:52 von gilles_de_rais »
 

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Ein Formular samt Unterformular per Doppelklick auf Datensatz öffnen
« Antwort #4 am: November 17, 2017, 13:04:10 »
Hallo,
meine Vermutung, dass es mit der Art wie der Inhalt des Listenfeldes bezogen wird, scheint falsch zu sein.

Testweise habe ich als Datensatzherkunft eine Tabelle angegeben und auch hier bekomme ich für die betreffende ID immer eine "1" zurück. Entsprechend natürlich auch kein zufriedenstellendes Ergebnis beim Aufrufen des Formulars.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6940
Re: Ein Formular samt Unterformular per Doppelklick auf Datensatz öffnen
« Antwort #5 am: November 17, 2017, 13:25:55 »
Hallo,
zeige den verwendeten Code.

Ein Listenfeld gibt bei Klick den Wert der gebundenen Spalte zurück.
Daher erkläre die Einstellungen des Listenfeldes und zeige den SQL Text der Abfrage für das LF.
Gruß
Klaus
 

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Ein Formular samt Unterformular per Doppelklick auf Datensatz öffnen
« Antwort #6 am: November 17, 2017, 13:43:05 »
Hallo,

SQL Listenfeld:
SELECT DISTINCT tblBahnen.bahn_ID, tblWartungen.wart_id, tblBahnen.bahn_name, tblWartungAuswahl.aus_wahl_ID, tblWartungAuswahl.aus_art, tblWartungen.wart_datum, Year([wart_datum])
AS wart_jahr, DatePart("ww",[wart_datum],2,2)
AS wart_kw, Month([wart_datum]) AS wart_monat, Format(DateSerial(1,CInt([wart_monat]),1),"mmmm")
AS wart_monnam, Format([wart_datum],"ww",2,2)
AS wart_kawe
FROM ((tblWartungAuswahl INNER JOIN (tblBahnen INNER JOIN tblWartungen ON tblBahnen.bahn_ID = tblWartungen.bahn_id_f) ON tblWartungAuswahl.aus_wahl_ID = tblWartungen.aus_wahl_id_f)
INNER JOIN tblWochenwartung ON tblWartungAuswahl.aus_wahl_ID = tblWochenwartung.aus_art) INNER JOIN tblWoch_Wart ON (tblWochenwartung.woch_ID = tblWoch_Wart.woch_id_f)
AND (tblWartungen.wart_id = tblWoch_Wart.wart_id_f)
ORDER BY tblBahnen.bahn_ID, tblWartungAuswahl.aus_wahl_ID, tblWartungen.wart_datum, DatePart("ww",[wart_datum],2,2);

Und Code für Doppelklick:
DoCmd.OpenForm "frmBahnen", , , "bahn_id = " & Str(lstWartungen), , acDialog
Ich habe mittlerweile zumindest einen Fehler abstellen können. Str(lstWartungen) hat den Unterschied gemacht. Trotzdem habe ich keinen Zugriff auf die Daten des Unterformulars.

Das HaFo bezieht sich auf die bahn_ID und zeigt das jeweils ausgewählte Fahrzeug. Funktioniert mit dem oben genannten Code auch wunderbar.

wart_id im Unterformular (frmWartungen) im selben Code eingesetzt funktioniert leider nicht und führt nur dazu, dass ich die wart_id manuell eingeben muss.
 

Offline gilles_de_rais

  • Access-User
  • *
  • Beiträge: 54
Re: Ein Formular samt Unterformular per Doppelklick auf Datensatz öffnen
« Antwort #7 am: November 17, 2017, 14:25:56 »
Hallo,
ich habe jetzt einfach das Unterformular kopiert und etwas angepasst. So geht es wunderbar! Ich denke, mit der Lösung kann ich leben!