PDA

Vollständige Version anzeigen : Tabellen Beziehungen in Abfrage


M!cha
10.07.2006, 08:47
Guten Morgen.

Ich habe mal eine frage.. und zwar möchte ich aus einer Tabelle die mit einer fortlaufenden ID beginnt und als Zweites einen Namen enthält Werte in eine Abfrage übernehmen... soweit ja relativ einfach... nun stehen in der Abfrage allerdings schon einige Daten drin... die Abfrage beginnt mit dem Kundennamen als Primärschlüssel und hat als zweites Feld eine fortlaufende ID.

Wie genau muss ich bei so einer Art Abfrage denn dann meine eingefügte Tabelle in Beziehung setzen.. kann die beiden fortlaufenden ID´s ja nicht verbinden da es dort zu überschneidungen kommen kann oder nicht?

Freue mich über Antworten und/oder Anregungen

mfg M!cha

J_Eilers
10.07.2006, 09:14
Hi,

was willst du denn mit der Abfrage erreichen?

M!cha
10.07.2006, 09:17
Also in der Abfrage werden dem Kunden verschiedene Daten zugewiesen, unter anderem auch Beträge von Einkäufen etc mit denen dann zb mwst und ähnliches berechnet werden.
Ausserdem dient sie dann als Informationsgrundlage für ein darauf basierenden Bericht den ich dann noch erstellen möchte, allerdings scheiter ich momentan schon irgendwie daran die Daten in die Abfrage zu bekommen :/

J_Eilers
10.07.2006, 09:25
Wenn der Kunde eine ID hat und die Beträge der KundenID zugeordnet sind, kannst du die Tabellen doch über die KundenID verbinden. Oder sieht das bei dir anders aus?

M!cha
10.07.2006, 09:35
Die Beträge die ich mit in die Abfrage reinbekommen muss sind nicht der KundenID sondern einer anderen fortlaufenden ID zugeordnet...

Als Beispiel zb.

1 Kunde Preis
2 Kunde Preis

steht natürlich noch bissl mehr bei mir aber denke so ist der Schlüsselaufbau ganz gut erkennbar.

Das Problem ist halt das die Abfrage anders aufgebaut ist

Kunde 1 Preis
Kunde 2 Preis
Kunde 3 Preis

In der Abfrage sind auch mehrere Tabellen die allesamt den Primärschlüssel Kunden haben.. versteh nicht genau wie ich meine Tabelle da einbinden soll.
Ich kann dir auch gern nen screenie von meiner Abfrage schicken, wenns das vereinfachen würde.

M!cha
10.07.2006, 10:31
Hm, evntl noch wer ne Idee, oder kann mir jemand sagen wieso die Abfrage komplett leer ist wenn ich mein Kundenfeld mit den andern in Beziehung setze? *gg

Worf1001
10.07.2006, 10:35
Hallo,

nein, so können wir das nicht sagen. Da fehlt wirklich der Zusammenhang um zu erkennen woran es happert.

Kannst Du mal Deine Datenstruktur erklären. Und dann anhand der Datenstruktur erklären, was Du machen willst?

M!cha
10.07.2006, 10:50
Also

Ich habe eine Tabelle Kunden
In der sind alle wichtigen Daten zu den Kunden gespeichert.
In der Tabelle ist das Feld Kunde der Primärschlüssel.

Dann hab ich eine Tabelle Auftragskopf
in der stehen die Kunden in der ersten Spalte
und in der zweiten ist die fortlaufende ID Nummer

In der dritten Tabelle Adressen stehen die Kunden auch in der ersten Spalte
in der zweiten Spalte steht die Adresse

Zwischen allen 3 Tabellen und dem Feld Kunden besteht eine Beziehung.


Nun füge ich meine Tabelle hinzu, Wartungen
in der steht als erstes die fortlaufende ID WartungsNr
und als zweites der Kunde
3 ist Artikel
4 Monatskosten
5 Vertragsbeginn
6 Vertragsdauer
7 Vertragsende
8 Gesamtkosten
9 Wartungsart

Nun entsprechen meine 9 Felder ja Inhaltlich Feldern aus den drei Tabellen, allerdings kann ich ja nicht alle in Beziehung setzen.

Wie bekomme ich es denn hin das nun in die Abfrage, in der bereits 50 Datensätze stehen unter diese immer die Datensätze der Tabelle wartungen hinzugefügt werden mit den richtigen Daten.

Hoffe ist nun bisschen klarer geworden, die genauen Felddaten kann ich leider nicht alle angeben da teilweise an die 50 Datensätze in einer Tabelle stehen.

J_Eilers
10.07.2006, 11:07
Gibt es denn zu jedem Kunden auch Datensätze? Ich denke, es wäre am Einfachsten, wenn du dich hier anmeldest und eine Miniversion deiner Datenbank hochlädst, denn so wirklich hintergestiegen bin ich jetzt noch nicht...

M!cha
10.07.2006, 11:28
So sieht meine Abfrage aus.

http://www.netupload.de/img.php/908caa49b280b8d7ca25129046572f3f.jpg (http://www.netupload.de/detail.php?img=908caa49b280b8d7ca25129046572f3f.jpg)

Und das die Tabelle die angefügt werden soll

http://www.netupload.de/img.php/746dc9209efd6e574aa9e6b79ce69cec.JPG (http://www.netupload.de/detail.php?img=746dc9209efd6e574aa9e6b79ce69cec.JPG)

J_Eilers
10.07.2006, 12:04
Das ist aber keine Miniversion.

M!cha
10.07.2006, 12:15
Ne Miniversion würde auch ewig dauern, reicht das nicht so um zu verstehen wie es ungefähr aussieht?

J_Eilers
10.07.2006, 12:29
Nicht wirklich...

Worf1001
10.07.2006, 12:56
Also, vom Stand aus, würde ich jetzt sagen, dass dir eine ID fehlt. Diese ID sollte auch in jeder Tabelle als Primärschlüssel definiert sein.

Willst Du nun Tabellen verbinden (Beziehungen...), dann erhält die Tabelle auf der n-Seite einen Fremdschlüsselwert (=Primärschlüssel auf der 1-Seite). Dies dient zur Verknüpfung der Tabellen.

Aber, eine Verknüpfung via Kurzname, finde ich extrem unglücklich...

Paul.Ostermeier
10.07.2006, 13:15
ich geb mal davon aus, dass es sich bei Kurzname um einen eindeutigen KundenIndex handelt (Matchcode) ich persönlich finde so ne Beziehung in Ordnung ...

allerdings ist in der "tblWartung" vom Kunden die Rede und eben nicht von Kurznamen des Kunden - hier ist IMHO die fehlende Verbindung ....

das alle Daten der tblWartung in den anderen Tabellen enthalten sind seh ich so nicht
wäre ja auch schlecht ...(Redundanzen)

ob jetzt ein Kunde mehrere Wartungsverträge gleichzeitig haben kann und somit über zusammengesetzte Indexe bzw. Umwege über eine zusätzliche ID gearbeitet werden sollte kann ich von hier aus natürlich nicht beurteilen -

MfG
Paul