[Gelöst] Feldinhalt bei Init löschen

24. April 2008 08:47

Hallo,

ich habe in Tabelle 27 (ITEM) ein neues Feld angelegt Text(30).

ich füge mehre Datensätze ein.

So mache ich dies:

item.init;
no. := 'asdakshd'
.
.
.
item.insert;

Jetzt habe ich das Problem das der Init den Feldinhalt meines neuen Feldes nicht löscht.
Die einiger anderer Felder ( bsp: Description, Description 2, .. ) schon.

Ich habe gesehen das es die Property InitValue gibt.

Aber auch bei den Standardfelder ist dieses <undefied>, aber sie werden trotzdem geleert.

Kann mir jemand einen Tip geben ?

Danke,
Jörg
Zuletzt geändert von Jörg Nissen am 25. April 2008 07:07, insgesamt 1-mal geändert.

24. April 2008 08:58

Wie schon in der Onlinehilfe steht, löscht INIT nunmal keine Primärschlüsselfelder :-)
Wenn du sichergehen möchtest, verwende besser CLEAR(Record).

In beiden Fällen werden die Felder - sofern sie geleert werden - auf den OnInitValue zurück gesetzt.

24. April 2008 09:28

Hallo Natalie,
das mit den Primärfelder hatte ich gelesen.

Aber das Feld Description ist kein Prmärschlüssel Feld und wird auch gelöscht.

Ich werde nun aber deinem Hinweis mit dem Clear nutzten, trotzdem wüsste ich gern warum das Descriptionfeld gelöscht wird.


Jörg

24. April 2008 09:35

Jörg Nissen hat geschrieben:Aber das Feld Description ist kein Prmärschlüssel Feld und wird auch gelöscht.


Das hast du falsch verstanden:
INIT löschen alle Felder - nur die des Primärschlüssels nicht.
Da Description kein PK-Feld ist, wird der Inhalt gelöscht.

24. April 2008 09:46

Hallo,
ja so hatte ich das auch verstanden. Ich verstehe nur nicht wieso mein neues Feld ID 50001, Typ Text nicht auch gelöscht wird.



Jörg

24. April 2008 09:55

Ah, daher weht der Wind :-)

Hast du in diesem Feld einen OnInitValue gepflegt?
Hast du übers Debuggen sicher gestellt, dass es wirklich nicht geleert wird? Schließlich könnte es sein, dass es kurz danach neu gefüllt wird.

24. April 2008 10:41

Hallo,
sorry hatte mich Unklar ausgedrückt.

Nein ,den onInitValue habe ich nicht eingetragen. Er hat den gleichen Wert wie bei dem Feld Description <undefied>.

Ja, habe ich über debuggen getestet.
Vorm INIT alle Felder gefüllt
nach dem INIT alle felder leer, auser PK felder und meinem neuem Feld.

24. April 2008 10:57

Hm, und du bist dir sicher, dass dein neues Feld nicht im ersten Schlüssel der Tabelle enthalten ist?

Ist das Feld nicht aktiv?
Oder ist ein Option-Feld, und der 1. Optionstring ist nicht als <leer> definiert?

25. April 2008 07:07

Hallo,

ja ich bin mir sicher das das Feld vom Typ Text ist und auch nicht mit im PK ist. Das Neue Feld ist in keinem Key.

Mit deinem Hinweis auf CLEAR klappt das.

Vielen Dank
Jörg

25. April 2008 08:11

*wunder*

Falls du jemals herausbekommen solltest, was nun der Grund für das seltsame Verhalten war - lass es mich bitte wissen.

25. April 2008 08:54

Hallo,
ich bin sicher ich werde irgentwann in einem anderen zusammenhang darauf kommen was meine Fehler hier war.

Jörg