Access - Leerer Eintrag trotz Primary Key?
Hi,
also ich habe eine DB in die Computerdaten von jedem Computer automatisch eingetragen werden.
U.a. die Seriennummer eines PCs.
Nun gibt es Fälle, wo keine Seriennummer ausgelesen werden kann. Für diesen Fall habe ich gesagt, ok, statt der Seriennummer soll er den Computernamen als Seriennummer eintragen und einen extra Vermerk in einer Datei setzen.
So, wenn ich die Seriennummer manuell leer setze geht alles wunderbar.
Wenn ich einen PC habe, auf dem kein WMI ist (NT 4) gehts auch wunderbar.
Nun habe ich aber einen w2k PC (mit WMI), bei dem aber keine Seriennummer ausgelesen werden kann, aber dennoch setzt er einen PrimaryKey! Einen leeren!
So, da ich auf die Seriennummer aber einen Link setze um Details dieses Computers anzeigen zu lassen existiert hier kein Link.
Des weiteren ist das Problem, dass bei der Auflistung (ich habe ein Dropdownmenü mit allen Computern) immer sofort dieser besagte PC ohne Seriennummer angezeigt wird ...
???? HÄÄÄÄ????
Edit: Seriennummer = Primary Key
also ich habe eine DB in die Computerdaten von jedem Computer automatisch eingetragen werden.
U.a. die Seriennummer eines PCs.
Nun gibt es Fälle, wo keine Seriennummer ausgelesen werden kann. Für diesen Fall habe ich gesagt, ok, statt der Seriennummer soll er den Computernamen als Seriennummer eintragen und einen extra Vermerk in einer Datei setzen.
So, wenn ich die Seriennummer manuell leer setze geht alles wunderbar.
Wenn ich einen PC habe, auf dem kein WMI ist (NT 4) gehts auch wunderbar.
Nun habe ich aber einen w2k PC (mit WMI), bei dem aber keine Seriennummer ausgelesen werden kann, aber dennoch setzt er einen PrimaryKey! Einen leeren!
So, da ich auf die Seriennummer aber einen Link setze um Details dieses Computers anzeigen zu lassen existiert hier kein Link.
Des weiteren ist das Problem, dass bei der Auflistung (ich habe ein Dropdownmenü mit allen Computern) immer sofort dieser besagte PC ohne Seriennummer angezeigt wird ...
???? HÄÄÄÄ????
Edit: Seriennummer = Primary Key
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 42366
Url: https://administrator.de/forum/access-leerer-eintrag-trotz-primary-key-42366.html
Ausgedruckt am: 02.04.2025 um 02:04 Uhr
7 Kommentare
Neuester Kommentar
Sieht so aus, als ob entweder Deine Programmierung um leere Seriennummern zu erkennen fehlerhaft ist oder die Seriennummer nicht wirklich leer ist (eventuell ein Leerzeichen?) oder die Seriennummer ein Format ist, den die Felddefinition der Datenbank nicht zulässt.
Und was Deine Überschrift angeht:
Was hat ein leeres Feld und der Primary Key miteinander zu tun?
Und was Deine Überschrift angeht:
Was hat ein leeres Feld und der Primary Key miteinander zu tun?
Ein Primary Key darf nicht Null sein, aber ein String mit einem Leerzeichen durchaus.
Und leere Zeichenfolge bei Access meint einen Leerstring "" und nicht " ".
Mach doch einfach ein Trim auf die Seriennummer, bevor es weitergeht, dann sind garantiert keine Leerzeichen vorne oder hinten dran.
Und ich hatte nicht rausgelesen, daß die Seriennummer das Primary Key Feld ist.
Und leere Zeichenfolge bei Access meint einen Leerstring "" und nicht " ".
Mach doch einfach ein Trim auf die Seriennummer, bevor es weitergeht, dann sind garantiert keine Leerzeichen vorne oder hinten dran.
Und ich hatte nicht rausgelesen, daß die Seriennummer das Primary Key Feld ist.
Moin Xaero1982,
das sind jetzt aber unterschiedliche Aspekte, die hier vermischt werden.
Die letzte philosophische Diskussion: "Wenn ich sage, er soll "" reinschreiben.."etc....
-> beweist wenig. Wir wissen doch nur, das Access oder sonstige GUI-Tools nichts anzeigen.
Wir wissen nicht, ob die Länge dieses PK = 0 ist (was ich auch nicht glaube).
Prüfe doch erstmal im Access die Länge dieses "leeren" PKs und dann, wenn > 0, den Inhalt mit chr() oder Hex() oder was immer Access zur Konvertierung hat.
Gruß
Biber
das sind jetzt aber unterschiedliche Aspekte, die hier vermischt werden.
Die letzte philosophische Diskussion: "Wenn ich sage, er soll "" reinschreiben.."etc....
-> beweist wenig. Wir wissen doch nur, das Access oder sonstige GUI-Tools nichts anzeigen.
Wir wissen nicht, ob die Länge dieses PK = 0 ist (was ich auch nicht glaube).
Prüfe doch erstmal im Access die Länge dieses "leeren" PKs und dann, wenn > 0, den Inhalt mit chr() oder Hex() oder was immer Access zur Konvertierung hat.
Gruß
Biber