Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
04.09.2008 11:23:35 |
RWErene81 |
|
|
|
04.09.2008 15:55:02 |
Holger |
|
|
|
04.09.2008 16:24:08 |
RWErene81 |
|
|
|
04.09.2008 16:55:11 |
RWErene81 |
|
|
|
05.09.2008 13:24:30 |
Holger |
|
|
Korrektur:Schleifenvarianten |
05.09.2008 19:32:43 |
Holger |
|
|
Von:
Holger |
Datum:
05.09.2008 19:32:43 |
Views:
915 |
Rating:
|
Antwort:
|
Thema:
Korrektur:Schleifenvarianten |
Hallo RWErene81,
ich war vielleicht heute Nachmittag etwas zu schnell:
...
Select Case OptionTyp
b1="U"
Case Is = "C"
If Exotyp = "ki" And KursKZ = "-1" Then b1 = "D":goto fertig
If Exotyp = "RKO" And KursKZ = "-1" Then b1 = "D":goto fertig
If not(Exotyp = "RKI" And KursKZ = "-1") Then b1 = "D":goto fertig
If not(Exotyp = "ko" And KursKZ = "-1") Then b1 = "D":goto fertig
Case Is = "P"
If not(Exotyp = "ki" And KursKZ = "-1") Then b1 = "D":goto fertig
If not(Exotyp = "RKO" And KursKZ = "-1") Then b1 = "D":goto fertig
If Exotyp = "di" And KursKZ = "-1" Then b1 = "D":goto fertig
If Exotyp = "DO" And KursKZ = "-1" Then b1 = "D":goto fertig
case else
end select
fertig:
...
Gruß
Holger
Holger schrieb am 05.09.2008 13:24:30:
Hallo RWErene81,
versuche es einmal so (nicht geprüft!):
Select Case OptionTyp
b1="U"
Case Is = "C"
If Exotyp = "ki" And KursKZ = "-1" Then b1 = "D"
If Exotyp = "RKO" And KursKZ = "-1" Then b1 = "D"
If not(Exotyp = "RKI" And KursKZ = "-1") Then b1 = "D"
If not(Exotyp = "ko" And KursKZ = "-1") Then b1 = "D"
Case Is = "P"
If not(Exotyp = "ki" And KursKZ = "-1") Then b1 = "D"
If not(Exotyp = "RKO" And KursKZ = "-1") Then b1 = "D"
If Exotyp = "di" And KursKZ = "-1" Then b1 = "D"
If Exotyp = "DO" And KursKZ = "-1" Then b1 = "D"
case else
end select
Gruß
Holger
RWErene81 schrieb am 04.09.2008 16:55:11:
Okay, versuche noch mal mein Problem zu schildern. Meine Eventuellen auftretenden Möglichkeiten werden nicht alle abgefangen und irgendwie überschreibe ich mir auch immer wieder meine Werte.
Ich habe eine große Menge an Produkten, die sich unterscheiden lassen.
Ich habe unter anderem drei Spalten mit folgenden Werten:
OptionTyp: C,P
Exotyp: ki, RKO, RKI, KO
KursKz: -1 oder 1
Wenn in dem Feld KursKz keine -1 ist, dann ist da eine 1 enthalten. Ein anderer Wert oder ungefüllt geht nicht!!
Folgende 16 Kombinationen sind möglich (in der Variabelen b1 soll der Wert nach dem = zurück gegeben werden):
"C"+"-1"+"Ki" = b1 = "D"
zu lesen: Wenn das Produkt das Merkmal C hat und das Merkmal -1 und das Merkmal KI, dann füll die Variable b1 mit D.
"C"+"-1"+"RKO" = b1 = "D"
"C"+"-1"+"RKI" = b1 = "U"
"C"+"-1"+"KO" = b1 = "U"
"C"+"1"+"Ki" = b1 = "U"
"C"+"1"+"RKO" = b1 = "U"
"C"+"1"+"RKI" = b1 = "D"
"C"+"1"+"KO" = b1 = "U"
"P"+"-1"+"Ki" = b1 = "U"
"P"+"-1"+"RKO" = b1 = "U"
"P"+"-1"+"RKI" = b1 = "D"
"P"+"-1"+"KO" = b1 = "D"
"P"+"1"+"Ki" = b1 = "D"
"P"+"1"+"RKO" = b1 = "D"
"P"+"1"+"RKI" = b1 = "U"
"P"+"1"+"KO" = b1 = "U"
Und ich dachte mir die Ganze Geschichte dann so:
[code] Select Case OptionTyp
Case Is = "C"
If Exotyp = "ki" And KursKZ = "-1" Then
b1 = "D"
Else
b1 = "U"
End If
If Exotyp = "RKO" And KursKZ = "-1" Then
b1 = "D"
Else
b1 = "U"
End If
If Exotyp = "RKI" And KursKZ = "-1" Then
b1 = "U"
Else
b1 = "D"
End If
If Exotyp = "ko" And KursKZ = "-1" Then
b1 = "U"
Else
b1 = "D"
End If
Case Is = "P"
If Exotyp = "ki" And KursKZ = "-1" Then
b1 = "U"
Else
b1 = "D"
End If
If Exotyp = "RKO" And KursKZ = "-1" Then
b1 = "U"
Else
b1 = "D"
End If
If Exotyp = "di" And KursKZ = "-1" Then
b1 = "D"
Else
b1 = "U"
End If
If Exotyp = "DO" And KursKZ = "-1" Then
b1 = "D"
Else
b1 = "U"
End If
End Select[/code]
VIelen Dank
RWErene81
RWErene81 schrieb am 04.09.2008 16:24:08:
Mhm,
wie löse ich das denn, damit die Weerte nicht überschrieben werden?
Syntax so besser?
Select Case OptionTyp
Case Is = "C"
If Exotyp = "ki" And KursKZ = "-1" Then
b1 = "D"
Else
b1 = "U"
End If
If Exotyp = "RKO" And KursKZ = "-1" Then
b1 = "D"
Else
b1 = "U"
End If
If Exotyp = "RKI" And KursKZ = "-1" Then
b1 = "U"
Else
b1 = "D"
End If
If Exotyp = "ko" And KursKZ = (-1) Then
b1 = "U"
Else
b1 = "D"
End If
Case Is = "P"
If Exotyp = "ki" And KursKZ = "-1" Then
b1 = "U"
Else
b1 = "D"
End If
If Exotyp = "RKO" And KursKZ = "-1" Then
b1 = "U"
Else
b1 = "D"
End If
If Exotyp = "di" And KursKZ = "-1" Then
b1 = "D"
Else
b1 = "U"
End If
If Exotyp = "DO" And KursKZ = "-1" Then
b1 = "D"
Else
b1 = "U"
End If
End Select
Holger schrieb am 04.09.2008 15:55:02:
Hallo RWErene81,
mit den jeweils letzten If-Anwisungen eines Case überschreibst du die vorhergehenden, so dass nur noch diese Werte gelten. Ganz abgesehen davon, ist die Syntax nicht o.K. Bei deiner Schreibweise musst du die End if und Doppelpunkte weglassen, da sich die Anweisungen in der Zeile hinter Then fortsetzen.
Gruß
Holger
RWErene81 schrieb am 04.09.2008 11:23:35:
Tag zusammen,
hab nen Problem mit ner Schleife. Verstehe das ganze gar nicht.
Hat jemand ne andere Lösungsidee?
Mögliche Belegungen:
OptionTyp: C,P
Exotyp: ki, RKO, RKI, KO
KursKz: -1 oder 1
Select Case OptionTyp
Case Is = "C"
If Exotyp = "ki" And KursKZ = "-1" _
Then b1 = "D" _
Else: b1 = "U"
End If
If Exotyp = "RKO" And KursKZ = "-1" _
Then b1 = "D" _
Else: b1 = "U"
End If
If Exotyp = "RKI" And KursKZ = "-1" _
Then b1 = "U" _
Else: b1 = "D"
End If
If Exotyp = "ko" And KursKZ = (-1) _
Then b1 = "U" _
Else: b1 = "D"
End If
Case Is = "P"
If Exotyp = "ki" And KursKZ = "-1" _
Then b1 = "U" _
Else: b1 = "D"
End If
If Exotyp = "RKO" And KursKZ = "-1" _
Then b1 = "U" _
Else: b1 = "D"
End If
If Exotyp = "di" And KursKZ = "-1" _
Then b1 = "D" _
Else: b1 = "U"
End If
If Exotyp = "DO" And KursKZ = "-1" _
Then b1 = "D" _
Else: b1 = "U"
End If
End Select
vielen Dank im Vorraus!
RWErene81 |
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
04.09.2008 11:23:35 |
RWErene81 |
|
|
|
04.09.2008 15:55:02 |
Holger |
|
|
|
04.09.2008 16:24:08 |
RWErene81 |
|
|
|
04.09.2008 16:55:11 |
RWErene81 |
|
|
|
05.09.2008 13:24:30 |
Holger |
|
|
Korrektur:Schleifenvarianten |
05.09.2008 19:32:43 |
Holger |
|
|