On 15.11.2014 10:21, Robert Großkopf wrote:
Hallo Wolfgang,
Hallo Robert,
vielen Dank für Deine Bemühungen.
Du liest hier das aus, was in den Feldern geschrieben steht. Die
Eigenschaft "Text" gibt es nicht bei allen Kontrollfeldern. Nimm doch
direkt CurrentValue. Dann hast Du den Wert und auch wirklich einen
Zahlenwert. INTEGER aus dem Datenbankbereich müsste LONG im Makro sein,
wenn Du in entsprechend hohe Zahlenbereiche kommst.
Das hat mit CurrentValue funktioniert jeweils die einzelnen IDs aus den dantenbankgebundenen
Feldern auszulesen.
Das größere Problem war es, das Datum aus dem nicht an ein Datenbankfeld gebundenen Datumsfeld im
Formular zu lesed, das hat letztlich nur mit
DIM sSqlDate AS STRING
DIM unoDatum AS NEW com.sun.star.util.Date
.
.
.
oField = oSubForm.getByName("zuordnungsdatum")
unoDatum = oField.getCurrentValue()
Und dann ist es auch einfach das Datum in einen String umzuwandeln :-)
sSqlDate = unoDatum.Year & "-" & unoDatum.Month & "-" & unoDatum.Day
Das hat mich echt Schweiß gekostet zumal ich vorher alle Variationen von Datentypen für das
Datumsfeld (STRING, DATE, INTEGER, ..) in Kombination für alle Varianten von Methodenaufrufen
(Current Vaule mit und ohne get oder () ) die mir eingefallen sind getestet habe ..
Liebe Grüße ..
Wolfgang
Wo finde ich eine Liste der Methoden mit denen man die ausgelesenen
Feldinhalte in Variablen speichern kann?
Hast Du Dir das Base-Handbuch herunter geladen? Da wirst Du auch mit
Beispielen versorgt:
http://de.libreoffice.org/hilfe/dokumentation/
Die jeweils aktuell in Bearbeitung befindliche Version kannst Du hier
nachsehen:
http://robert.familiegrosskopf.de/lo_hb_dev/
Wie speichere ich das Datum in eine Variable, die dann hinterher das
Datum über ein SQL-Statement in die Datenbank speist?
Das Datum entstammt im konkreten Fall einem reinen Eingabefeld, stammt
also nicht aus irgendeiner Datenbanktabelle.
Da steht dann auch etwas über die Umwandlung von Datumswerten. Für die
Weitergabe an die Datenbank musst Du so einen Datumswert so zusammen
fügen: 2014-11-15.
Vielleicht hilft Dir diese Funktion:
FUNCTION Date_2_SQLDate(d AS DATE) AS STRING
DIM stMonth AS STRING
DIM stDay AS STRING
IF Month(d) < 10 THEN
stMonth = "0" + Trim(Str(Month(d)))
ELSE
stMonth = Trim(Str(Month(d)))
END IF
IF Day(d) < 10 THEN
stDay = "0" + Trim(Str(Day(d)))
ELSE
stDay = Trim(Str(Day(d)))
END IF
Date_2_SQLDate = Trim(Str(Year(d))) +"-"+ stMonth +"-"+ stDay
END FUNCTION
Gruß
Robert
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.