|
| Autor |
Nachricht |
DonDingDong Newbie

Anmeldedatum: 23.09.2011 Beiträge: 2
|
Hilfe.. Aufstellung einer "ungleichen" If-Anweisun
Verfasst am: 23.09.2011, 10:27 |
|
|
Hallo zusammen..
Ich bin gerade dabei ein Programm zuschreiben, wobei ich auf ein Problem gestoßen bin, eine Ausgabe richtig zu schreiben.. Vielleicht habe ich auch einfach nur die falsche Anweisung bzw. Befehl benutzt... Ich schreibe zuvor die Deklaration bzw. den Quellcode und dann mein Problem..
Private EinmaligBCS As String
Private EinmaligHSI As String
Private Einmalig As String
EinmaligBCS und EinmaligHSI können für verschiedene Werte stehen:
(EinmaligBCS für: "" oder "19,95" oder "39,90" oder "39,90 + 19,95")
(EinmaligHSI für: "" oder "19,90" oder "24,90" oder "29,90" oder "19,90 + 24,90")
Im insgesamten sollen 3 Textbausteine erstellt werden, in einem wird nur EinmaligBCS und im anderen EinmaligHSI ausgegeben und im letzten beide zusammengefasst. Wenn z.B. EinmaligBCS als "" festgelegt wird, dann wird es umgewandelt in "0,00" :
Im ersten Baustein:
If EinmaligBCS = "" Then
EinmaligBCS = "0,00"
End If
und im 2ten:
If EinmaligHSI = "" Then
EinmaligHSI = "0,00"
End If
Mein Problem ist jetzt die Erstellung bzw. Deklaration des "Einmalig" (für den letzten Textbaustein), denn in der dritten Ausgabe werden beide zusammen genommen:
If EinmaligBCS = "" And EinmaligHSI = "" Then
Einmalig = "0,00"
End If
oder
If EinmaligBCS = "" And EinmaligHSI = "19,90" Then
Einmalig = EinmaligHSI
elseif EinmaligBCS = "" And EinmaligHSI = "24,90" Then
Einmalig = EinmaligHSI
elseif EinmaligBCS = "" And EinmaligHSI = "29,90" Then
Einmalig = EinmaligHSI
elseif EinmaligBCS = "" And EinmaligHSI = "19,90 + 24,90" Then
Einmalig = EinmaligHSI
elseif EinmaligBCS = "19,95" And EinmaligHSI = "" Then
Einmalig = EinmaligBCS
elseif EinmaligBCS = "39,90" And EinmaligHSI = "" Then
Einmalig = EinmaligBCS
elseif EinmaligBCS = "39,90 + 19,95" And EinmaligHSI = "" Then
Einmalig = EinmaligBCS
End If
Total kompliziert, oder...
Jedoch wenn EinmaligBCS nicht "" ist und EinmaligHSI nicht "" ist sollte die Ausgabe:
Einmalig = EinmaligBCS & " + " & EinmaligHSI
sein.. Sprich sollte dann in der Ausgabe stehen z.B. "19,95 + 29,90" (wenn EinmaligBCS = "19,95" und EinmaligHSI = "29,90"), jedoch sollte nicht z.B. da stehen "0,00 + 29,90" oder nur " + 29,90" oder "19,95 + 0,00" oder "19,95 + ".
Als Idee hatte ich die Funktion:
If EinmaligBCS = "" And EinmaligHSI = "" Then
Einmalig = "0,00"
ElseIf (EinmaligBCS = "19,95" Or "39,90" Or "39,90 + 19,95") And (EinmaligHSI = "19,90" Or "24,90" Or "29,90" Or "19,90 + 24,90") Then
Einmalig = EinmaligBCS & " + " & EinmaligHSI
End If
Jedoch findet dann keine Ausgabe statt (und das Programm stürzt ab), da der Typ "Boolean" nicht die Zahlen unterstützt..
Vielleicht habe ich auf nur einen Denkfehler oder die falsche Formel für soetwas genommen, aufjeden Fall half mir eine stundenlange Google- und Forensuche nicht weiter... und hoffe hier eine Lösung zu finden.. :rolleyes:
Ich hoffe alles gut erklärt zu haben und danke schon jetzt für jede (nach Möglichkeit hilfreiche ) Antwort.
Viele Grüße
Jan |
|
| |
|
 |
DonDingDong Newbie

Anmeldedatum: 23.09.2011 Beiträge: 2
|
Verfasst am: 23.09.2011, 11:19 |
|
|
Für alle, die sich Gedanken gemacht haben sollten..
die Lösung ist
If EinmaligBCS = "" And EinmaligHSI = "" Then
Einmalig = "0,00"
ElseIf (EinmaligBCS = "19,95" Or EinmaligBCS = "39,90" Or EinmaligBCS = "39,90 + 19,95") And (EinmaligHSI = "19,90" Or EinmaligHSI = "24,90" Or EinmaligHSI = "29,90" Or EinmaligHSI = "19,90 + 24,90") Then
Einmalig = EinmaligBCS & " + " & EinmaligHSI
End If |
|
| |
|
 |
|
|