Tabellen verbinden

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

gweep
*
Beiträge: 13
Registriert: Di, 01.11.2005 00:36
Wohnort: 1110 Wien
Kontaktdaten:

Tabellen verbinden

Beitrag von gweep »

Hallo,

ich hoffe mal mir kann jemand helfen.
Ich will eine DVD Liste für meine Filme machen bzw. meine PC und PS/2 Spiele.
Dabei gibt es Felder wie, Nr, Titel, Genre, Alter (Alters Beschränkung), usw. Ich hab dafür eine Tabelle erstellt und die ID Automatisiert. Jetzt hab ich noch eine zweite Tabelle gemacht mit der Gerne. Nun will ich die beiden Tabellen verbinden so das ich dann im Formular über ein Drop-Down-Menü mir auswählen kann welche Gerne. Damit hab ich dann sicher immer die gleiche Genre und dann bei den Abfragen bzw. Berichten immer das gleiche ergebniss und damit verhinder das z.B. Horror mal so geschrieben ist oder HORROR so geschrieben ist usw.

Wie kann ich das unter Base am besten realisieren? Ich hab da irgendwie nichts gefunden.

Danke,
Grüsse,
gweep
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

gweep
*
Beiträge: 13
Registriert: Di, 01.11.2005 00:36
Wohnort: 1110 Wien
Kontaktdaten:

Beitrag von gweep »

Herzlichen Dank,

ich hab erst jetzt Zeit dazu gehabt und es hat damit super geklappt. Eigentlich ganz einfach wenn man mal weis wie es geht :)
gweep
*
Beiträge: 13
Registriert: Di, 01.11.2005 00:36
Wohnort: 1110 Wien
Kontaktdaten:

Beitrag von gweep »

Neues Problem:

Ich hab mir jetzt ne Datenbank gemacht in der es Verschiedene Tabellen gibt die auch mit anderen Tabellen verknüpft sind, aber der Inhalt in der Haupt Tabelle gespeichert wird.

Da gibt es:
ps2-games
dvd-movies
buecher
personen

Personen ist die Adress Datenbank, Inhalt den ich davon brauchen würde wäre: Name, Vorname, Tel, Mobil, E-Mail.
Bei den anderen reicht mir der Titel, daher ich mache jeweils ein Feld mit ps2-games, dvd-movies, buecher, Datum wann es ausgeliehen wurde und wann es zurück gekommen ist.

Wie kann ich aber Name, Vorname, Tel, Mobil, E-Mail so miteinander verbinden in einer neuen Datenbank das einfach eine Person auswählen kann und der rest der Informationen sich Automatisch in die Felder einträgt?
Ich kann mich erinnern das es in Access irgendwie geht, aber in Base?! Und vor allem dann wie?

Ich hoffe das mir jemand weiter helfen kann.

Grüsse,
Alex
Onkel Hatti
***
Beiträge: 97
Registriert: So, 15.05.2005 15:44

Beitrag von Onkel Hatti »

Moinsen

Ich habe das mit versteckten Comboboxen gemacht. Ist ein bissel Workaround, aber funktioniert wunderbar.

Zunächst:

Combobox anlegen für die Tabelle Person, wo der Nachname gezeigt wird.
"Art des Listeninhaltes"=SQL
"Listeninhalt"=SELECT DISTINCT "Nachname" FROM "Person"

Jetzt habe ich ein Macro mit dem Ereignis "Status geändert" der Combobox verbunden. Diese Box habe ich Macromäßig mit dem SQL Befehl verbunden:

SELECT "Vorname" FROM "Person" WHERE "Nachname"=Gewählter Inhalt der ersten Combobox.

Mit der zweiten Combobox lässt sich wiederum ein Macro mit dem Ereignis "Status geändert" verknüpfen.

Dort sage ich: (Beispiel)

Versteckte Combobox.Listeninhalt: SELECT "Telefon" FROM "Personen" WHERE "Nachname"=Combox1 AND "Vorname"=Combobox2

Dafür gibt es nur eine Antwort (idealerweise, hehe)

Telefontextfeld.Text=versteckteCombobox.getListenInhalt(0)

Damit steht die Telefonnummer der Person in dem Textfeld.

Jetzt wird nacheinander für jede Information aus der Tabelle "Person" die Information rausgeholt und in das jeweilige Textfeld eingetragen.

Die "richtige" Programmierung wäre die Verbindung mit der Datenbank, absetzen eines SQL-Befehls und Auswerten des Resultsets. Da hatte ich aber keine Lust zu :-)

Aber Achtung:

Wenn zwei Personen namens "Heinz Müller" in der Personentabelle auftreten, dann gibts Stress! Welche soll man nehmen. Da hilft weder meine "Programmierung", noch die mit dem Resultset.
Da muss man entweder über die "Mitgliedsnummer" oder durch Namenszusätze (Müller-1, Müller-2, etc.) gehen, damit die Abfrage aus der Personentabelle nur ein eindeutiges Ergebnis liefert.

Gruß
Hatti
gweep
*
Beiträge: 13
Registriert: Di, 01.11.2005 00:36
Wohnort: 1110 Wien
Kontaktdaten:

Beitrag von gweep »

hmm ... also sql programmieren kann ich leider eh nicht.

wegen mitgliedsnummer, das ist ne gute idee. zwar nicht so übersichtlich aber eindeutig.
mehrere gleiche namen wird es nicht geben, es ist ja nur ein privates projekt. das problem ist nur, ich hab alleine 4x winkler als familienname drin, darum ist das für mich wichtig damit ich die leute auseinander kenne. und mehr als 20 personen sollten es wohl eh nicht werden, hoffe ich zumindest. es ist ja eben nur für private zwecke. ich werd mal schauen ob ich mich da zurecht finde mit deiner lösung.

aber wenn ich der meinung bin das base in den kinderschuhen steckt lieg ich wohl eh nicht so falsch oder? aber gut gibts ja erst seit der neuen version.
Onkel Hatti
***
Beiträge: 97
Registriert: So, 15.05.2005 15:44

Beitrag von Onkel Hatti »

gweep hat geschrieben:hmm ... also sql programmieren kann ich leider eh nicht.

wegen mitgliedsnummer, das ist ne gute idee. zwar nicht so übersichtlich aber eindeutig.
mehrere gleiche namen wird es nicht geben, es ist ja nur ein privates projekt. das problem ist nur, ich hab alleine 4x winkler als familienname drin, darum ist das für mich wichtig damit ich die leute auseinander kenne. und mehr als 20 personen sollten es wohl eh nicht werden, hoffe ich zumindest. es ist ja eben nur für private zwecke. ich werd mal schauen ob ich mich da zurecht finde mit deiner lösung.

aber wenn ich der meinung bin das base in den kinderschuhen steckt lieg ich wohl eh nicht so falsch oder? aber gut gibts ja erst seit der neuen version.
Moinsen

Also in den Kinderschuhen, ja, da muss ich dir wohl recht geben. Das hat aber nix mit deinem Projekt zu tun, das funktioniert wie gewünscht.
Wenn es mehrere Winkler gibt, dann haben die ja alle einen verschiedenen Vornamen (sonst jun. oder sen.), damit ist die Eindeutigkeit gegeben.
Dann funktioniert die Lösung, die ich dir beschrob.
Wenn noch Fragen, dann fragen :-)
Antworten