BASE: Datentyp currency und oForm.getXXX

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

BASE: Datentyp currency und oForm.getXXX

Beitrag 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
Zuletzt geändert von juetho am Di, 23.10.2012 12:24, insgesamt 1-mal geändert.
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: BASE: Datentyp currency und oForm.getXXX

Beitrag 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
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Antworten