PDA

Vollständige Version anzeigen : negative zahlen werden ignoriert


Gast
15.05.2003, 11:25
hallo zusammen,
kann mir jemand helfen?

meine vba-anweisung lautet wie folgt:


If Me.feld < 10 Then
Me.feld1.Visible = True
Else
Me.feld1.Visible = False

If Me.feld >= 10 Then
Me.feld2.Visible = True
Else
Me.feld2.Visible = False

End If
End If
End If

das funktioniert auch soweit,

wenn me.feld allerdings einen negativen wert enthät (z.B. -6)
sind me.feld1 und me.feld2 beide sichtbar!

kann mir jemand sagen wo der fehler liegt?
vielen dank im voraus.
gruss rainer

Arne Dieckmann
15.05.2003, 11:34
Wenn das Feld=-6 ist, dann gilt doch:

If Me.feld < 10 Then
Me.feld1.Visible = True


und der ganze Else-Krempel darunter wird nicht angesprochen.
Ich finde die Select Case-Anweisung bei solch verschachtelten Aktionen ein bisschen übersichtlicher.

Paul.Ostermeier
15.05.2003, 11:35
Du hast Deine Bedinungen ungewollt verschachtelt,

If Me.feld >= 10 Then
Me.feld2.Visible = True
Else
Me.feld2.Visible = False

wird nur ausgeführt wenn

wenn Me.feld > 10
:-))

frontierscouts
15.05.2003, 11:56
hallo arne, hallo paul,
vielen dank für eure schnelle antwort.

habe das ganze vorher bereits ohne den ganzen "else-krempel" versucht, aber dann funktionierts gar nicht, dann wird feld1 immer angezeigt.
bin vba-anfänger.
arne schreibt, dass eine select case anweisung übersichtlicher sei.
wie kann denn die aussehen?

jens05
15.05.2003, 12:03
nimm doch einfach

If Me.feld < 10 Then
Me.feld1.Visible = True
Else
Me.feld1.Visible = False
End If


If Me.feld >= 10 Then
Me.feld2.Visible = True
Else
Me.feld2.Visible = False
End If

TommyK
15.05.2003, 12:06
Hallo,

mit der Select Case-Anweisung sieht es ungefähr so aus:

Select Case Me.DeinFeld
Case Is < 10
Me.feld1.Visible = True
Me.feld2.Visible = False
Case Is >= 10
Me.feld1.Visible = False
Me.feld2.Visible = True
End Select

frontierscouts
15.05.2003, 12:17
dank euch allen!
die select case anweisung von tommyK
funktioniert einwandfrei.