Ups. c) wäre wohl besser gewesen; das Makro starte ich aus einer Schaltfläche und füllt dann Writer (no need for Calc)
Ich gebe auf der ersten Seite im Anschreiben eine Übersicht (Netto, MWSt., Brutto, Anschrift, Re.-Nr. etc.) aus und schlüssele die RePos. ab der zweiten Seite in einer Tabelle auf (ist hier nicht immer nötig). Zum Glück brauche ich keine Zwischensummen (max. 5 Positionen).
Ich habe die Makros schon vor BASE gehabt und sie dann "über die Jahre" weiter entwickelt. Meine Versuche, das Ganze mit Formularen etc. nachzubilden sind gescheitert (inflexibel, Datenverlust bei GUI-Entwicklung).
Um etwas Butter bei die Fische zu bringen:
Formatierung der Ausgabe durch SQL (PostgreSQL über JDBC, Linux):
* Datum Quelle: date; Ziel: ISO Format
* Betrag Q: numeric 9,2; Z: Tausendertrenner, 2 NK, Währungssymbol)
* Berechnung und Formatierung Q: mwst_satz ist num2,2; Z: like 12.345,67 €)
Code: Alles auswählen
to_char( ( ( t091_rechnung.netto * t101_mwst.mwst_satz / 100 ) + t091_rechnung.netto ), '99G999D99 L' ),
* und die (Parameter-)Abfrage ("sNr" ist die eindeutige ReNr., die ich im Auswahldialog nebst anderen Daten angezeigt bekomme & ausgewählt habe)
Die Abfrage wird als STRING zusammen gesetzt - deshalb die quotes und ampersands im letzten Beispiel.
Beispiel zum Setzen der Textmarke
Code: Alles auswählen
oBM = oDok.getBookmarks().getByName("RechnungsDatum")
oBM.getAnchor().String = Trim( oResultSet2.getString( 7 ) )
Das ReDat. steht in der 7 Spalte des ResutSets, die Textmarke wurde in der Re.-Vorlage gesetzt. Das TRIM ist bei anderen Feldern nötig gewesen und wurde der Einfachheit halber mit kopiert.
Das mache ich für das Dutzend Felder des Anschreibens (nur eine kleine, einmalige Fleissarbeit).
Einige Re. gehen auch mit einer Pos.-Liste raus: Seite einfügen, Tabelle reinsetzen, über die RePos.-Datensätze iterieren und die Tabelle füllen.
Hilft das weiter?
Ups. c) wäre wohl besser gewesen; das Makro starte ich aus einer Schaltfläche und füllt dann Writer (no need for Calc)
Ich gebe auf der ersten Seite im Anschreiben eine Übersicht (Netto, MWSt., Brutto, Anschrift, Re.-Nr. etc.) aus und schlüssele die RePos. ab der zweiten Seite in einer Tabelle auf (ist hier nicht immer nötig). Zum Glück brauche ich keine Zwischensummen (max. 5 Positionen).
Ich habe die Makros schon vor BASE gehabt und sie dann "über die Jahre" weiter entwickelt. Meine Versuche, das Ganze mit Formularen etc. nachzubilden sind gescheitert (inflexibel, Datenverlust bei GUI-Entwicklung).
Um etwas Butter bei die Fische zu bringen:
[b]Formatierung der Ausgabe durch SQL [/b](PostgreSQL über JDBC, Linux):
* Datum Quelle: date; Ziel: ISO Format
[code]SELECT to_char( t091_rechnung.datum , 'YYYY-MM-DD' ), [/code]
* Betrag Q: numeric 9,2; Z: Tausendertrenner, 2 NK, Währungssymbol)
[code] to_char( t091_rechnung.netto, '99G999D99 L' ),[/code]
* Berechnung und Formatierung Q: mwst_satz ist num2,2; Z: like 12.345,67 €)
[code] to_char( ( ( t091_rechnung.netto * t101_mwst.mwst_satz / 100 ) + t091_rechnung.netto ), '99G999D99 L' ),[/code]
* und die (Parameter-)Abfrage ("sNr" ist die eindeutige ReNr., die ich im Auswahldialog nebst anderen Daten angezeigt bekomme & ausgewählt habe)
[code]AND t091_rechnung.nummer = '"& sNr & "') "[/code]Die Abfrage wird als STRING zusammen gesetzt - deshalb die quotes und ampersands im letzten Beispiel.
Beispiel zum Setzen der Textmarke
[code]oBM = oDok.getBookmarks().getByName("RechnungsDatum")
oBM.getAnchor().String = Trim( oResultSet2.getString( 7 ) )[/code]Das ReDat. steht in der 7 Spalte des ResutSets, die Textmarke wurde in der Re.-Vorlage gesetzt. Das TRIM ist bei anderen Feldern nötig gewesen und wurde der Einfachheit halber mit kopiert.
Das mache ich für das Dutzend Felder des Anschreibens (nur eine kleine, einmalige Fleissarbeit).
Einige Re. gehen auch mit einer Pos.-Liste raus: Seite einfügen, Tabelle reinsetzen, über die RePos.-Datensätze iterieren und die Tabelle füllen.
Hilft das weiter?