Unterformular Einbinden

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

lokgeist
**
Beiträge: 21
Registriert: Fr, 19.04.2013 10:59

Unterformular Einbinden

Beitrag von lokgeist »

Hallo liebe Office Helfer,

ich habe mir eine Rezeptdatenbank erstellt die bisher auch gut funktionierte.
Nun will ich aber aus der ursprünglich einen Kategorien-spalte gleich vier machen.
Dazu habe ich nun ein neues Unterformular erstellt mit den vier Spalten. Aber die Abfrageverknüpfung bekomme ich einfach nicht in den Griff.
Ich hätte gern Folgende Reihenfolge:
„Rezept“ --- Notizen“ --- „Buch-Heftname“ --- „Kat“ --- „Datum“--- „SeitenNr“.
Aber wie kann ich nach Auswahl der Kategorie prüfen ob in einem der 4 Felder der Kategorienschlüssel stimmt?

Ich bitte um Hilfe
Detlev
Dateianhänge
Kategorien.png
Kategorien.png (28.24 KiB) 3380 mal betrachtet
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Unterformular Einbinden

Beitrag von RobertG »

Hallo Dtlev,

ich versuchs einmal, auch wenn ich mir nicht klar bin, ob ich überhaupt kapiert habe, worauf Du hinaus willst:
In "Rezepte..." stehen (als "Kategorien") Fremdschlüssel der Tabelle "Kat". Du willst wissen, ob der gleiche Schlüsselwert für den gleichen "Rezepte..."-Datensatz in einer der "Block-Kategorien" schon existiert?
SELECT "Rezepte..."."ID" FROM "Rezepte...", "Block..." WHERE "Rezepte..."."ID" = "Block..."."ID" AND ("Rezepte..."."Kategorien" = "Block..."."Kat-Block1" OR "Rezepte..."."Kategorien" = "Block..."."Kat-Block2" OR ...)
Haben die Kategorien bisher tatsächlich nichts miteinander zu tun, dass Du aus einer Kategorie 4 Kategorien machen willst? Oder soll das eher in die Richtung "Hauptkategorie" → "Unterkategorie" gehen? Dann wäre so ein Aufbau, wie in der Abfrage zu sehen, für die Block-Kategorien falsch.

Gruß

Robert
lokgeist
**
Beiträge: 21
Registriert: Fr, 19.04.2013 10:59

Re: Unterformular Einbinden

Beitrag von lokgeist »

Hallo Robert,
vielen vielen Dank dass Du mir helfen tust. Ich versuche mal mich besser und verständlicher aus zu drücken.
Ich glaube ich bin das ganze von einer wohl falschen Empfehlung angegangen.
In der neuen Tabelle kommt glaube ich mehr Licht ins Dunkel.
Erst mal eins der bis jetzt 6 Bücher bzw. Hefte der Reihe nach anwählen.
In diesem eine der bisher 20 Kategorien der Reihe nach auswählen.
Schauen ob in einen der vier Blöcke eine Übereinstimmung ist.
Wenn ja, dann nach Datum sortieren und schließlich noch nach Seitennummer sortieren.
Aber die Funktionen und Kriterien in die richtige Reihenfolge zu setzen fällt mir unheimlich schwer.
Ohne die Blöcke abzufragen hatte ich ja schon und war so auch zufriedenstellend
Könntest Du mir Bitte weiter helfen?

Tschüß
Detlev
Dateianhänge
Kategorien2.png
Kategorien2.png (31.14 KiB) 3348 mal betrachtet
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Unterformular Einbinden

Beitrag von RobertG »

Hallo Detlev,

ohne vorliegende Datenbank ist das etwas schwieriger. Ich versuche es einmal - aber wieder im SQL-Code.

Code: Alles auswählen

SELECT "Buch-Heftname".*, "RezepteDatenImport".*, "Kat".* FROM "Buch-Heftname", "RezepteDatenImport", "Kat" 
WHERE "Buch-Heftname"."ID" = "RezepteDatenImport"."ID-Buch-Heft" AND "Kat"."ID" = "RezepteDatenImport"."Kategorien" 
AND ("RezepteDatenImport"."Kat-Block1" = "RezepteDatenImport"."Kategorien" OR "RezepteDatenImport"."Kat-Block2" = "RezepteDatenImport"."Kategorien" 
OR "RezepteDatenImport"."Kat-Block3" = "RezepteDatenImport"."Kategorien" OR "RezepteDatenImport"."Kat-Block4" = "RezepteDatenImport"."Kategorien")
ORDER BY "Buch-Heftname"."Buch-Heft", "Kat"."Kategorien", "RezepteDatenImport"."Datum", "RezepteDatenImport"."SeitenNr"
Die Auswahl trifft nur die Datensätze, bei denen "Kategorien" und eins der 4 Felder gleich ist (oder auch mehrere ...).
Die Auswahl ist der Reihenfolge nach sortiert: zuerst das heft, dann die Kategorie, dann das Datum, dann die Seite.

Das müsste eigentlich Deinem Vorhaben entsprechen. Wie das letztlich in der grafischen Benutzeroberfläche aussieht habe ich jetzt nicht getestet. Du musst also bei einer (neuen) Abfrage auf die direkte Eingabe des SQL-Befehls umschalten (Symbol mit dem Dreieck -grafischer Modus aus).

Gruß

Robert
lokgeist
**
Beiträge: 21
Registriert: Fr, 19.04.2013 10:59

Re: Unterformular Einbinden

Beitrag von lokgeist »

Hallo Robert,
leider kam so keine Anzeige zu stande.
Ich habe mal meine alte Datenbank in gekürzter nur 20 Datensätzen fassenden Version angehängt.
Nur Kat-Block1 war zuvor mit Kategorie beschriftet.
Danke für Deine Mühe.
Tschüß
Detlev
Dateianhänge
RezeptverwRobertHilfe.odb
(7.17 KiB) 60-mal heruntergeladen
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Unterformular Einbinden

Beitrag von RobertG »

Hallo Detlev,

die Datenbank, die Du beigefügt hattest, entspricht vom Tabellenaufbau nicht der, die Du in den Screenshots gezeigt hast. Da ist ja gar keine Verbindung mehr zu "Kategorien" drin. Jetzt hat eine Spalte lauter Fremdschlüsselwerte, die vom Prinzip her auf Kategorien zutreffen. Ich vermute einfach, dass ich Dein Anliegen längst noch nicht verstanden habe. Ich habe jetzt einfach einmal eine Abfrage erstellt, die für die beiden ersten Felder "Kat-Block" überprüft, ob in den Feldern eine entsprechende Kategorie vorhanden ist.

Gruß

Robert
Dateianhänge
RezeptverwRobertHilfe.odb
(7.27 KiB) 54-mal heruntergeladen
lokgeist
**
Beiträge: 21
Registriert: Fr, 19.04.2013 10:59

Re: Unterformular Einbinden

Beitrag von lokgeist »

Hallo Robert,
noch mal ein Bild zum besseren Verständnis.
Wird z.B. Die Kategorie 2=Vorspeisen abgefragt, und in einem der vier Blöcke kommt eine 2 vor, so soll der Datensatz ausgegeben werden.
Kommt aber in einem der vier Blöcke auch noch eine 11 vor, So sollte der gleiche Datensatz auch noch einmal bei der Kategorie 11=Eier augegeben werden.
Dateianhänge
RezeptverwRobertHilfe.odb
Geänderte Datenbank
(8.6 KiB) 50-mal heruntergeladen
Neue Erklärung
Neue Erklärung
RobertsHilfe.png (71.05 KiB) 3302 mal betrachtet
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Unterformular Einbinden

Beitrag von RobertG »

Hallo Detlev,

schau einmal in Abfrage2 nach, ob das jetzt in die richtige Richtung geht.
Problem der ganze Sache ist, dass Du einen Datensatz mehrmals wiedergeben willst.
Wenn das passt: Die Filterung nach der jeweiligen Kategorie erfolgt über die Tabelle "Filter". Dort kannst Du unterschiedliche Werte eingeben. Das Ganze wäre über ein Formular mit einem Listenfeld zu den Kategorien zu bewerkstelligen.

Gruß

Robert
Dateianhänge
RezeptverwRobertHilfe(1).odb
(8.26 KiB) 59-mal heruntergeladen
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Unterformular Einbinden

Beitrag von F3K Total »

Hallo zusammen,
eine Frage: Möchte lokgeist schlicht einem Rezept mehrere Kategorien zuordnen?
Wenn dem so ist, wäre dann nicht ein m:n Ansatz, mit Verbindungstabelle, ID_Rezept<->ID_Kategorie, der richtigere Ansatz?

Gruß R
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Unterformular Einbinden

Beitrag von RobertG »

Hallo R,

ich rätsele auch noch daran herum. Scheint mir aber auch so. Eigentlich soll ein Rezept mit Zutaten und Seiten, wo es zu finden ist, da sein. Mit der Verbindungstabelle zu n:m hast Du völlig recht.

Gruß

Robert
lokgeist
**
Beiträge: 21
Registriert: Fr, 19.04.2013 10:59

Re: Unterformular Einbinden

Beitrag von lokgeist »

Hallo zusammen,
ich habe mal jetzt noch das funktionierende Formular mit eingefügt. Halt ohne die KatBlöcke 2-4.
die sind ja mein Problem.
Eventuell hilft das Formular mehr zum besseren Verständnis.

Tschüß
Detlev der Lokgeist
Dateianhänge
RezeptverwRobertHilfe.odb
(77.42 KiB) 63-mal heruntergeladen
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Unterformular Einbinden

Beitrag von F3K Total »

Hallo,
habe mal die Kategorienzuordnung in eine Verbindungstabelle getan. Jetzt kannst Du jedem Gericht im Kategorie-Tabellenkontrollfeld beliebig viele Kategorien zuordnen.
Ausserdem habe ich ein Kategorie-Suchfeld eingebaut.
Erst eine Katagorie auswählen dann "Kategorie suchen" drücken.
Nimmst Du den obersten Eintrag (leer), und drückst "Kategorie suchen", siehst Du wieder alle Rezepte.

Viel Spaß damit
Gruß R
Dateianhänge
RezeptverwRobertHilfe_F3K.odb
(79.92 KiB) 76-mal heruntergeladen
lokgeist
**
Beiträge: 21
Registriert: Fr, 19.04.2013 10:59

Re: Unterformular Einbinden

Beitrag von lokgeist »

Hallo F3K Total,

vielen vielen Dank.
Es funktioniert, toll.
Aber wo bleiben die Einträge bei Kategorien versteckt? Ich finde sie in keiner Tabelle und doch sind sie da.
Wo liegt das Geheimnis?

Danke an Euch alle die sich meinem Problem angenommen hatten :D :D :D

Tschüß
Detlev
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Unterformular Einbinden

Beitrag von F3K Total »

Moin,
die Kategorie_ID ist der Rezept_ID in der Verbindungstabelle REZEPTE_KATEGORIEN zugeordnet.
Beispiel, Zeilen 1-3

Code: Alles auswählen

FK_ID_REZEPT  FK_ID_KATEGORIE   
    1               16
    2                9
    2               16
Heißt nichts weiter als dass
  • die Kategorie 16 (Hackfleisch-Gerichte) dem Rezept 1 (Hackrolle Cordonbleu)
  • die Kategorie 9 (Gemüse) dem Rezept 2 (Herzhafte Räuberpastete)
  • die Kategorie 16 (Hackfleisch-Gerichte) dem Rezept 2 (Herzhafte Räuberpastete) zugeordnet sind.
  • usw.
Gruß R
lokgeist
**
Beiträge: 21
Registriert: Fr, 19.04.2013 10:59

Re: Unterformular Einbinden

Beitrag von lokgeist »

Hallo,

noch mals vielen Dank.
Jetzt hab ichs auch gefressen.
Ich hatte es nicht gesehen das sich ja in der Spalte FK_ID_REZEPT die Einträge wiederholen.

Tschüß
Detlev der Lokgeist
Antworten