Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
Autor
Nachricht
DonDingDong
Newbie
Newbie

Anmeldedatum: 23.09.2011
Beiträge: 2

Hilfe.. Aufstellung einer "ungleichen" If-Anweisun
Verfasst am: 23.09.2011, 10:27

Hallo zusammen.. Smile

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... Neutral

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 Wink ) Antwort.

Viele Grüße

Jan
 
DonDingDong
Newbie
Newbie

Anmeldedatum: 23.09.2011
Beiträge: 2


Verfasst am: 23.09.2011, 11:19

Für alle, die sich Gedanken gemacht haben sollten.. Wink

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
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Problem mit always on top funktion 1106 30.10.2009, 12:26
Keine neuen Beiträge IntStr()funktion 1307 11.10.2007, 09:49
Keine neuen Beiträge TopMost Funktion unter DirectX 1021 27.07.2007, 11:48
Keine neuen Beiträge Wie Funktion nutzen ? 1213 29.06.2007, 21:59
Keine neuen Beiträge update funktion einbauen 1455 29.01.2007, 00:11
 


[ Time: 0.0586s ][ Queries: 83 (0.0181s) ][ GZIP on - Debug on ]