WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 15.02.2006, 10:52   #1
Valk
Veteran
 
Registriert seit: 01.12.2003
Beiträge: 234


Standard Access Abfrage

Hallo, ich bin ein ziemlicher Access Anfänger darum bitte nicht lachen falls es simpel ist!

Ich habe 2 Tabellen. In beiden Stehen zb Rechnungsnummern. Jetzt sollte ich als Ergebniss eine Liste haben die mir zeigt welche Rechnungsnummern nicht in beiden Tabellen enthalten sind. Wie kann ich das am einfachsten und schnellsten lösen?
Muss ich dafür wirklich eine If Formel verwenden? Wenn ja wie geht die?

Danke schon mal!
____________________________________
Theorie ist, wenn man alles weiss aber nichts funktioniert.
Praxis ist, wenn alles funktioniert aber keiner weiss warum,
Bei uns sind Theorie und Praxis vereint.
Nichts funktioniert und keiner weiss warum.
Valk ist offline   Mit Zitat antworten
Alt 15.02.2006, 11:15   #2
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

Ähnliches Problem, ähnliche Lösung

Dh. für die eine Tabelle:
SELECT Rechnungsnummer FROM Tabelle1 WHERE Rechnungsnummer NOT IN (SELECT Rechnungsnummer FROM Tabelle2)

und für die andere Tabelle:
SELECT Rechnungsnummer FROM Tabelle2 WHERE Rechnungsnummer NOT IN (SELECT Rechnungsnummer FROM Tabelle1)

Wenn du jetzt die beiden Abfragen kombinieren willst:

SELECT Rechnungsnummer, 'nur in 1. Tabelle' as Information FROM Tabelle1 WHERE Rechnungsnummer NOT IN (SELECT Rechnungsnummer FROM Tabelle2)
UNION ALL SELECT Rechnungsnummer, 'nur in 2. Tabelle' as Information FROM Tabelle2 WHERE Rechnungsnummer NOT IN (SELECT Rechnungsnummer FROM Tabelle1)

viel Spaß, mfg T.

Ps: ich habs ausn Kopf getippt und ned getestet
T.dot ist offline   Mit Zitat antworten
Alt 15.02.2006, 11:20   #3
Valk
Veteran
 
Registriert seit: 01.12.2003
Beiträge: 234


Standard

Danke für die Hilfe werde es ausprobieren!
Kann ich diese Select abfrage einfach in das Feld Kriterien eingeben und dann müsste es funktionieren? Oder hab ich das falsch verstanden...
____________________________________
Theorie ist, wenn man alles weiss aber nichts funktioniert.
Praxis ist, wenn alles funktioniert aber keiner weiss warum,
Bei uns sind Theorie und Praxis vereint.
Nichts funktioniert und keiner weiss warum.
Valk ist offline   Mit Zitat antworten
Alt 15.02.2006, 13:00   #4
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

Am einfachsten: neue Abfrage -> Entwurfsansicht -> Umschalten auf SQL-Ansicht -> das ganze Sql-Statement reinkopieren.

Zweite Variante: du stellst die Abfrage ganz normal in der Entwurfsansicht zusammen und schreibst dann im Kriterium für die Rechnungsnummer "NOT IN (SELECT Rechnungsnummer FROM Tabelle2)" rein. Bzw. heißt es im deutschen Access wohl "nicht in (SELECT ...)".

Wenn du die letzte Abfrage, die die beiden kombiniert verwenden willst, kannst du sie nur direkt in SQL reinkopieren, sonst checkt Access das nicht.

Hoffe das war halbwegs verständlich

mfg Thomas
T.dot ist offline   Mit Zitat antworten
Alt 15.02.2006, 15:17   #5
Valk
Veteran
 
Registriert seit: 01.12.2003
Beiträge: 234


Standard

Super danke es funktioniert!
____________________________________
Theorie ist, wenn man alles weiss aber nichts funktioniert.
Praxis ist, wenn alles funktioniert aber keiner weiss warum,
Bei uns sind Theorie und Praxis vereint.
Nichts funktioniert und keiner weiss warum.
Valk ist offline   Mit Zitat antworten
Alt 15.02.2006, 15:34   #6
Hussl
Veteran
 
Registriert seit: 08.02.2001
Alter: 41
Beiträge: 320


Standard

Ich glaube, sub-selects werden bei vielen Datensätzen ziemlich langsam. Ich würde einen Join bevorzugen:

Alle aus Tabelle1, die in Tabelle 2 nicht vorhanden sind:
Code:
SELECT Tabelle1.*
FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.code = Tabelle2.code
WHERE Tabelle2.code Is Null;
____________________________________
Nein, ich bin nicht die Signatur, ich putz hier nur.

http://www.chili-it.at
Hussl ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:29 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag