collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 28
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13811
  • stats Beiträge insgesamt: 64313
  • stats Themen insgesamt: 8696
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: "Nichtduplikate finden"  (Gelesen 1541 mal)

Offline koch

  • Newbie
  • Beiträge: 10
"Nichtduplikate finden"
« am: August 26, 2016, 11:29:48 »
Hallo Gemeinde,
ich habe zwei Tabellen, "Gesamtartikel" und "XY-LieferantArtikel_neu". In Gesamtartikel sind 1200 Datensätze von XY-Lieferant enthalten, in XY-LieferantArtikel_neu sind 780 Datensätze enthalten. Die XY-L... Datensätze sind bereits in Gesamtartikel. Jetzt möchte ich die fehelnden 420 Datensätze per Abfrage herausfinden. Habe eine Abfrage erstellt die Verknüpfung über die Artikelnummer hergestellt und den Filter auf XY-Lieferant gestellt. Jetzt zeigt er mir die 780 Datensätze an. ich will aber die fehlenden 420 um die Preise beim Lieferanten aktualisieren zu lassen. Habe über Kriterien mit <> versucht kein Erfolg. Bei einer Wenn() Funktion hapert es wahrscheinlich an der Syntax. Bitte um Hilfe Danke Hans
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 836
Re: "Nichtduplikate finden"
« Antwort #1 am: August 26, 2016, 12:53:16 »
Zitat
Jetzt möchte ich die fehelnden 420 Datensätze per Abfrage herausfinden.
Dazu benutzt man eine Inkonsistenzprüfung:
Datensätze aus A, die nicht in B sind
Mit freundlichem Glück Auf!

Eberhard
 

Offline koch

  • Newbie
  • Beiträge: 10
Re: "Nichtduplikate finden"
« Antwort #2 am: August 26, 2016, 13:57:56 »
Hallo Eberhard,
vielen Dank für Deine prompte Antwort und den Link.
Hier der SQL-Code:
SELECT Gesamtartikel.Lieferant, Gesamtartikel.Artikelnummer, Gesamtartikel.Artikel, ringelneuaufn.Artikelnummer,
FROM Gesamtartikel LEFT JOIN ringelneuaufn ON Gesamtartikel.Artikelnummer = ringelneuaufn.Artikelnummer
WHERE (((Gesamtartikel.Lieferant)=1) AND ((ringelneuaufn.Artikelnummer)=IsNull([ringelneuaufn.Artikelnummer])));
Da zeigt er mir leider keinen Datensatz an. Wobei die Abfrage ohne Ist Null()Kriterium alle Datensätze anzeigt und das Feld "ringelneuaufn.Artikelnummer" leer ist. Habe Brett vorm Kopf!!
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 836
Re: "Nichtduplikate finden"
« Antwort #3 am: August 26, 2016, 15:25:23 »
Letzteres musst Du Dir selber beantworten.
Dein Kriterium Lieferant=1 ruft ein ganz anderes Abfrageergebnis hervor - erst mal weglassen.

Nummer = IsNull(Nummer)Das ist nun gehöriger Unsinn. IsNull ergibt als Ergebnis True oder False, und wohl kaum eine Nummer, egal ob Zahl oder Text, wird da eine Gleichheit erzielen.
Gleichheit von NULL (dem Nichts, dem Undefinierten) ist übrigens gleichfalls nicht möglich.

An Deiner Stelle könnte man die verlinkte Anweisung 1:1 kopieren und dann nur Bezeichnungen ersetzen.
Nachdenken und Probieren kannst Du , aber besser erst nach dem Test mit dem Ursprünglichen.
Mit freundlichem Glück Auf!

Eberhard
 

Offline MaggieMay

  • Global Moderator
  • Access Guru
  • *****
  • Beiträge: 3107
Re: "Nichtduplikate finden"
« Antwort #4 am: August 27, 2016, 00:36:49 »
Hallo,

hast du es schonmal hiermit versucht:
SELECT Gesamtartikel.Lieferant, Gesamtartikel.Artikelnummer, Gesamtartikel.Artikel
FROM Gesamtartikel LEFT JOIN ringelneuaufn
ON Gesamtartikel.Artikelnummer = ringelneuaufn.Artikelnummer
WHERE (
((Gesamtartikel.Lieferant)=1) AND
((ringelneuaufn.Artikelnummer) Is Null)
);

Freundliche Grüße
MaggieMay
 

Offline koch

  • Newbie
  • Beiträge: 10
Re: "Nichtduplikate finden"
« Antwort #5 am: August 27, 2016, 07:42:41 »
Hallo MaggieMay,
Das war die Lösung. Vielen Dank ;D ;D
Auch Vielen Dank an Domkarl und Eberhard für die Mühen.