Mit VB5 Volumengewicht berechnen: Problem

Hallo Zusammen,

ich möchte in VB5 eine Möglichkeit schaffen, dass Benutzer Volumengewicht berechnen können, indem sie in 3 Felder (Länge, Breite, Höhe) die Masse in Zentimetern eingeben können.

Die Formel für das Volumengewicht lautet LxBxH / 6000

VB5 hat aber ‚leichte‘ Rechenschwierigkeiten… gibt man als Bspl. 10x10x10 in die entsprechenden Felder ein, lautet das Ergebnis bei VB5 nicht etwa 1000 sondern irgendeine astronomische Zahl… durch 6000 brauche ich damit erst garnicht zu teilen, denn es kommt eine absolut irrwitzig falsche Zahl heraus.

Muss ich evtl. noch irgendwas besonderes beachten, wenn ich mit Feldern in VB rechnen will??!?!?

Danke für jedwede Hilfe!!!

Gruss,

Werner

Hallo,

ich möchte in VB5 eine Möglichkeit schaffen, dass Benutzer
Volumengewicht berechnen können, indem sie in 3 Felder (Länge,
Breite, Höhe) die Masse in Zentimetern eingeben können.

Die Formel für das Volumengewicht lautet LxBxH / 6000

VB5 hat aber ‚leichte‘ Rechenschwierigkeiten… gibt man als
Bspl. 10x10x10 in die entsprechenden Felder ein, lautet das
Ergebnis bei VB5 nicht etwa 1000 sondern irgendeine
astronomische Zahl… durch 6000 brauche ich damit erst
garnicht zu teilen, denn es kommt eine absolut irrwitzig
falsche Zahl heraus.

*g* wie machst Du das? VB4 konnte das und VB6 kann’s auch.

Muss ich evtl. noch irgendwas besonderes beachten, wenn ich
mit Feldern in VB rechnen will??!?!?

Ich kann den Fehler bei VB6 nicht nachvollziehen, aber weil Du ja mit ganzen Zentimetern arbeitest und multiplizierst, scheinst Du an der Stelle nur ganze Zahlen zu brauchen. Der Fehler kann nur aus dem Fließkommaakkumulator stammen, also versuch’s mal mit:

Dim Breite, Laenge, Hoehe, Volumen As Long

Das sollte Dein Problem an der Stelle lösen.

Gruß, Rainer

Moin.

versuch’s mal mit:

Dim Breite, Laenge, Hoehe, Volumen As Long

Dann wären aber Breite, Laenge und Hoehe vom Typ Variant.

Besser wäre

Dim Breite As Long, Laenge As Long, Hoehe As Long, Volumen As Long

Grüße

Leo

1 Like

Hallo,

ich musste auch erstmal lachen, als ich das Ergebnis von 10 * 10 * 10 von VB5 gesehen habe: 981252000… :smile:)

Hab jetzt alles durchprobiert… hier ist mal der Code dazu… die Round-Funktion habe ich auch irgendwo aus dem Internet, da VB5 das nicht kannte:

Private Sub unit_dimwgt_Click()
If Me.pieces = „“ Or IsEmpty(Me.pieces) Then
MsgBox („Stückzahl MUSS angegeben werden!!!“)
Exit Sub
End If

Dim laenge, breite, hoehe, dimwgt As Long

laenge = Me.length
breite = Me.width
hoehe = Me.height

Select Case Me.unit_dimwgt

Case „“, IsEmpty(Me.unit_dimwgt)
Exit Sub

Case „INCH“
dimwgt = Round(((laenge * breite * hoehe) * Me.pieces) * 1 / 366, 2)
Me.vol_weight.Caption = dimwgt
Me.unit.Caption = „LBS“
Exit Sub

Case „CM“
dimwgt = Round(((laenge * breite * hoehe) * Me.pieces) * 1 / 6000, 2)
MsgBox laenge * breite * hoehe
Me.vol_weight.Caption = dimwgt
Me.unit.Caption = „KG“
Exit Sub

End Select
End Sub

Ich bin mit meinen Ideen am Ende…

Gruss,

Werner

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hat sich erledigt… meine Feldnamen haben VB5 nicht gepasst… leider gab’s keine Fehlermeldung dazu…

Danke trotzdem für euere Hilfe!!!

Gruss,

Werner

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

versuch’s mal mit:

Dim Breite, Laenge, Hoehe, Volumen As Long

Dann wären aber Breite, Laenge und Hoehe vom Typ Variant.

Besser wäre

Dim Breite As Long, Laenge As Long, Hoehe As Long, Volumen As
Long

ach so … das erklärt einiges. :wink:

DANKE

Gruß, Rainer