Entwickler-Ecke

Datenbanken - Leeres Feld in meiner Access Datenbank


DaSurv - Do 11.07.02 13:13
Titel: Leeres Feld in meiner Access Datenbank
Ich habe eine Access Datenbank erstellt und mit einem ADOTable verbunden. Funktioniert eigentlich einwandfrei.

Ich kann Felder leer lassen - kein Problem.

Nur wenn ich MAL einen Wert in der DB gespeichert habe und diesen wieder lösche - bekomme ich eine Exception mit dem Text, darf keine Zeichenfolge der Länge Null sein.

Ich habe diese Felder in Access2000 als TEXTFELDER und mit EINGABE NICHT ERFORDERLICH deklariert; auch habe ich weder irgendwelche Keyfelder noch Indizes gesetzt.

Bin für jede Hilfe dankbar.

DaSurv


Renegade - Do 11.07.02 16:35

Dazu eine Frage bevor ich anfange rumzuraten - auf welche Art und Weise versuchst Du den Eintrag zu löschen? Am Besten poste den Code.
:wink:

Bis denn


DaSurv - Do 11.07.02 21:45

Also, ich habe verschiedene dbedit´s über ein datasource mit den entsprechenden Feldern aus der DB verbunden. Anschließend lasse ich mir die einzelnen Datensätze anzeigen und auf Knopfdruck kann ich die dbedits dann editieren. Danach lasse ich über ADOTable1.Edit und ADOTable1.Post die Änderungen in die Datenbank eintragen.

Und genau da ist der Haken - hier kann ich leere Felder posten; aber nur wenn das Feld vor dem posten schon leer war. War ein Wert in dem Feld und ich überschreibe diesen mit einem String der Länge Nulle, dann gibt´s ne exception!!!.

Danke für deine Hilfe.

DaSurv


Renegade - Mi 17.07.02 23:26

Versuch mal folgendes:

Setze die Eigenschaft AutoEdit deines TDataSource auf True - dann kannst die den spaß mit post etc. sparen und weiterhin sollte die Fehlerbehandlung von der BDE / Delphi übernommen werden


DaSurv - Do 18.07.02 02:49

AutoEdit ist schon auf True - das stimmt, da könnte ich mir wirklich das edit sparen.

Gibt aber trotzdem noch die exception bei Strings der Länge Null.

DaSurv


MrSpock - Do 18.07.02 08:30

Hall DaSurv,

neben der Eigenschaft "Eingabe erforderlich" gibt es für die Felddefinition in Access noch die Eigenschaft "Leere Zeichenfolge", die standardmäßig auf "nein" steht. Hier musst du "ja" eintragen, dann funktioniert's.


DaSurv - Do 18.07.02 15:06

Ein Dankeschön, an den Bodensee!

Das war der Fehler.

Danke

DaSurv