PDA

Vollständige Version anzeigen : Nachkommastellen in Abfrage festlegen


isi
11.06.2001, 13:46
Hallo, bitte um Hilfe!

Erzeuge mit einem Modul eine Abfrage und möchte ich gleichzeitig die Anzahl der Nachkommastellen in einigen Spalten auf 2 Dezimalstellen festlegen. Hat da vielleicht jemand eine Ahnung, wie ich diese Anweseisung im Modul formulieren und welche grundsätzlichen Definitionen ich in diesem Zusammenhang vornehmen muss.

Danke dem/r edlen RetterIn im Voraus,
Sigi

OlliU
11.06.2001, 13:54
Hallo, Sigi,

bei Donkarl gibts m.E. eine Rundenfunktion

- und diese hier habe ich auch mal gefunden:

Function WaehrungRunden(varZahl As Variant) As Double
'----------------------------------------------------------------------------------
'Die Funktion rundet für zwei Nachkommastellen korrekt.
'von H.Langer
'----------------------------------------------------------------------------------

Dim X As Double
Dim dblErgebnis As Double
Dim hcur As Double
Dim hint As Integer

On Error GoTo WaehrungRunden_Error_handler

If IsNull(varZahl) Then
dblErgebnis = 0
Else
hcur = varZahl - Int(varZahl)
hcur = hcur * 1000
hint = hcur Mod 10
If hint = 5 Then
If varZahl < 0 Then
varZahl = varZahl - 0.001
Else
varZahl = varZahl + 0.001
End If
End If

dblErgebnis = Int(varZahl * 100 + 0.5) / 100
End If

WaehrungRunden = dblErgebnis

Exit_WaehrungRunden:
Exit Function

WaehrungRunden_Error_handler:
msgbox "Der Fehler '" & Error(Err) & "' trat beim Runden auf."
WaehrungRunden = varZahl
Resume Exit_WaehrungRunden

End Function

Gruss Olli U.

P.S. Sonst schau auch mal in der Knowhow.mdb nach... (würde mich sehr wundern, wenn da nichts zu finden wäre)

Stema
11.06.2001, 14:05
Hallo Isi,
führe mal folgende Procedure aus:

Sub x()
Dim lngWert As Double

lngWert = 3.8972

MsgBox Format(lngWert, "0.00")

End Sub

isi
11.06.2001, 14:05
Danke für die Tips, Sigi

PS:
Muss erst sehen, ob ich die vielen Zeichen richtig deuten kann???

isi
11.06.2001, 14:14
Hallo Stema!

Deine Lösung wäre mir die liebste, da kurz und bündig, wenn ich die Anweisung nicht nur an eine Msgbox, sondern auch an eine Abfrage weitergeben könnte. Ist das möglich?

LG, Sigi

Stema
11.06.2001, 15:26
Wenn ich's richtig verstanden habe, dann erstellst Du die Abfrage jedesmal mit VBA neu. Dann mußt Du auch den SQL-String angeben. Der könnte dann folgendermaßen aussehen:
Dim db As Database, qDef As QueryDef
Set db = CurrentDB
Set qDef = db.CreateQueryDef("qryMengen")
qDef.SQL = "SELECT Format([fldQty],"0.00") AS Anzahl FROM tblTabellenname WHERE [fldQty] < 10;"
db.Close

fldQty ist dann ein Feld in Deiner Tabelle tblTabellenname. Der Name des Queries ist qryMengen. Anzahl ist die Spaltenüberschtift für fldQty.