PDA

Vollständige Version anzeigen : Abfrage select case..


PeteD
28.09.2005, 12:40
ich habe folgendes problem:

ich habe eine SELECT CASE Abfrage, halt mit mehreren CASE anweisungen, und will nun bei der CASE ELSE, also letzte Abfrage falls diese "ausgewählt" wurde wieder zurück an den anfang der SELECT CASE Abfrage springen..damit diese neu durchlaufen wird..womit kann ich es realisieren?? :rolleyes:

Morli
28.09.2005, 12:42
Nochmal:
Select Case
...
...
...
...
Case Else
Goto Nochmal
End Select

Auch wenn ich nicht ganz nachvollziehen kann wozu das gut sein soll....!

Morli

molnar
28.09.2005, 12:48
Z.B. so:

Marke:
Select Case x
...
Case Else
x = ...
GoTo Marke
End Select

Reinhard

PeteD
28.09.2005, 13:15
vielleicht habe ich mich nicht richtig ausgedruckt..
ich habe halt eine listenauswahl, die mit hilfe der SELECT CASE Abfrage abgearbeitet wird..nun will ich, falls nix ausgewählt wurde, eine MsgBox (Falls Case Else) aufrufen lassen und dadurch den benutzer zwingen, auf den "OK" - Button zu drücken und dann nochmal auszuwählen..
Mit hilfe der Marke habe ich irgendwie eine dauerschleife..
das will ich ja nicht..

Mein bisheriger Code lautet:

marke1:
Select Case Me!Liste21
Case "..."
"..."
Case "..."
"..."
Case "..."
".."
Case Else
MsgBox "Sie haben noch keinen Bericht ausgewählt! Bitte wählen Sie erneut aus!", 48, "Achtung"
GoTo marke1
End Select

molnar
28.09.2005, 13:28
Bei welchem Ereignis wird denn Dein Code wird ausgeführt? Kannst Du das nicht an die Auswahl im Listefeld koppeln?

Wenn der Benutzer gezwungen werden soll, einen Listeneintrag auszuwählen, bevor die Verarbeitung stattfindet, mußt Du die Verarbeitung mit Exit Sub bzw. Exit Function abbrechen, statt das Select Case zu wiederholen.

Um eine Endlosschleife zu verhindern hatte ich in meinem Beispiel vor das GoTo eine Wertezuweisung an die im Select Case abgefragte Variable geschrieben. Ohne Änderung des Wertes muß das Programm ja wieder beim Case Else landen!

Reinhard

Smaug
28.09.2005, 13:38
Private Sub ListenauswahlAuswerten()
MeinMarke:
If IsNULL(Me!Liste) then goto MeineMarke
Select Case Me!Liste
....

PeteD
28.09.2005, 13:46
also...das es so einfach war hätte ich es nicht gedacht..mit EXIT SUB bei der Case ELSE Anweisung hat es geklappt...nun funktioniert es so, wie ich es mir vorgestellt habe..
danke für die schnelle hilfe.. :grins: