5.2k Aufrufe
Gefragt in Datenbanken von saschawittke Mitglied (121 Punkte)
hi zusammen,

folgende ausgangssituation:

1 tabelle "kundenwunsch"
1 tabelle "wunsch_id"
1 tabelle "sprachen"
1 tabelle "wunsch_spanisch"
1 tabelle "wunsch_englisch"
1 tabelle "wunsch_deutsch"

"kundenwunsch" hat:
- ein feld "landessprache", dieses basiert auf der tabelle "sprachen"
- ein feld "wunsch_id"

in "wunsch_id" selektiere ich einen wunsch, der in entsprechender
sprache in den jeweiligen tabellen mit allen unterschiedlichen
sprachen enthalten ist (selbe id natürlich)

nun habe ich eine abfrage in der folgende tabellen enthalten sind:

1 tabelle "kundenwunsch"
1 tabelle "wunsch_spanisch"
1 tabelle "wunsch_englisch"
1 tabelle "wunsch_deutsch"

_spanisch, _englisch und _deutsch sind mit der _id an die
kundenwunsch-tabelle mit einer beziehung verbunden

nun meine frage:
wie erstelle ich die abfrage so, dass nur die ausgewählte sprache
angezeigt wird?
(heißt: ich selektiere spanisch und möchte dann auch NUR den
wert aus "wunsch_spanisch" und nicht _englisch oder _deutsch)

kann mir da jemand helfen?

lieben dank!
sascha

15 Antworten

0 Punkte
Beantwortet von saschawittke Mitglied (121 Punkte)
Hallo Paul,

aaaalso, ich habs mir mal angeschaut und ich glaub wir haben uns
missverstanden - vermute ich :-/

jeder kunde kommt nur 1x vor ... nicht mehrfach

ich versuchs nochmal besser zu umschreiben:

du buchst jetzt bei mir eine reise (was vorher war und künftig kommt
ist vollkommen egal - es geht nur um diese eine)
die reise hat z.b. die interne nummer 12345

jetzt öffne ich mein formular und gebe 12345 ein.
deine daten erscheinen

jetzt fülle ich das formular aus mit:
hotelname, faxnummer, landessprache

dann habe ich drei leere felder in denen ich jeweils maximal einen
wunsch selektieren kann.

am ende des formular-ausfüllens habe ich also:
deine reise
die hotelinformationen
die landessprache
deine wünsche

wenn ich nun eine abfrage (z.b. bericht erstellen zum pc-faxen)
ausführe, gebe ich wieder 12345 ein, deine daten werden als
grundlage genommen und auf grund der ausgewählten
landessprache werden deine ausgewählten wünsche in
entsprechender sprache auf dem bericht erscheinen.



daher war mein gedanke:
landessprache wird als nachschlage-feld genutzt
wünsche werden als nachschlage-felder genutzt
(sodass eine eindeutige zuordnung der wünsche möglich ist)

...war zumindest meine idee
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Sascha,

In meinem Konzept spielen die Wünsche die Hauptrolle, die dann den gewünschten Bericht erstellen und per Fax an das Hotel geschickt werden, alle anderen Information wie Hotel, Reiseziel etc. können noch eingebaut werden, d.h. für Hotel bzw. Reiseziel wäre dann eine eigene Tabelle anzulegen und mit der Tabelle WunschDetail in Beziehung zu bringen.

Die Kunden kommen hier nur im gegenständlichen Konzept in der Tabelle "WunschDetail" mehrfach vor, die Grundlage ist die Tabelle "Kundenname", das gleiche Prinzip ist die Tabelle "Wunsch" auch hier kommen die Wünsche nur einmal vor, Sprache und Text ist dann in der Tabelle "WunschDetail" einzugeben.

Die Tabellen "Kundenname" und "Wunsch" stehen in einer 1:n Beziehung mit referenzieller Integrität.

Der Wunsch ist ein integrierender Bestandteil und kann in verschiedenen Sprachen sein.

Wo die Daten eingegeben werden ist eigentlich egal (Formular, Abfrage, Tabelle).

Ich stelle mir den Aufbau der Datenbank nach diesem Grundprinzip vor, alles was an wichtigen Daten noch dazu gebraucht wird bleibt in jedem Fall Deiner Kreativität überlassen.

Gruß

Paul1
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo nochmal,

es muß natürlich heißen:

Die Tabellen "Kundenname" und "Wunsch" stehen mit Tabelle "WunschDetail" in einer 1:n Beziehung mit referenzieller Integrität.

Gruß

Paul1
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Sascha,

Du hast recht, ich habe was falsch verstanden!

Gruß

Paul1
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Sascha,

probier Folgendes (Aufbau):

Erstelle eine Tabelle z.B. mit dem Namen „Eingabe“ hier stehen z.B. die ID Nr. Reiseziel Kundenname, Hotelname, Faxnummer, Landessprache entweder mittels Direkteingabe oder in der Entwurfsansicht der Tabelle mittels NachschlageAssistenten ein Feld der bereits angelegten Tabellen zur Auswahl, ebenso Wunsch und 3 Felder für die Sprachen mittels NachschlageAssistenen zuordnen.

Aus der Tabelle „Eingabe“ erstelle eine Abfrage und in der Entwurfsansicht der Abfrage lege z.B. für den Kundennamen und ID Reiseziel eine Parameterabfrage fest.

Anschließend erstelle einen Bericht der beim Aufruf den Kundennamen und die ID als Parameterabfrage verlangt.

Als Unterstützung zur Auswahl kannst Du ein vorsortiertes Listenfeld erstellen bzw. eine Tabelle verwenden und das + anklicken.

Das mir dem Listenfeld wäre am besten z.B.in einem Formular oder Hauptübersicht einzubinden.

Um ein Flickwerk zu vermeiden und um Nägel mit Köpfen zu machen wäre eventuell ein von Dir erstelltes Datenbankkonzept von Vorteil.

Hoffe, dass ich mit Deinen Vorstellungen konform gehe.

Gruß

Paul1

[sub]Excel > Access > MS-Office 2003
MS Windows XP Professional SP3
ECDL-Syllabus Version 4.0[/sub]
...