PDA

Vollständige Version anzeigen : Fehlende Werte herausfinden


twk1
21.10.2001, 22:46
Hallo Access-Profis!

Gibt es eine Möglichkeit OHNE die ganze Tabelle durchlesen zu müssen, fehlende Werte herauszufinden?
Bsp: 1.Wert = 1, letzter Wert = 100
Dazwischen fehlen aber Datensätze mit den Werten 24, 27 38 und 96.
Wenn ich jetzt einen neuen Datensatz anlege, soll er mir automatisch die Nummer 24 vorschlagen, aber wie gesagt ohne mit while-move next-wend die ganze tabelle zu lesen.
Da muesste es doch einen befehl geben?

Danke für Euer Gehirnschmalz.
lg, Thomas

MarioR
22.10.2001, 06:03
Hallo Thomas,

schau Dir mal meinen Beitrag an: in lfd. Nr. fehlende suchen? (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=50054)

Die Lösung müsste auch für Dein Problem funktionieren.

twk1
22.10.2001, 10:11
Hallo Mario!

Danke fuer den Hinweis. Wusste nicht das das SQL-Statement "NOT IN" auch auf sich selbst funktioniert. Es sind mir aber noch 2 Punkte unklar?
1.) Was passiert, wenn die erste Nummer fehlt (1-10, es fehlt 1, 3,7)
2.) Was sind (in deinem Bsp) die Felder LfdNummer und FehlendeNr? (Tabellenfelder oder Variablen und wie sind sie definiert)

lg, Thomas

MarioR
22.10.2001, 10:50
Hallo Thomas,

zu 1.)
Der neue verbesserte SQL-String lautet:

(SELECT 1 AS FehlendeNr
FROM DeineTabelle
WHERE 1
NOT IN (SELECT [LfdNummer] FROM DeineTabelle))
UNION
(SELECT [LfdNummer]+1 AS FehlendeNr
FROM DeineTabelle
WHERE [LfdNummer]+1
NOT IN (SELECT [LfdNummer] FROM DeineTabelle)
ORDER BY [LfdNummer]);

zu 2.)
"LfdNummer" ist eine Tabellenfeld
"FehlendeNr" ist die Bezeichnung für den Ausdruck [LfdNummer]+1

twk1
22.10.2001, 12:13
Hi Mario!

Herzlichen Dank für deine Hilfe!!

lg, Thomas