hier nen Auszug aus meinem Code:
If doc.name(0) = "" Then
Messagebox "Enter the name of the employee."
Call Source.GotoField("name")
Continue = False
End If
Nach der Messagebox kommt die Frage, ob ich speichern will. Wenn alles korrekt eingegeben wurde, setze ich Continue auch wieder auf True.
mein code:
If doc.name(0) = "" Then
Messagebox "Enter the name of the employee."
Call Source.GotoField("name")
Goto dontsave
End If
'andere Sachen, die übersprungen werden
dontsave:
Continue = False
End Sub
Hi,
rein gefühlsmässig sollte das funktionieren. Allerdings ist die Verwendung von Gotos nicht unbedingt ein guter Programmierstil. Man sollte die goto-Anweisung nur dort verwenden, wo es sich unter keinen Umständen vermeiden lässt.
Darum würde ich das Ganze so machen:
If doc.name(0) = "" Then
Messagebox "Enter the name of the employee."
Call Source.GotoField("name")
Continue = False
Exit Sub
End If
'andere Sachen, die übersprungen werden
End Sub
Das Problem was ich bei deinem Code sehe, ist, das eigentlich gar nicht gespeichert wird. Denn auch wenn das Feld gefüllt ist, am Ende des Events Continue aud False gesetzt wird.
Axel