myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Access 2010 - Abfragen

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 23.09.12, 10:45   #1
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Thelvan Beitrag anzeigen
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

Stichworte für dich sind INNER JOIN & WHERE
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.
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 23.09.12, 10:51   #2
pro-logic
Anfänger
 
Registriert seit: Nov 2009
Beiträge: 39
Bedankt: 8
pro-logic ist noch neu hier! | 0 Respekt Punkte
Standard

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
pro-logic ist offline   Mit Zitat antworten
Ungelesen 23.09.12, 12:57   #3
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 480
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

Zitat:
Zitat von ProgMaster Beitrag anzeigen
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.
Thelvan ist offline   Mit Zitat antworten
Ungelesen 23.09.12, 16:46   #4
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Thelvan Beitrag anzeigen
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 Beitrag anzeigen
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 Beitrag anzeigen
Ich möchte jetzt eine Abfrage oder eine Abfrageverschachtelung (?) die mir den Personaldatensatz (1) und die Liste der zugehörigen Telefonnummern (n) zurückliefert.
NetWebs ist offline   Mit Zitat antworten
Ungelesen 24.09.12, 10:18   #5
pro-logic
Anfänger
 
Registriert seit: Nov 2009
Beiträge: 39
Bedankt: 8
pro-logic ist noch neu hier! | 0 Respekt Punkte
Standard

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
pro-logic ist offline   Mit Zitat antworten
Ungelesen 24.09.12, 11:01   #6
pro-logic
Anfänger
 
Registriert seit: Nov 2009
Beiträge: 39
Bedankt: 8
pro-logic ist noch neu hier! | 0 Respekt Punkte
Standard

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
pro-logic ist offline   Mit Zitat antworten
Antwort


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

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.


Sitemap

().