Seite 1 von 1

CSV Datenbank von Writer-Makro ansprechen

Verfasst: So, 24.08.2014 18:50
von Asterix-Ac
Hallo Gemeinde,

seid einiger Zeit schlage ich mich mit LO und Makro's herum - obwohl ich nicht behaupten kann, dass ich der beste Programmierer bin ;-)
Mein Aktuelles Problem ist folgend:

Ich habe in Base eine CSV Datei als Datenbank angemeldet und nutze diese nun als KundenDatenbank.
Nun soll für einen einzelnen Kunden eine Rechung im PDF-Format gespeichert werden - Speichern geht auch schon :-)
Doch wie komme ich an den einzelnen Datensatz von Herrn Jupp Meier?

Die einzelen Adressfelder konnte ich einfach auf das Blatt ziehen und mit STRG+F9 identifizieren sich die Felder als Adressen.Kunden.Vorname Adressen.Kunden.Nachname usw.
Vielleicht kan mir jamand einen Stupps in die richtige Richtung geben.

Asterix

Re: CSV Datenbank von Writer-Makro ansprechen

Verfasst: So, 24.08.2014 19:22
von pmoegenb
Der einfachste Weg:
  • - Datenbank-Übersicht/Ansicht mit F4 öffnen
    - Datensatz markieren
    - Auf Schalter Daten in Felder klicken
    - Dokument als PDF exportieren
Machst Du das immer so, gleichlautende Anfragen in 2 Foren zu starten ? Dann musst Du damit rechnen keine Antworten zu erhalten.

Re: CSV Datenbank von Writer-Makro ansprechen

Verfasst: Mo, 25.08.2014 20:37
von Asterix-Ac
@pmoegenb : Ich wusste nicht, dass das verboten ist, aber ich erhoffte mehr Antworten und nicht mehr Kritik.
Deine Antwort hat nichts mit meiner Frage zutun.

Ich suche also immer noch nach der Möglichkeit, eine CSV-Datenbank aus einem Makro heraus anzusprechen

Asterix

Re: CSV Datenbank von Writer-Makro ansprechen

Verfasst: Mo, 25.08.2014 21:19
von Karolus
Man macht das aber trotzdem immer noch so wie von Peter beschrieben mit einem Serienbriefdokument in Writer ohne Makro

Re: CSV Datenbank von Writer-Makro ansprechen

Verfasst: Di, 26.08.2014 09:57
von Asterix-Ac
Gut, nun weiß ich, dass man es nicht macht, und ich werde es mir beim nächsten Mal zu Herzen nehmen.

Also, warum ich hier bin und nicht in Makro und Datenbank, kann ich schnell beantworten.
Ziel ist ein Symbolleisten-Knopf von einem Makro, der das aktuelle Dokument speichert und zwar unter folgender Vorgabe:
Dateiname -> Datenbank->Vorname_Datenbank->Nachname_AktuellesDatum.odt

Ich möchte nicht jedesmal den Vor- und Nachnamen sowie das aktuelle Datum eintippen müssen.
Klar, hat natürlich auch mit Makro und Datenbank zu tun.
Aber aus Writer heraus, und dort scheinen die com.sun.star... irgendetwas anders zu sein als unter base oder calc.
Da ich kein guter Programmierer bin, kann ich es auch nur so erklären

Asterix

Re: CSV Datenbank von Writer-Makro ansprechen

Verfasst: Di, 26.08.2014 11:11
von Stephan
Wenn die entsprechenden Felder in einem Textdokument sind und die Angaben des aktuellen Datensatzes angezeigt werden läßt sich der gewünschte Dateiname so ermitteln/zusammensetzen:

Code: Alles auswählen

Sub dateiname_erzeugen()
oEnum = ThisComponent.getTextFields().createEnumeration()
Do While oEnum.hasMoreElements()
	oField = oEnum.nextElement()
	If Left((LCase(oField.TextFieldMaster.InstanceName)), 38) = "com.sun.star.text.fieldmaster.database" Then
		If oField.TextFieldMaster.DataColumnName = "Vorname" Then
				Vorname = oField.CurrentPresentation
			ElseIf oField.TextFieldMaster.DataColumnName = "Nachname" Then
				Nachname = oField.CurrentPresentation
		End If
	End If
Loop
dateiname = Nachname & "_" & Vorname & "_" & Date & ".odt"
'...
End Sub
Gruß
Stephan

Re: CSV Datenbank von Writer-Makro ansprechen

Verfasst: Di, 26.08.2014 14:16
von Asterix-Ac
Hallo Stephan,

genau so etwas habe ich gesucht. Das funktioniert auch schon mit dem Nachnamen, da ich den für die Biefanrede verwende.
Doch für die Anschrift verwende ich mit dem Bedingten Text entweder Organisation oder Anzeigename.
Hier der Header von der CSV

Code: Alles auswählen

Vorname,Nachname,Anzeigename,Spitzname,PrimäreEMailAdresse,SekundäreEMailAdresse,MessengerName,Teldienstlich,Telprivat,FaxNummer,PagerNummer,MobilTelNr,PrivatAdresse,PrivatAdresse2,PrivatOrt,PrivatBundesland,PrivatPLZ,PrivatLand,DienstlichAdresse,DienstlichAdresse2,DienstlichOrt,DienstlichBundesland,DienstlichPLZ,DienstlichLand,Arbeitstitel,Abteilung,Organisation,Webseite1,Webseite2,Geburtsjahr,Geburtsmonat,Geburtstag,Benutzerdef1,Benutzerdef2,Benutzerdef3,Benutzerdef4,Notizen,
Und hier der Bedingte Text im Anschriftsfeld

Code: Alles auswählen

Bedingter Text Adressen.Kunden.Organisation != "" Adressen.Kunden.Organisation : Adressen.Kunden.Anzeigename
Wenn ich den Anzeigenamen im Bedingten Text wandeln und kombinieren könnte in Vor- Nachname, wären die Felder in der Datei vorhanden.
Ich müsste im Makro nur eine Abfrage starten, ob zum Datensatz Organisation, oder Vor- und Nachname gefüllt sind.

Bisher hast Du mir schon sehr geholfen.

Asterix

[gelöst] Re: CSV Datenbank von Writer-Makro ansprechen

Verfasst: Di, 26.08.2014 15:53
von Asterix-Ac
Die letzte Frage poste ich in einem neuen Thread