Seite 1 von 1

BASE: Datentyp currency und oForm.getXXX

Verfasst: Mo, 22.10.2012 19:38
von juetho
Sowohl MySQL als auch StarBasic kennen einen Datentyp für kaufmännische Genauigkeit (Decimal bzw. Currency). Aber in der API-Referenz gibt es keine passende Methode, um die Werte zu übernehmen. Wird etwa mit getDouble die Genauigkeit erhalten? (Das kann ich mir eigentlich nicht vorstellen.) Oder kann mit getObject, getBytes oder getLong getrickst werden?

Hintergrund: Die Daten werden in einem Base-Formular eingegeben. Diese Werte möchte ich innerhalb eines Makros auswerten. Notfalls geht es über ein UPDATE mit nachfolgendem SELECT über eine berechnete Spalte; aber wenn die Werte schon im Base-Formular sind, wäre ein direktes Berechnen angemessen.

Jürgen

LibreOffice Version 3.6.2.2 (Build ID: da8c1e6)



Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst
Sorry, das war ein Versehen. Selbstverständlich ist das eine Basic-Frage. Jürgen

Re: BASE: Datentyp currency und oForm.getXXX

Verfasst: Di, 23.10.2012 12:23
von juetho
Ich habe es jetzt mit getDouble realisiert, habe aber meine Zweifel, ob das mit der Genauigkeit ausreichend sicher ist. Aufgabe: Kontrolliere in der Buchhaltung, ob für alle Teile Summe(Soll) gleich Summe(Haben) gilt.

Code: Alles auswählen

Dim isumme as Currency
isumme = 0
oForm.first
do
  isumme = isumme + oForm.getDouble(6) - oForm.getDouble(7)
loop while oForm.next
bvalid = (isumme = 0)
Jürgen