Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
23.09.12, 10:45
|
#1
|
Banned
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
|
Zitat:
Zitat von Thelvan
|
Wollte mich nicht bedanken, denn INNER JOIN und WHERE Bedingungen sind falsch, da hier eine 0..n Relation vorliegt.
Du solltest Dir LEFT JOIN anschauen.
|
|
|
23.09.12, 10:51
|
#2
|
Anfänger
Registriert seit: Nov 2009
Beiträge: 39
Bedankt: 8
|
Danke für den Link!
Das Join-Verfahren gibt als Ergebnis immer n Datensätze zurück, d.h. wenn ein Mitarbeiter 5 Telefonnummern hat, bekomme ich auch 5 komplete Datensätze. Dann ist die Frage wohl eher wie
man das Filtert. Ich möchte gerne ein Formular auf dem der Personaldatensatz mit allen Telefonnummern auf einmal angezeigt wird. In PHP könnte ich mir da helfen, aber in Access!?
Nochmals Danke!
MfG
pL
|
|
|
23.09.12, 12:57
|
#3
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 480
Bedankt: 236
|
Zitat:
Zitat von ProgMaster
Wollte mich nicht bedanken, denn INNER JOIN und WHERE Bedingungen sind falsch, da hier eine 0..n Relation vorliegt.
Du solltest Dir LEFT JOIN anschauen.
|
Könnt sein, das ich das oben falsch verstehe, aber so wie ich das lese, hat er z.B. eine bestimmte PersonalNr und möchte zu genau dieser PersonalNr alle Telefonnummern haben.
|
|
|
23.09.12, 16:46
|
#4
|
Banned
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
|
Zitat:
Zitat von Thelvan
Könnt sein, das ich das oben falsch verstehe, aber so wie ich das lese, hat er z.B. eine bestimmte PersonalNr und möchte zu genau dieser PersonalNr alle Telefonnummern haben.
|
Was ist der Sinn Deines Beitrages?
Er eine Abfrage, die Ihm den Personaldatensatz und die dazugehörigen Telefonnummern auflisten:
Zitat:
Zitat von pro-logic
Ich möchte jetzt eine Abfrage oder eine Abfrageverschachtelung (?) die mir den Personaldatensatz (1) und die Liste der zugehörigen Telefonnummern (n) zurückliefert.
|
Genau das macht man mit einem LEFT JOIN!
@pro-logic:
Bei 5 Telefonnummern bekommst Du natürlich 5 Datensätze ausgegeben!
Genau das wolltest Du:
Zitat:
Zitat von pro-logic
Ich möchte jetzt eine Abfrage oder eine Abfrageverschachtelung (?) die mir den Personaldatensatz (1) und die Liste der zugehörigen Telefonnummern (n) zurückliefert.
|
|
|
|
24.09.12, 10:18
|
#5
|
Anfänger
Registriert seit: Nov 2009
Beiträge: 39
Bedankt: 8
|
Eben das wollte ich nicht... Wenn ich eine Abfrage auf die Personalnummer 1234 mache, benötige ich den Datensatz des Mitarbeiters (das ist nur einer) und die Liste der Telefonnummern (unter umständen 5-6).
Die Ausgabe sieht aber so aus, dass es 5-6 komplette Datensätze gibt, bei denen jeweils alles gleich ist, nur die Telefonnummer anders.
Man könnte wohl zwei Abfragen machen. Erst rufe ich den MA-Datensatz auf, suche dann die entsprechende PersonalID raus und frage mit der PersonalID die Telefonnummern ab. Das Ergebnis wären dann zwei Abfragen mit jeweils einem bzw. 5 Datensätzen...
Im Endeffekt ist mein Ziel ein Formular auf dem man die Daten des MA angezeigt bekommt. Dort gibt es ein Feld in dem alle Telefonnummern stehen.
Das Formularergebnis jetzt ist, ein kompletter Datensatz mit EINER Telefonnummer und wenn man in der Statusleiste über die Datensatznavigation nach rechts und links klickt bekommt man nacheinander 5 mal den gleichen DS aber mit anderer Telefonnummer...
Ich hab wie gesagt noch nie mit Access gearbeitet und konnte noch nicht rausfinden wie man die Daten in dem Fall abfragt oder wenn man halt 5 gleiche Sätze mit verschiedenen Nummern hat diese zu einem Datensatz mit 5 Nummern zusammenzufassen...
MfG pL
|
|
|
24.09.12, 11:01
|
#6
|
Anfänger
Registriert seit: Nov 2009
Beiträge: 39
Bedankt: 8
|
Hab nochmal ein bisschen weiter gesucht und bin auf folgenden Thread gestoßen:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Dort wird das Grundproblem behandelt und mit einem VBA-Modul gelöst. Die Lösung würde es für mich auch tun, aber kann Access sowas nicht alleine? Un dazu kommt ja noch, dass man die Unterdatensätze damit nur auslesen und nicht bearbeiten kann. Da müsste man analog zum auslesen auch mit VBA arbeiten. Macht einen eher unpraktischen Eindruck.
MfG
pL
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.
().
|