Axel Richter: Fehler bei negativen Werten in IF- und SELECT CASE- Anweisungen

Beitrag lesen

Hallo,

Jetzt ist der Fehlercode ein negativer Wert (-2147467259). Ich kann den negativen Wert jedoch nicht in der Select-Anweisung angeben, da die Variable strerlaeuterung mit dem CASE ELSE-Wert gefüllt wird.

Das liegt aber nicht daran, dass der Wert negativ ist. Es liegt daran, dass Select Case keine implizite Typumwandlung vornimmt, sondern den String "-2147467259" gegen den Wert -2147467259 abprüft. Entweder Du schreibst also
...
Case "-2147467259"
...

oder:

intErr = request.querystring("err")

'intErr ist also ein String

intErrNeu = clng(intErr)

Select Case intErrNeu
Case -2147467259
  strErlaeuterung = "Da mit diesem Datensatz noch andere Datensätze verlinkt sind, kann dieser Datensatz erst gelöscht werden, wenn die untergeordneten Datensätze auch gelöscht sind."

Case else
  strErlaeuterung = "Leider keine Erläuterung, da Fehler noch unbekannt!"
end select

Anzumerken wäre noch, dass clng und nicht cint verwendet werden muss, da der Wert außerhalb des Integer-Wertebereichs liegt, aber innerhalb des Long-Wertebereichs.

viele Grüße

Axel