Announcement

Collapse
No announcement yet.

Fehlerbehandlung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehlerbehandlung

    Hallo,
    ich habe eine onBitBtnClick Procedur geschrieben, die eine Message anzeigt, wenn die Felder Kundennummer und/oder Name leer sind. Das funktioniert soweit auch ganz gut, es sei denn die Eingabe wird nach drücken des QK Buttons wieder verändert. d.H., wenn der Anwender z.B. schon einen Namen eingegeben hat und es feht nur noch die Kundennummer erscheint die Meldung: 'Bitte eine Kundennummer eingeben'. Soweit so gut. Wenn der Anwender nun aber den Namen wieder erscheint auch keine Fehlermeldung: 'Bitte Name eingeben' mehr. Der Zweck, dass das Fled Name nicht leer bleiben kann ist somit nicht erreicht. Woran liegt das ? Ich dachte eigentlich, dass bei einem Click auf den Button die Procedure wieder von neuem aufgerufen wird und die Überprüfung auch wieder komplett stattfindet. Hier mal der Code:

    procedure TKundeStammForm1.BitBtn1Click(Sender: TObject);

    begin

    if DBEdit1.Field.isNull and DBEdit12.Field.isNull then

    MessageDlg('Bitte Name und Kundennummer angeben', mtError,
    [mbOk], 0)

    else

    begin

    if DBEdit1.Field.isNull then

    MessageDlg('Bitte einen Namen angeben', mtError,
    [mbOk], 0);

    if DBEdit12.Field.isNull then

    MessageDlg('Bitte eine Kundennummer angeben', mtError,
    [mbOk], 0)

    else

    KundeStammForm2.show

    end

    end;

    Wo steckt der Fehler ?

    Gruß Elke

  • #2
    Hallo Elke,

    das kann daran liegen, das manche DB-Treiber bei TField.IsNull nur dann True zurückliefern wenn das Feld noch nie benutzt wurde bzw. mit TField.Clear gelöscht wurde. Das einfache leeräumen im DBEdit kann dazu führen das das Feld eben nicht Null sondern nur '' ist.
    Probier mal ob die Erweiterung der Bedingung auf if DBEdit1.Field.isNull or (DBEdit1.Field.AsString <> '') then ... etwas bringt.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X