Eine Abfrage für 2 Tabellen
Hallo Leutz,
Also, ich habe folgende Aufgabe erhalten:
Es gibt bei uns im Betrieb 2 Access-Dateien. Diese beinhalten Tabellen *klar*
Der Inhalt beider Tabellen sind Namen und weitere Infos. In Beiden Tabellen stehen unterschiedliche Namen und weitere Infos.
Die Aufgabe ist nun, eine Suche zu erstellen, die in beiden Tabellen nach dem eingegebenen Namen sucht und die Ergebnisse ausgibt.
Nun, stand der Dinge:
- Ich habe in einer der beiden Dateien einen Datei-Import gemacht und ALLES aud der 2 Datei importiert.
- habe mir eine neue Abfrage gefriemelt
- habe mir ein Suchen-Formular gebastelt
- habe die zu beiden Tabellen eine Beziehung gemacht von NAME zu NAME und von VORNAME zu VORNAME
- habe dann die Suche gestartet und siehe da....er findet die Einträge mit dem gesuchten Namen
PROBLEM: Wenn in Tabelle 1 eine Person "Test tester1" heißt und in Tabelle 2 heißen die Einträge"Test tester 1 - tester 10" bekomme ich dieses Ergebnis:
Tabelle 1 Tabelle 2
test tester 1 test tester 1
test tester 1 test tester 2
test tester 1 test tester 3
test tester 1 test tester 4
test tester 1 test tester 5
test tester 1 test tester 6
test tester 1 test tester 7
test tester 1 test tester 8
test tester 1 test tester 9
test tester 1 test tester 10
Also, nicht Sinn der Sache...weil man bedenke wie es dann aussieht wenn in Tabelle 1 auch "Test Teste1-10" gibt.
Hat da jemand ne gute Idee.....oder weiß einfach wie es richtig geht^^
Wäre sehr dankbar!!
Many greetings Astronomy
Also, ich habe folgende Aufgabe erhalten:
Es gibt bei uns im Betrieb 2 Access-Dateien. Diese beinhalten Tabellen *klar*
Der Inhalt beider Tabellen sind Namen und weitere Infos. In Beiden Tabellen stehen unterschiedliche Namen und weitere Infos.
Die Aufgabe ist nun, eine Suche zu erstellen, die in beiden Tabellen nach dem eingegebenen Namen sucht und die Ergebnisse ausgibt.
Nun, stand der Dinge:
- Ich habe in einer der beiden Dateien einen Datei-Import gemacht und ALLES aud der 2 Datei importiert.
- habe mir eine neue Abfrage gefriemelt
- habe mir ein Suchen-Formular gebastelt
- habe die zu beiden Tabellen eine Beziehung gemacht von NAME zu NAME und von VORNAME zu VORNAME
- habe dann die Suche gestartet und siehe da....er findet die Einträge mit dem gesuchten Namen
PROBLEM: Wenn in Tabelle 1 eine Person "Test tester1" heißt und in Tabelle 2 heißen die Einträge"Test tester 1 - tester 10" bekomme ich dieses Ergebnis:
Tabelle 1 Tabelle 2
test tester 1 test tester 1
test tester 1 test tester 2
test tester 1 test tester 3
test tester 1 test tester 4
test tester 1 test tester 5
test tester 1 test tester 6
test tester 1 test tester 7
test tester 1 test tester 8
test tester 1 test tester 9
test tester 1 test tester 10
Also, nicht Sinn der Sache...weil man bedenke wie es dann aussieht wenn in Tabelle 1 auch "Test Teste1-10" gibt.
Hat da jemand ne gute Idee.....oder weiß einfach wie es richtig geht^^
Wäre sehr dankbar!!
Many greetings Astronomy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 53509
Url: https://administrator.de/contentid/53509
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
9 Kommentare
Neuester Kommentar
Moin astronomy,
die Beziehung, die Abhängigkeit zwischen den beiden Tabellen ist doch, dass die Inhalte der beiden Feldinhalte von NAME identisch sein müssen.
Genau diese Bedingung fehlt aber in dem SQL-Statement.
Wenn Du das Statement so umbaust, dass EINE der beiden Tabellen gegen das Formular-Suchfeld geprüft wird und nur alle Satz-Kombinationen angezeigt werden, in denen die Felde NAME gleich sind, dann hast Du Dein Wunsch-Ergebnis.
[Wobei so nix dolles zu sehen sein wird - eben nur jeweils die Felder Name/Vorname aus beiden tabellen, WENN sie auch in beiden Tabellen in gleicher Schreibweise und Feldlänge vorliegen. Sinnvoller zu Prüfung der Richtigkeit wäre eine Query:
]
HTH Biber
die Beziehung, die Abhängigkeit zwischen den beiden Tabellen ist doch, dass die Inhalte der beiden Feldinhalte von NAME identisch sein müssen.
Genau diese Bedingung fehlt aber in dem SQL-Statement.
Wenn Du das Statement so umbaust, dass EINE der beiden Tabellen gegen das Formular-Suchfeld geprüft wird und nur alle Satz-Kombinationen angezeigt werden, in denen die Felde NAME gleich sind, dann hast Du Dein Wunsch-Ergebnis.
SELECT K.NAME, K.VORNAME, V.NAME, V.VORNAME
FROM Verwahru V, Kontroll K
Where K.Name = V.Name
And K.VorName = V.VorName
And K.NAME Like ([Formulare]![SucheNEU]![Name2] & "*"
ORDER BY K.NAME;
[Wobei so nix dolles zu sehen sein wird - eben nur jeweils die Felder Name/Vorname aus beiden tabellen, WENN sie auch in beiden Tabellen in gleicher Schreibweise und Feldlänge vorliegen. Sinnvoller zu Prüfung der Richtigkeit wäre eine Query:
SELECT K.NAME, K.VORNAME, K.EinFeldAusK, V.EinAnderesAusV
FROM Verwahru V, Kontroll K
Where K.Name = V.Name
And K.VorName = V.VorName
And K.NAME Like ([Formulare]![SucheNEU]![Name2] & "*"
ORDER BY K.NAME;
]
HTH Biber
Nach FROM ... fehlt die von Biber beschriebene WHERE klausel.
WHERE (Kontroll.NAME = Verwahru.NAME) and (Kontroll.VORNAME = Verwahru.VORNAME)
müsste da stehen.
Das ganze geht auch in Access mit Bunti Klicki aber da kann ichs dir nicht sauber beschreiben.
(Einfach in der SQL Ansicht vor die GROUP Zeile einfügen und wieder in die Normale ansicht gehen)
Ich unterstell dass es nur Datensätze von interesse sind die in beiden Tabellen drin sind.
Evtl musst du noch direkt nach dem Select einen DISTINCT (oder wars DISTIONCTROW bei Access) eintragen
WHERE (Kontroll.NAME = Verwahru.NAME) and (Kontroll.VORNAME = Verwahru.VORNAME)
müsste da stehen.
Das ganze geht auch in Access mit Bunti Klicki aber da kann ichs dir nicht sauber beschreiben.
(Einfach in der SQL Ansicht vor die GROUP Zeile einfügen und wieder in die Normale ansicht gehen)
Ich unterstell dass es nur Datensätze von interesse sind die in beiden Tabellen drin sind.
Evtl musst du noch direkt nach dem Select einen DISTINCT (oder wars DISTIONCTROW bei Access) eintragen