Datenbankeintrag in Kopfzeile Writer

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

schsch

Datenbankeintrag in Kopfzeile Writer

Beitrag von schsch » Di, 12.09.2017 09:57

Hallo,

ich nutze eine SQL-Datenbank, um für diverse Vorlagen, die Daten unserer Kundschaft einzufügen. D.h. ich erstelle ca 20 Vorlagedokumente im Writer sowie im Calc und möchte dass zB Kundennummer, Kundenname etc. ausgewählt werden und die damit verknüpften Daten eingefügt werden.
Ich habe soweit auch alles hinbekommen, jedoch gelingt es mir nicht, die Formularfelder in die Kopfzeile des Writers einzufügen. Das geht wohl nicht. Ich habe an anderer Stelle gelesen, man kann einfache Rahmen (Textrahmen) in die Kopfzeile einfügen. Das geht, jedoch bekomm ich hier nicht meine mit der Datenbank verlinkten Textfelder rein.
Kann mir jemand helfen?
Die Rahmen tauchen auf jeder Seite in der Kopfzeile auf, und man kann Text eingeben. Wie bekomm ich hier meinen ausgewählten Datenbankeintrag rein?

schsch

Re: Datenbankeintrag in Kopfzeile Writer

Beitrag von schsch » Di, 12.09.2017 10:03

im übrigen kann man das verknüpfte Kontrollfeld in den Textrahmen einfügen, solange dieser sich im Textteil des Dokuments befindet. Sobald man diesen Textrahem mit dem darin enthaltenen Kontrollfeld kopiert und in die Kopfzeile einfügt, erscheint dort lediglich der Textrahmen.

nikki
******
Beiträge: 509
Registriert: Do, 05.03.2015 10:42

Re: Datenbankeintrag in Kopfzeile Writer

Beitrag von nikki » Di, 12.09.2017 13:14

Hallo,

nach dem Kopf- und Fußzeilen Wiederholzeilen sind, werden sich die Entwickler schon dabei etwas gedacht haben, Dein Vorhaben nicht zu zulassen.
Gruß

---------------------------------------------------------
Win.10 Prof. 64-bit, AOO 4.1.4, LO 5.4.3 (x64)

schsch

Re: Datenbankeintrag in Kopfzeile Writer

Beitrag von schsch » Di, 12.09.2017 13:25

ok, und welchen Grund kann das haben, ausgewählte Datenbankeinträge nicht in den zu wiederholenden Bereichen eines Dokuments auftauchen zu lassen?
Datenbanken dienen ja der Erfassung von Daten. Die Datenbankausgabe oder -Verknüpfung in Open Office wird wie zB beim Serienbrief verwendet, um die hinterlegten Daten auszugeben. Natürlich gibt es auch Fälle wo OpenOffice zur Erfassung der Daten (Formular) etc verwendet wird. Aber zur Ausgabe von Daten (nur lesen) kann es wie in meinem Fall doch hilflreich sein wenn die Datenbankeinträge auch in den Wiederholungszeilen auftauchen. Zumindest kann nichts passieren wenn man diese Funktion einbaut oder täusche ich mich?
OK bei schreibbaren Datensätzen (OO als Formular) ist das natürlich blöd wenn auf jeder Seite der ein und selbe Datensatz geändert werden kann, aber das ist ja das Problem des Erstellers und wird ja schnell bemerkt.

Stephan
********
Beiträge: 10056
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Datenbankeintrag in Kopfzeile Writer

Beitrag von Stephan » Di, 12.09.2017 13:52

Formularfelder in die Kopfzeile des Writers einzufügen
[...]
Aber zur Ausgabe von Daten (nur lesen)
dazu sollte mutmaßlich ein gewöhnliches Seriendruckfeld genügen (Einfügen-Feldbefehl-Andere-Datenbank-Seriendruckfeld)


Gruß
Stephan

schsch

Re: Datenbankeintrag in Kopfzeile Writer

Beitrag von schsch » Di, 12.09.2017 14:54

das geht für den Ausdruck, jedoch als Vorlage fürs Büro nicht sehr bequem. Mmhh ich suche weiter.
Es soll ja das Projekt ausgewählt werden und automatisch die entsprechenden Kundendaten auf jeder Seite erscheinen. Also auch beim betrachten und PDF schreiben. Mit Seriendruck kapiert dass keiner mehr wie das geht und man muss aus 120 kundensätzen dann den richtigen auswählen und dann einen einzelnen "Serienbrief" erstellen.

Ich habe bisher es ja geschafft, dass man das Projekt nach Name sortiert aus einer Dropdown-Liste auswählen kann, und per Makro die entsprechenden Kundeneinträge ausgegeben werden.
Mein letzter Versuch bestand darin, über definierte Bereiche zu arbeiten, jedoch auch hier kann man kein Formularfeld einfügen. Hingegen die Bereiche in der Kopfzeile eingefügt werden können. Wenn man es also irgendwie über Textvariablen schaffen könnte, wäre das auch eine Möglichkeit

schsch

Re: Datenbankeintrag in Kopfzeile Writer

Beitrag von schsch » Di, 19.09.2017 10:07

es gab hier im Forum mal einen Trick wie man in einen Rahmen per Makro einen Text ausgeben lassen konnte. Ich finde es einfach nicht mehr.
Könnt ihr mir helfen?

Stephan
********
Beiträge: 10056
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Datenbankeintrag in Kopfzeile Writer

Beitrag von Stephan » Di, 19.09.2017 10:16

z.B.:

Code: Alles auswählen

Sub Main
rahmen = ThisComponent.getTextFrames().getByName("meinRahmen")
rahmen.Text.String = "mein Text"
End Sub
Gruß
Stephan

schsch

Re: Datenbankeintrag in Kopfzeile Writer

Beitrag von schsch » Di, 19.09.2017 11:24

Danke Stephan,

bin erst ganz am Anfang.
Ich habe auch den ursprünglichen Post gefunden mit dem Versuch Rahmen Text ausgeben zu lassen. Das habe ich dank deiner Hilfe auch hinbekommen, jedoch nicht den Bezug zu meiner SQL-Datenbank.
Kann mir da jemand nochmal weiterhelfen? Ein user hat es schonmal geschafft, hier der Code:

Code: Alles auswählen

Sub SetTextKalNrRahmen ( Text ) 
	' Handle für Formularzugriff
	formCursor = ThisComponent.Text.createTextCursor()
	formCursor.gotoStart (false)
	' alle Rahmen des Formulars holen
	formFrames = ThisComponent.getTextFrames()
	' durch die Rahmen iterieren biss der gewünscht Rahmen gefunden wurde
	For i = 0 to formFrames.Count -1
		formFrame = formFrames(i)
		' dem gewünschten Rahmen den übergebenen Text zuweisen
		If formFrame.Name = "Rahmen" Then formFrame.string = Text
	Next i 
End Sub

....
	' dem Rahmen für die laufende Nummer den entsprechenden Text zuweisen
	SetTextKalNrRahmen ( "lauf. Nummer.: " & LaufNr )
....
In meinem Fall benötige ich keine fortlaufende Nummer, sondern die Ausgabe eines Datenbankeintrags.
Grüße

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste