danke für die antwort, leider unterstützt access den befehl substring nicht
mein gedanke hinter dem auftrag auftrag war eben, dass die kunden-nr bei beiden datensätzen die selbe ist, die auftrags-nr sich aber unterscheidet. aber das scheint so nicht zu gehen
ich kenne das Access SQL nicht, aber RIGHT liefert dir die rechten n Stellen des Argumentes, ja ?
Irgendwie scheint mir immer noch die Anzahl der Aufträge nicht ermittelt zu werden, und das sollte doch dein Kriterium sein.
Ich werde das Gefühl nicht los, dass du nach der rechtsesten (sorry für die Wortschöpfung) Stelle der Auftragsnummer unterscheidest, das funktioniert zwischen 0 und 9. Du selektierst doch die Kundennummern, deren Rechts-Aussen-Auftragsnummern-Stelle grösser 1 sind, oder ?
Oder habe ich das Access SQL da so missverstanden ?
Du solltest evtl. doch mal mit count(*), GROUP BY und HAVING probieren … und Access unterstützt sicher auch eine Art SUBSTR Funktion, da mögen sich bitte mal die Access-Kundigen einblenden.
SELECT \*
FROM auftraege T1
WHERE EXISTS
(SELECT T2.kunde
FROM auftraege T2
WHERE RIGHT(t2.auftrag,1) \> 1
AND t1.kunde = T2.kunde);
damit fällst Du auf die Nase, wenn der Sachbearbeiter auf die Idee kommt, Auftrag.1 zu löschen. Oder wenn der Zähler mehr als 1 Ziffer hat.
Dein Datenmodell taugt nichts. Gib dem Auftrag eine unabhängige - nichtssagende - Identifikation, stell die Kundennummer als Beziehungsattribut dazu und fertig ist die Laube.
Hallo,
stimme drambeldier voll und ganz zu!
Das was du machst verstößt gegen die erste Normalform, jedes Attribut ist atomar, d.h. in jedem Feld steht nur eine Information und nicht wie bei dir:
Kundennummer + Primärschlüssel (eine fortlaufende Nummer ist nämlich ein perfekter PK)