PDA

Vollständige Version anzeigen : Brauche hilfe beim Berechnen


Judith
23.10.2001, 12:13
Hallo!

Ich bin schon so am verzweifeln. Ich bekomme das nicht hin. Vielleicht kann mir jemand helfen:

Folgendes ist gegeben:

a=Länge
b=Breite
c=Höhe
d=Anzahl

Es soll folgendes passieren. Wenn ich die Anzahl eingebe muß die Länge auch eingegeben werden. Wenn beide vorhanden sind muß die Anzahl * Länge gerechnet werden.

Wenn die Breite eingegeben wird muß wieder die Länge eingegeben sein. Und es muß dann
die Länge * Breite gerechnet werden.

Und wenn die Höhe auch noch angegeben wird, dann muß die Länge und Breite auch eingegeben sein. Wenn alles eingegeben ist dann muß Länge * Breite * Höhe gerechnet werden.

Kann mir da jemand Helfen? Ich hab da voll keinen durchblick wie ich die IF's machen soll.

Danke

Judith
23.10.2001, 12:54
Kann mir denn keiner Helfen?

Wie kann man den mehrer abfragen machen. Ich habe es so brobiert:

if a > 0 Then AND b > 0 THEN

Nur so funktioniert das nicht.

Bitte um Hilfe.

scooterist
23.10.2001, 13:08
Steht das erste "Then" wirklich da? Das sieht mir nämlich falsch aus.
es könnte mit if a > 0 AND b > 0 THEN
funktionieren.

vielleicht mußt du auch
if a <> 0 and b <> 0
schreiben...

Wo willst du das ganze durchführen?
In Textfeldern, Abfragen, ....?

Beschreib' dein Problem doch nochmal.

Gruß Harald

Judith
23.10.2001, 13:13
Hallo!

Die werte stehen in Textfelder die ich Variablen in VBA zuweise. Dann rufe ich eine Function auf die das jetzt berechnen soll.

Also alles soll in VBA passieren.

Stema
23.10.2001, 13:27
Hallo Judith,

wie wär's denn, wenn Du eine Option-Group erstellst, in der alle möglichen Berechnungsarten aufgeführt sind und der User dann die Berechnungsart auswählen muß.
Wenn der User eine Option auswählt, dann gibst Du die entsprechenden Eingabefelder frei (Me.CmdButton.Enabled = True, alle anderen gesperrt). Jetzt kannst Du mit einem weiteren Button die Berechnung ausführen, wobei Du mit:

Select Case Me.optGroup
Case 1
Case 2
Case 3
...
End Select

die Optiongroup ausfragst und die entsprechende Berechnung ausführst.

kama
23.10.2001, 13:40
Versuchsmal so
DeinAusgabefeld=switch(länge >0 and Anzahl >0,länge*anzahl,länge >0 and breite >0, länge*breite,höhe>0, länge*breite*höhe)

Oder
if höhe >0 then
länge *breite*höhe
elseif anzahl >0
länge*anzahl
else
länge* breite
end if

Jochum Rainer
23.10.2001, 13:52
Hallo!
Oder so:

Ist besser zu lesen

If Me.breite > 0 And IsNull(Me.höhe) And IsNull(Me.anzahl) Then
Me.ergebnis = Me.breite * Me.länge
End If


If IsNull(Me.breite) And IsNull(Me.höhe) And Me.anzahl > 0 Then
Me.ergebnis = Me.länge * Me.anzahl
End If

If Me.breite > 0 And Me.höhe > 0 Then
Me.ergebnis = Me.länge * Me.breite * Me.höhe
End If

Wobei länge als Mussfeld definiert wird, da diese ja immer benötigt wird.

Ich würde aber Stema's Lösung bevorzugen!

Gruesse
Rainer Jochum