2003-04-23 Speichern Nachfrage des Dataform ohne vorherige Änderung

Problembeschreibung:

Das Dataform frägt ggfls. bei unveränderten Daten in einer Maske nach, ob gespeichert werden soll, obwohl keine Änderungen vorgenommen wurden. Dies passiert insbesondere dann, wenn über den Suchbutton zu einem anderen Datensatz gesprungen werden soll. Hintergrund ist der folgende: Wenn nachträglich Datenbankfelder des Typs "ID Secondary" angelegt werden, die NULL-Werte in der Datenbank zulassen und auch keinen Default vorsehen, so wird bei bestehenden Datensätzen keine Änderung vorgenommen und das entsprechende neu angelegte Feld enthält pro vorhandenem Datensatz den Wert NULL. Wird ein solches neues Feld an ein TdbNumber-Feld gebunden, so wird der Wert 0 bei NULL in der DB angezeigt. Beim prüfen, ob sich was geändert hat, wird der angezeigte Wert mit dem in der DB verglichen und als geändert erkannt, was zu der Nachfrage führt.


Beispiel:

Das Feld Rabattgruppe (SpPaDiscountGroup) in der Ersatzteil-Detailmaske (Tabelle SpareParts) ist ein solcher Kandidat.


Abhilfe:

Falls ein solches Problem beim Kunden auftritt und der nicht (pro vorhandenem Datensatz einmal) speichern möchte, so muss ein SQL-Update an der entsprechenden Tabelle vorgenommen werden, um die NULL-Werte in den jeweiligen Feldern durch numerisch 0 zu ersetzen. Für das angegebene Beispiel lautet das SQL Statement folgendermassen:


UPDATE SpareParts SET SpPaDiscountGroup=0 WHERE SpPaDiscountGroup IS NULL


Es müssen ggfls. mehrere Update-Statements erstellt werden (entsprechend der Anzahl hinzugefügter Datenbankfelder des Typs "ID Secondary")



Erstellt: 23.04.2003 14:17:44
Autor: Zach
Geändert: 08.05.2017 08:09:05
Geändert von: DBUpdate
ArtikelID: 3797

Artikel ID: 1122275