Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

zwei Unterformulare im Hauptformular

Begonnen von 1200er, November 08, 2025, 06:28:30

⏪ vorheriges - nächstes ⏩

1200er

Hallo zusammen, ich möchte mich erst einmal vorstellen.
Bin 67 Jahre alt und schon seit 2011 Mitglied dieses Forums. Habe aber bis jetzt erst ein Thema geschrieben (aber viel gelesen). Nun da ich Rentner bin und mein "Gehirn" ein wenig fordern möchte, würde ich meinem Sohn für seine Hobbyautowerkstatt gerne eine kleine DB erstellen (bin Anfänger). Habe auch schon drei Tabellen (tblKunde, tblFahrzeug und tblService) erstellt und die Beziehung hergestellt. Nun zu meinem Problem: Ich möchte gerne ein Hauptformular mit zwei Unterformularen haben. Im Hauptformular (mehrere Elemente bereits erstellt)habe ich nun die Angaben der Kunden und im erste UFO die Daten der Fahrzeuge (Datenblatt). Bei Doppelklick auf den ersten von evtl. mehreren Datensätze (ein Kunde kann ja mehrere Fahrzeuge haben (1:n)) sollte im zweitem UFO die Daten vom Service für dieses im ersten UFO angeklicktem Fahrzeug befinden.
Leider bekomme ich das nicht hin. Vielleicht sehe ich vor lauter Bäumen den Wald nicht mehr  :o
Für eine Hilfe / einen Rat wäre ich sehr dankbar. Bin schon Tage damit beschäftigt.

Knobbi38

Hallo,

anstatt zwei UF im Hauptformular unterzubringen, wäre es einfacher, die Formulare zu kaskadieren, also ein UF im UF.

Denke daran, dass zunächst immer erst ein Datenmodell erstellt wird, bevor man die Formulare entwickelt, sonst zäumst du das Pferd von hinten auf!


Knobbi38

1200er

Hallo Knobbi38, vielen Dank für die schnelle Antwort. Ich glaube schon, dass ich mir Gedanken über das Datenmodel gemacht habe. Wie schon geschrieben: Tabellen stehen, Beziehungen sind gestellt. Soweit funktioniert die DB ja. Mit einzelnen Formularen zu den Tabellen geht es ja. Allerdings möchte ich ein anständiges Formular erstellen , in dem ich alle mir relevanten Daten zu sehen sind. Ich werde das mit der Kaskadierung in Betracht ziehen. Es werde sicherlich weitere Probleme auftreten. Dann melde ich mich wieder.
VG

Beaker s.a.

@1200er

Wie immer du dich entscheidest, beachte Folgendes.
- Gebe den UFo-Steuerelementen unbedingt einen anderen Namen als den
eingebetteten Formularen.
- Lese dieses https://www.donkarl.com?FAQ4.2

gruss ekkehard


P.S. Wenn man sich schon vorstellt, könnte man auch seinen Real(Vor)namen bekannt
geben.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

1200er

Hallo Ekkehard: Mein Vorname lautet Wilfried. Sorry habe nicht drüber nachgedacht. Ich hoffe das Forum kann mir das verzeihen.

MzKlMu

Hallo,
ZitatTabellen stehen, Beziehungen sind gestellt.
Dann zeige bitte mal ein Bild des Beziehungsfensters.

Ich würde die Formulare anders gestalten.
Wenn ich in die Werkstatt komme, werden ich nach dem Kennzeichen des Fahrzeugs gefragt. Die Dame an der Anmeldung sucht dann das Fahrzeug und hat man automatisch auch den Kunden. Daher würde ich im Hafo das Fahrzeug anzeigen. Datenquelle eine Abfrage die die Kundendaten und die Fahrzeugdaten zusammenführt. Dann nur ein Ufo für die Servicedaten.
Gruß Klaus

1200er


Beaker s.a.

Hallo Wilfried,
ZitatIch hoffe das Forum kann mir das verzeihen.
Auf jeden Fall, - in Foren sieht man das nicht so eng. Ich bin aber noch in den
Newsgroups so zu sagen "gross geworden", und da legte man grossen Wert darauf.
Und, wie gesagt, wenn man sich schon "vorstellt" ...

Zu Klaus' Vorschlag noch ein Tipp. Verwende das Kennzeichenfeld nicht als PK,
sondern bleibe dafür bei der Auto-ID für Beziehungen und Verknüpfungen. Hast du
aber, wie ich gerade gesehen habe.

Die Servicetabelle bietet allerdings noch Möglichkeiten die Services näher zu
spezifizieren (Nachschlagetabelle(n) anstatt die nur zu beschreiben.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

1200er

Wenn ich nun aber das Kennzeichen nicht habe, suche ich nach dem Namen. Dann werden alle Fahrzeuge des Kunden aufgelistet.
Im Anhang mein erstes Hauptformular. Oben Kunde unten UFO Fahrzeuge.

1200er

Hallo Ekkehard, die Service Tabelle soll natürlich weiter wachsen. Wie schon gesagt, bin ich im Aufbau. Ich muss mich mit meinem Sohn, der soll ja damit arbeite, immer kurz schließen(was ich natürlich gerne mache :) )

Beaker s.a.

ZitatWenn ich nun aber das Kennzeichen nicht habe, suche ich nach dem Namen.
Ist ja mit Klaus' Vorschlag auch zu machen. Brauchst du nur zwei Suchfelder im HFo.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

1200er

Halo ich bin es mal wieder. Ich habe mein Formular umgestellt. Soweit so gut. Jetzt möchte ich mit Doppelklick auf ein Feld(Kennzeichen) das sich das Formular "Service" mit dem angeklickten Kennzeichen öffnet. Ich habe eine Code gefunden. Leider bekomme ich immer eine Fehlermeldung. Das Formular existiert. Auch der Name des Formulars ist richtig. Kann da wer helfen?

1200er

Ich habe gerade einen Code ausprobiert, bei dem ich auch eine Fehlermeldung bekommen habe. Daraufhin habe ich mir den Code genau angesehen. Leider habe ich beim Formularname ie und ei verwechselt. Jetzt funktioniert es erst einmal.
VG

Beaker s.a.

Hallo Wilfried,

Dein Code macht m.E. keinen Sinn. Warum willst du ein Formular öffnen,
das schon als UFo geöffnet ist?

Zum Code an sich, - zum Öffnen eines Forms brauchst du keine Prüfung auf
"IsLoaded". Das übernimmt VBA automatisch, will sagen, wenn schon offen
wird nur der Focus auf das Form verschoben. "IsLoaded" musst du nur prüfen,
wenn du direkt auf eine Eigenschaft eines Forms zugreifen willst. Ein einfaches
OpenForm würde hier reichen.

Leider sieht man nicht welches Ereignis diesen Code auslöst, - bitte immer den
Prozedurkopf mit kopieren. Dann deklarierst du eine Variable "IDWert", die aber
bis zur Verwendung immer NULL bleibt (Standard bei Variant). Ich vermute, dass
das der FK auf das Kfz. ist. Der wird aber bei einer Verknüpfung des UFo auch
autom. gesetzt bei neuen DS. Vorausgesetzt du hast Klaus' Vorschlag mit nur einem
UFo für die Servicetabelle übernommen. Wenn du i.Ü. immer einen neuen DS erzeugen
willst kannst du das auch über die Eigenschaft "Daten eingeben" steuern.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

1200er

Hallo Ekkehard, vielen Dank für dein Kommentar. Ich habe inzwischen auf den Tipp von Klaus reagiert und ein anderes Formular erstellt. Des Weiteren habe ich einen Code zum öffnen eines Formulars bei Doppelklick auf Kennzeichen eingefügt (siehe Anhang). Funktioniert . Jetzt werde ich weiter machen. Verbesserungen sind ja immer möglich. Wenn Fragen auftreten, bin ich hier ja Gold richtig :-)