Kaskade im Formular darstellen

Moderator: ModerationP

Kaskade im Formular darstellen

Beitragvon Gast » 15. Nov 2020, 15:13

Hallo,
es gibt drei Entitäten A, B, C. Sie stehen zueinander in einer 1:n-Beziehung, also eine Kaskade. B hat also den FK zu A und C den FK zu B. Ein Formular soll C als Datensatzquelle haben. Man kann also die Datensätze von B in einer Combobox wiedergeben. Wie kann man denn die Daten von A im Formular zeigen?
Gruß Hubert
Gast
 

Re: Kaskade im Formular darstellen

Beitragvon mmarkus » 16. Nov 2020, 09:40

Gast hat geschrieben:Wie kann man denn die Daten von A im Formular zeigen?


Grundsätzlich verwendet man Subforms und verschiedene Formulare gleichzeitig anzuzeigen.
Da hier aber die Logik fehlt, kann man sonst nicht viel dazu sagen.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1963
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Kaskade im Formular darstellen

Beitragvon Beaker s.a. » 16. Nov 2020, 10:44

Hallo Hubert,
Wie kann man denn die Daten von A im Formular zeigen?

Kommt darauf an, - nur lesend bietet sich ein Listfeld an. Auch schreibend müssten
sie in ein UFo. Wobei ich es schon eigenartig fände, eine übergeordnete Ebene in
ein UFo zu packen.

gruss ekkehard
Ereignisorientierte Programmierung:
Alles, was geschieht, geschieht.
Alles, was während seines Geschehens etwas anderes geschehen
läßt, läßt etwas anderes geschehen.
Alles, was sich selbst im Zuge seines Geschehens erneut geschehen
läßt, geschieht erneut.
Beaker s.a.
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1056
Registriert: 14. Jul 2012, 21:56
Wohnort: Bremen

Re: Kaskade im Formular darstellen

Beitragvon Gast » 16. Nov 2020, 12:21

Hallo,
ich schrieb:
Ein Formular soll C als Datensatzquelle haben.

das Formular zeigt also die n-Seite und zwar die der niedrigsten Stufe der Kaskade.
nur lesend bietet sich ein Listfeld an. Auch schreibend müssten sie in ein UFo
Da ist m.E. weder ein UFo noch ein Listfeld möglich, sondern nur eine Combo.
Aber gilt das auch für A?
Was fehlt denn noch zur Logik? Das Formular mit Datensatzquelle von C (n-Seite) soll ein Feld der 1-Seite von A und B zeigen.
Bei B habe ich dafür eine Combo genommen. Aber was macht man, wenn man ein Feld von A zeigen will?
Gruß Hubert
Gast
 

Re: Kaskade im Formular darstellen

Beitragvon Beaker s.a. » 16. Nov 2020, 12:27

Hallo Hubert,
das Formular zeigt also die n-Seite und zwar die der niedrigsten Stufe der Kaskade.

Schon klar, deshalb schrieb ich ja "eigenartig".
Vielleicht erklärst du den Sinn dahinter.
Normal wäre ja: HFo (A) -> UFo (B) -> UUFo (C)

gruss ekkehard
Ereignisorientierte Programmierung:
Alles, was geschieht, geschieht.
Alles, was während seines Geschehens etwas anderes geschehen
läßt, läßt etwas anderes geschehen.
Alles, was sich selbst im Zuge seines Geschehens erneut geschehen
läßt, geschieht erneut.
Beaker s.a.
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1056
Registriert: 14. Jul 2012, 21:56
Wohnort: Bremen

Re: Kaskade im Formular darstellen

Beitragvon Gast » 27. Nov 2020, 10:06

Hallo,
Vielleicht erklärst du den Sinn dahinter.
Normal wäre ja: HFo (A) -> UFo (B) -> UUFo (C)

Wenn man diese Kaskade "Staaten, Länder, Städte" als Beispiel nimmt, so könnte ein Formular alle Details einer Stadt (C) zeigen. Das Bundesland (B) wird man in einer Combo zeigen/wählen und was macht man beim Staat (A)? Man will ja nicht die Referenz, also die Zahl sehen oder wählen.
Gruß Hubert
Gast
 

Re: Kaskade im Formular darstellen

Beitragvon derArb » 27. Nov 2020, 10:42

Hallo,
das geht schon, dass man in ein leeres HF ein paar UFOs einbaut.
siehe Beispiel.
Als Gast wirst du das Beispiel nicht sehen oder downloaden können.
Dazu musst Du Dich kostenlos anmelden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
derArb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14608
Registriert: 19. Apr 2006, 18:39
Wohnort: Berlin

Re: Kaskade im Formular darstellen

Beitragvon Gast » 27. Nov 2020, 10:59

Hallo,
das mache ich gleich.
Aber auf das Schnelle und vorab. Ich befürchte, dass du die Kaskade abwärts darstellst.
Das ist mir bekannt. Aber wie ich beschrieb, bei meiner Frage geht es die Kaskade aufwärts.
Bin gespannt, ob das in der DB zu sehen ist.
Gruß Hubert
Gast
 

Re: Kaskade im Formular darstellen

Beitragvon Hubert$ » 27. Nov 2020, 11:45

Hallo,
erst mal vielen Dank für die zip. Da steckt viel Arbeit drin :!:
Also ich stelle mir bei diesem Bsp vor, dass man in einem Formular links eine Liste aller Gegenstände hat, die es insgesamt gibt.
Der User will jetzt wissen, wo z.B. der Dreibeintisch zu finden ist. Er sucht danach in der sortierten Liste und der Klick darauf zeigt im Formular die Einzeheiten dieses Tisches (InventarNr,.. evtl. auch Kaufpreis, Kaufjahr, Antiquität u.a.). Er möchte dann auch sehen, wo das Ding steht, also in welchem Raum und Haus. Es geht also die Kaskade hinauf und Hauptgruppe, Untergruppe müssten/sollten evtl. gar nicht gezeigt werden. Statt der Liste wäre auch eine Combo denkbar.
Das ist mein Problem und bei deinem Beispiel wahrscheinlich noch schwieriger zu lösen, da das Datenmodell sehr differenziert ist (evtl. hätte ich die Lookup-Tabelle tbl_RaumArt nicht eingerichtet, um es einfacher zu halten)
Gruß Hubert
Hubert$
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 90
Registriert: 04. Dez 2019, 21:32

Re: Kaskade im Formular darstellen

Beitragvon derArb » 27. Nov 2020, 15:21

Hallo,
auf meinem Beispiel aufbauend kannst Du das mit dem Filterformular von Bitsqueezer elegant lösen.
Du baust Dir eine Abfrage mit den wichtigsten Suchparametern aus allen notwendigen Tabellen
und nimmst diese als Datenherkunft für das Filterformular.
Code: Alles auswählen
SELECT tbl_haus.hausname,
       tbl_raum.raumnr,
       tbl_raumart.raumart,
       tbl_hauptgruppenart.hauptgruppenart,
       tbl_untergruppenart.untergruppenart,
       tbl_gegenstand.inventarnr,
       tbl_gegenstand.kurzbeschreibung,
       tbl_haus.hausid,
       tbl_raum.raumid,
       tbl_hauptgruppe.hauptgruppeid,
       tbl_hauptgruppenart.hauptgruppenartid,
       tbl_untergruppe.untergruppeid,
       tbl_untergruppenart.untergruppenartid,
       tbl_gegenstand.gegenstandsid
FROM   tbl_hauptgruppenart
       INNER JOIN ((tbl_raumart
                    RIGHT JOIN (tbl_haus
                                RIGHT JOIN tbl_raum
                                        ON tbl_haus.[hausid] =
                                           tbl_raum.[hausid_f])
                            ON tbl_raumart.[raumartid] = tbl_raum.[raumartid_f])
                   INNER JOIN (tbl_hauptgruppe
                               LEFT JOIN ((tbl_untergruppenart
                                           RIGHT JOIN tbl_untergruppe
                                                   ON
                                           tbl_untergruppenart.untergruppenartid
                                           =
                                           tbl_untergruppe.untergruppeartid_f)
                                          LEFT JOIN tbl_gegenstand
                                                 ON
                                          tbl_untergruppe.untergruppeid =
                                          tbl_gegenstand.untergruppeid_f)
                                      ON tbl_hauptgruppe.hauptgruppeid =
                                         tbl_untergruppe.hauptgruppeid_f)
                           ON tbl_raum.raumid = tbl_hauptgruppe.raumid_f)
               ON tbl_hauptgruppenart.hauptgruppenartid =
                  tbl_hauptgruppe.hauptgruppenartid_f; 

Das Filterformular gibts kostenlos auf
http://www.ccedv.de/downloads/php/downloads.php?lang=de
Dort lade Dir CCFilterV2_7
Ich komm erst ab 17:00 dazu, Dir ein Beispiel inkl. des Filterformulars zu machen.
Wenn Du es nicht benötigst, einfach melden; spart mir Zeit.

p.s.: die Primarykeys am Ende der Abfrage dienen dazu, im Filterformular per Doppelklick ein entsprechendes
Stammdatenformular öffnen zu können und den gewünschten Datensatz direkt anzuspringen.
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
derArb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14608
Registriert: 19. Apr 2006, 18:39
Wohnort: Berlin

Re: Kaskade im Formular darstellen

Beitragvon Hubert$ » 28. Nov 2020, 10:12

Hallo,
die Primarykeys am Ende der Abfrage dienen dazu, im Filterformular...

So ganz ist mir das nicht klar im Zusammenhang mit dem Filterformular.
Wenn du so nett wärst, dein Beispiel hier einzustellen? :)
Ist mir wirklich ein Anliegen, das endlich mal hinzukriegen.
Gruß Hubert
Hubert$
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 90
Registriert: 04. Dez 2019, 21:32

Re: Kaskade im Formular darstellen

Beitragvon derArb » 28. Nov 2020, 15:18

Hallo,
hier mal ein schnelles Beispiel des Filterformulars (Ich nenne es auch Suchformular) von Bitsqueezer.
Darüber filtert man nach den Suchparametern in den Suchfeldern.
Das Ergebnis der Suche kann man dann per Doppelklick auf eine ausgewählte Spalte eines Datensatzes verfeinert sich zeigen lassen.
Ich habs mal nur für die Spalte Hausname als Beispiel realisiert.
Viel Spaß
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
derArb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 14608
Registriert: 19. Apr 2006, 18:39
Wohnort: Berlin


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste