PDA

Vollständige Version anzeigen : Fehlervermeidung bei DMax wenn keine Daten in Tabelle


FeDi
03.10.2002, 08:15
Guten Morgen,

grübble schon einige Stunden bei diesem Problem.
Möchte einen Fehler abfangen bei Dmax. Wenn die Tabelle Daten enthält funktioniert es wunderbar aber wenn die Tabelle leer ist bekomme ich natürlich einen Fehler und den versuche ich zu beseitigen. Aber das klappt nicht.

Hier mal mein Code (da wird es sicher einigen die Haare aufstellen):

dim Var1 as date
If DMax("[meinFeld]", "meineTab") = null then
me.textfeld1 = "0"
else
Var1 = DMax("[meinFeld]", "meineTab")
me.textfeld1 = Var1
end if

So bekomme ich einen Fehler. Fehler 94 "ungültige Verwendung von Null"

Wie mache ich das nun richtig das er mit wenn keine Daten in der Tabelle sind eine 0 schreibt und wenn Daten das Datum im Textfeld anzeigt.

Danke Euch.
FeDi

Elko
03.10.2002, 09:01
Guten Morgen FeDi
Probiers mal damit

On Error goto be

Var1 = DMax("[meinFeld]", "meineTab")
if ifnull(Var1)then me.textfeld1= "0" : end sub

me.textfeld1 = Var1:end sub
be:
me.textfeld1 = "0"


Gruß Rainer

FeDi
03.10.2002, 09:12
Hallo Rainer,

danke für die Antwort. Habe aber da noch ein kleines Problem.

Bekomme eine Fehlermeldung "Sub oder Function nicht definiert"
Handelt sich um ifnull.

Stehe irgendwie komplett auf der Leitung wie ich das nun wieder beseitige.
Habe den Code im Form_Load Ereignis.

Danke
FeDi

FeDi
03.10.2002, 09:16
Hallo Rainer,

hey. Tja meine Eifer beim Antworten ist wie immer schneller als mal mein Hirn einzusetzen.

Habe den Fehler gefunden. nicht ifnull sondern isnull.

Danke Dir für die Hilfe
Schönen Tag noch.
FeDi

Elko
03.10.2002, 09:45
Hallo FeDi

War mein Fehler es muß heißen (Schreibfehler)
If isnull(Var1)
Sory

Rainer

Schefti
03.10.2002, 10:23
Hallo FeDi,

sollte auch so gehen:

me.textfeld1 = nz(DMax("[meinFeld]", "meineTab"),0)

Josef Östreicher
03.10.2002, 15:31
Hallo,

Du hängst sicher an Deinem selbst erstellten Code, also hab ich ihn Dir nur umgebaut:

Dim Var1
Var1 = DMax("[meinFeld]", "meineTab")
If IsNull(Var1) Then
Me.Textfeld1 = "0"
Else
Me.Textfeld1 = Var1
End If

Josef Östreicher
06.10.2002, 23:53
Hallo FeDi,

wie wär's mit einer Antwort auf die letzten beiden Antworten ? (siehe Netiquette)