Felder hinzufügen und als Pflichtfeld setzen -Domänenproblem

Allgemeine Diskussionen um die ERP Software AvERP

Moderator: SYNERPY

Antworten
Mwies
Beiträge: 11
Registriert: Do Jan 18, 2007 12:21 pm
Wohnort: Osnabrück

Felder hinzufügen und als Pflichtfeld setzen -Domänenproblem

Beitrag von Mwies »

Hallo!

Ich habe ein Problem mit einigen Feldern, die ich zusätzlich eingebaut habe. Das anlegen etc. war kein Problem.

Ich habe die Felder im SQL-Skript als not Null definiert, bei der Eingabe in AVERP werden diese Felder aber nicht als Pflichtfelder erkannt. Ist auch nicht möglich, da ich sie der Domäne D_ZAHL4KOMMANOTNULL zugeordnet habe, diese setzt dann wohl automatisch eine "0" hinein und logisch gesehen ist das Feld dann ausgefüllt. Welche Domäne muss ich angeben, damit ich eine Kommazahl eingeben kann, das Feld aber nicht mit "0" vorbelegt wird und somit wieder Pflichtfeld ist!?

Vielen Dank!

Markus Wies
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

NOT NULL heißt "nicht leer" und nicht "nicht 0". Dafür gibt es keine Domäne und im SQL gibt es auch keinen Status für "nicht 0".

Abhilfe schafft hier ein Before-Trigger, in dem man im Falle Wert 0 ein NULL eintragen kann:

Code: Alles auswählen

IF (NEW.MyVARIABLE = 0) THEN NEW.MyVARIABLE = NULL;
Mwies
Beiträge: 11
Registriert: Do Jan 18, 2007 12:21 pm
Wohnort: Osnabrück

Beitrag von Mwies »

Hallo!

Erst einmal Danke für die Antwort.

Schade, dass es keine einfachere Möglichkeit gibt, die Vorbelegung des Feldes mit einer "0" auszuschalten.

Gruß

Markus Wies
miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe »

Hallo mal ein Tipp:

In der Domain D_ZAHL4KOMMANOTNULL steht als DefaultSource der Wert 0.0, der dann natürlich genau so auch in die Felder mit der Domain übernommen wird, auch wenn die selbst keine DefaultWert haben!

Warum also nicht eine eigene Domain definieren mit den gleichen Einstellungen wie die bestehende aber mit leerem Wert für die DefaultSource.

Gruß
Michael
Mwies
Beiträge: 11
Registriert: Do Jan 18, 2007 12:21 pm
Wohnort: Osnabrück

Beitrag von Mwies »

Das hört sich gut an! Genau die Einstellungsmöglichkeit hab ich gesucht. Ich werde es gleich mal ausprobieren!

Danke!
Mwies
Beiträge: 11
Registriert: Do Jan 18, 2007 12:21 pm
Wohnort: Osnabrück

Beitrag von Mwies »

So hat es leider nicht funktioniert. Geht wohl nur über den before-Trigger. Aber es läuft. :D Jetzt kommt eine SQL-Fehlermeldung, wenn dort die "0" stehen bleibt. Die muss ich jetzt nur noch für meine Kollegen "übersetzen".

Danke nochmal für die Bemühungen!

Gruß
Markus Wies
Antworten