Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Access - Leerer Eintrag trotz Primary Key?

Frage Microsoft Microsoft Office

Mitglied: Xaero1982

Xaero1982 (Level 3) - Jetzt verbinden

17.10.2006, aktualisiert 19.10.2006, 7074 Aufrufe, 7 Kommentare

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
Mitglied: AndreasHoster
17.10.2006 um 15:50 Uhr
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?
Bitte warten ..
Mitglied: Xaero1982
19.10.2006 um 10:44 Uhr
Sieht so aus, als ob entweder Deine
Programmierung um leere Seriennummern zu
erkennen fehlerhaft ist
Sie ist nicht fehlerhaft, da sie in anderen Fällen wo die Seriennummer nicht ausgelesen werden kann einwandfrei funktioniert.

>oder die Seriennummer
nicht wirklich leer ist (eventuell ein
Leerzeichen?) oder die Seriennummer ein
Format ist, den die Felddefinition der
Datenbank nicht zulässt.

Daran habe ich auch schon gedacht, denn wenn ich mir das Feld ansehe ist irgendwas drin. Sieht aber eher aus wie ein leerzeichen. Da ich dies aber in Access mit der Einstellung: keine leere Zeichenfolge ausgeschlossen habe muss es etwas sein, dass access nicht darstellen kann. Bzw. grundsätzlich nicht dargestellt werden kann.

Und was Deine Überschrift angeht:
Was hat ein leeres Feld und der Primary Key
miteinander zu tun?

ehm ... ein Primary Key kann und darf eigentlich _NIE_ leer sein. Deswegen die überschrift. Würde es sich um ein normales Feld handeln und nicht um den PKey wäre das wohl wurst, da diese sehr wohl leer sein dürfen.
Bitte warten ..
Mitglied: AndreasHoster
19.10.2006 um 10:50 Uhr
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.
Bitte warten ..
Mitglied: Xaero1982
19.10.2006 um 14:51 Uhr
Ein Primary Key darf nicht Null sein, aber
ein String mit einem Leerzeichen durchaus.
Das ist mir klar ....

Und leere Zeichenfolge bei Access meint
einen Leerstring "" und nicht
" ".
Access meint damit " " und nicht "" ...weil "" heißt, dass es nicht gesetzt sein muss...
Mach doch einfach ein Trim auf die
Seriennummer, bevor es weitergeht, dann sind
garantiert keine Leerzeichen vorne oder
hinten dran.
ehm ...
der kram wird via vbscript in die db geschrieben .. sprich da muss ich wenn ansetzen

Und ich hatte nicht rausgelesen, daß
die Seriennummer das Primary Key Feld ist.
stimmt *erröt*
Bitte warten ..
Mitglied: AndreasHoster
19.10.2006 um 15:18 Uhr
Also mein Access 2003 akzeptiert " " bei Leere Zeichenfolge. Im Englischen heist die Einstellung auch AllowZeroLength und " " hat Länge 1.
Null und "" ist auch nicht daselbe.
Null bedeutet, man hat den Wert nicht initialisiert hat. "" bedeutet, man hat reingeschrieben daß nichts drin ist.
Bitte warten ..
Mitglied: Xaero1982
19.10.2006 um 20:28 Uhr
Sorry, wenn ich sage er soll "" reinschreiben sagt er mir is nicht weil PKey nicht leer sein darf... selbiges gilt für " "!
Bitte warten ..
Mitglied: Biber
19.10.2006 um 20:51 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Batch & Shell
gelöst PPowershell, leerer Folder bei Access denied in Destination (4)

Frage von DanielBodensee zum Thema Batch & Shell ...

Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Windows Vista
gelöst Vista Home Premium nur Basic Key (8)

Frage von Chonta zum Thema Windows Vista ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...