einzelne datensätze (keine adresse) in wirter einfügen
Moderator: Moderatoren
einzelne datensätze (keine adresse) in wirter einfügen
Hey @ all,
also ich will meine Rechnungen nur noch aus der Datenbank erstellen, Dazu hab ich mehrere Tabellen angelegt, unter anderem "Kunden" und "Rechnungsnummer".
hand aufs Herz, hab fleissig rumgespietl und probiert und auch die Suche (google sowie forumsuche verwendet), weiß aber nicht wirklich nach welchen begriffen ich suchen soll, da ich meistens auch die Serienbrieffunktion stoße.
Zu meinem Vorhaben:
Ich will meine Anschriften und meine aktuellen Rechnungssätze aus der Datenbank holen. Anschriften, klappt auch wunderbar mit der Serienbrieffunktion.
Allerdings möcte ich nun meine Rechnungstexte auch aus der DB holen.
Dazu gibt es 2 tabellen, eine mit Rechnungsnr und Kundennummern und eine weitere mit den Daten für die jeweilige Rechnung (Rechnungsnummer, lfd-nr, Bemerkung, Leistung, Preis).
Am liebsten wäre es mir, wenn ich den Kunden auswähle (in der Quelle/DB) und die ensprechene rechnungsnummer. Dann ensprechend den Ergebnissen die Tabelle generiert wird und der Preis(Gesamt), MwSt etc. errechnet werden.
Mach ich das besser in Calc oder in Writer? (Wobei ich meine Vorlagen schon im Writer erstellt habe)
Könnte ihr mit einen Denkanstoss geben.
Vielen Dank, euer Zepho
also ich will meine Rechnungen nur noch aus der Datenbank erstellen, Dazu hab ich mehrere Tabellen angelegt, unter anderem "Kunden" und "Rechnungsnummer".
hand aufs Herz, hab fleissig rumgespietl und probiert und auch die Suche (google sowie forumsuche verwendet), weiß aber nicht wirklich nach welchen begriffen ich suchen soll, da ich meistens auch die Serienbrieffunktion stoße.
Zu meinem Vorhaben:
Ich will meine Anschriften und meine aktuellen Rechnungssätze aus der Datenbank holen. Anschriften, klappt auch wunderbar mit der Serienbrieffunktion.
Allerdings möcte ich nun meine Rechnungstexte auch aus der DB holen.
Dazu gibt es 2 tabellen, eine mit Rechnungsnr und Kundennummern und eine weitere mit den Daten für die jeweilige Rechnung (Rechnungsnummer, lfd-nr, Bemerkung, Leistung, Preis).
Am liebsten wäre es mir, wenn ich den Kunden auswähle (in der Quelle/DB) und die ensprechene rechnungsnummer. Dann ensprechend den Ergebnissen die Tabelle generiert wird und der Preis(Gesamt), MwSt etc. errechnet werden.
Mach ich das besser in Calc oder in Writer? (Wobei ich meine Vorlagen schon im Writer erstellt habe)
Könnte ihr mit einen Denkanstoss geben.
Vielen Dank, euer Zepho
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: einzelne datensätze (keine adresse) in wirter einfügen
...ich mache die ganze Abfragerei in BASIC durch einen SELECT (Dialog zur Auswahl Kunde usw. vorgeschaltet) und gebe die Spalten dann nach Writer aus (Textmarken / bookmarks als Platzhalter).
Auch die Berechnung von MWSt, Gesamtsumme etc. kann ich damit 'erschlagen'.
Hilft Dir das als Denkanstoss?
Auch die Berechnung von MWSt, Gesamtsumme etc. kann ich damit 'erschlagen'.
Hilft Dir das als Denkanstoss?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: einzelne datensätze (keine adresse) in wirter einfügen
hmm es rattert gerade, also
Das mit der abfrage hab ich mir schon gedacht, aber "Dialog vorschalten" (Markos?) und textmarken als Platzhalter? wrid den so die tabeller gleich um weitere zeilen ergänzt, wenn ich mehrere posten habe?
Das mit der abfrage hab ich mir schon gedacht, aber "Dialog vorschalten" (Markos?) und textmarken als Platzhalter? wrid den so die tabeller gleich um weitere zeilen ergänzt, wenn ich mehrere posten habe?
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: einzelne datensätze (keine adresse) in wirter einfügen
Die Dialoge verwende ich zur Dateneingabe (neue Rechn.-Position) und zur Auswahl des Rechnungs-Datensatzes.
In meiner Vorlage habe ich Textmarken, um die Position der Ausgabe zu definieren.
Ich schreibe allerdings nur Einzelposten-Rechnung, ein Seitenumbruch kommt nicht vor.
Aber auch das programmatische Füllen einer Tabelle mit den Datensätzen einer Abfrage sollte kein Geheimnis bleiben... Schwierigkeiten sehe ich "nur", wenn am Ende einer Ausgabe(nseite), oder zu Beginn der Folgeseite eine Zwischensumme ausgegeben werden soll: bei der Erstellung der Rechnung weisst Du nicht wo ein Seitenumbruch stattfinden wird.
Wenn Du auf "Zwischensumme" verzichten kannst: go ahead
Wenn nicht: k.A.
In meiner Vorlage habe ich Textmarken, um die Position der Ausgabe zu definieren.
Ich schreibe allerdings nur Einzelposten-Rechnung, ein Seitenumbruch kommt nicht vor.
Aber auch das programmatische Füllen einer Tabelle mit den Datensätzen einer Abfrage sollte kein Geheimnis bleiben... Schwierigkeiten sehe ich "nur", wenn am Ende einer Ausgabe(nseite), oder zu Beginn der Folgeseite eine Zwischensumme ausgegeben werden soll: bei der Erstellung der Rechnung weisst Du nicht wo ein Seitenumbruch stattfinden wird.
Wenn Du auf "Zwischensumme" verzichten kannst: go ahead
Wenn nicht: k.A.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: einzelne datensätze (keine adresse) in wirter einfügen
Okay, danke werde mich morgen mal mit deinem vorschalg intensiv beschäftigen.
Da sich meine Rechnungen immer nur auf eine Seite belaufen, klingt dein vorschlag verlockend.
Ich dachte immer textmarken werden z.b. für inhaltsverzeichnisse verwendet? damit kann man auch die ausgabeposition festlegen?
Nur eins ist mir noch nicht klar. Was verstehst du unter "dialog"?
Meines Wissens kann man diese nur mit makros erzeugen, meinst du sowas?
Da sich meine Rechnungen immer nur auf eine Seite belaufen, klingt dein vorschlag verlockend.
Ich dachte immer textmarken werden z.b. für inhaltsverzeichnisse verwendet? damit kann man auch die ausgabeposition festlegen?
Nur eins ist mir noch nicht klar. Was verstehst du unter "dialog"?
Meines Wissens kann man diese nur mit makros erzeugen, meinst du sowas?
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: einzelne datensätze (keine adresse) in wirter einfügen
Ja: ich mache das mit Makros (Abfrage, Dokumenterzeugung), auch habe ich Dialog (ebenfalls mit Basic programmiert).
Muss aber nicht sein: als ich mit eben Deine Frage nochmal durchgelesen habe, vielleicht suchst Du das:
http://www.ooowiki.de/BerichteMitDemWriter
oder verstehe ich Dein Anliegen total falsch?
Muss aber nicht sein: als ich mit eben Deine Frage nochmal durchgelesen habe, vielleicht suchst Du das:
http://www.ooowiki.de/BerichteMitDemWriter
oder verstehe ich Dein Anliegen total falsch?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: einzelne datensätze (keine adresse) in wirter einfügen
Morgen Komma,
ich kenne diese seite schon, soweit ich gesehen habe, kann man dort aber nur über den seriendruck einen daten aus einer tabelle auswählen nitch aus mehreren und diese noch formatiert einfügen.
Danke für dein Feedback, meine Rädchen rattern wieder flüssig wie eh und jeh
Greetz zepho
ich kenne diese seite schon, soweit ich gesehen habe, kann man dort aber nur über den seriendruck einen daten aus einer tabelle auswählen nitch aus mehreren und diese noch formatiert einfügen.
Danke für dein Feedback, meine Rädchen rattern wieder flüssig wie eh und jeh

Greetz zepho
Re: einzelne datensätze (keine adresse) in wirter einfügen
kannst du mir evtl. noche eine seite zu basic empfehlen, bzw. wie ich objekte in oo anspreche und sql in basic regle?
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: einzelne datensätze (keine adresse) in wirter einfügen
Du kennst die Seiten, die im ersten Posting des Basic-Forumbereichs erwähnt werden? Andrews Dokument(e)?
SQL wird aufbereitet und abgesetzt; Beispiele finden sich im Netz...
Achtung: die Möglichkeiten mit SQL sind durch die eingesetzte Datenbank-engine und den verwendeten Treiber (ODBC, JDBC,..), vielleicht auch durch die Betreiberplattform (Windows, Linux, ...) definiert - und deshalb vielleicht eingeschränkt. Nicht alles ist mit Basic/SQL machbar. Ich persönlich ziehe die nativen, mitgelieferten DB-Administrationstools vor, wenn es um Einrichtung oder Änderung von Datenbanken und Tabellen geht.
Hier ein Beispiel, um eine CSV-Datei in eine Tabelle zu laden (bessere Performance als einzelne INSERTs)
Beispiel, um eine (in einer BASE-Datei) gespeicherte Abfrage auszuführen:
Hilft das weiter?
SQL wird aufbereitet und abgesetzt; Beispiele finden sich im Netz...
Achtung: die Möglichkeiten mit SQL sind durch die eingesetzte Datenbank-engine und den verwendeten Treiber (ODBC, JDBC,..), vielleicht auch durch die Betreiberplattform (Windows, Linux, ...) definiert - und deshalb vielleicht eingeschränkt. Nicht alles ist mit Basic/SQL machbar. Ich persönlich ziehe die nativen, mitgelieferten DB-Administrationstools vor, wenn es um Einrichtung oder Änderung von Datenbanken und Tabellen geht.
Hier ein Beispiel, um eine CSV-Datei in eine Tabelle zu laden (bessere Performance als einzelne INSERTs)
Code: Alles auswählen
Sub base_insertCSVdatafile
' 2008-01-30
sCSVlokal = "d:/test/kunden.csv" 'Testversion auf Windows
' SQL aufbereiten
sMyInsert = " LOAD DATA INFILE '" & sCSVlokal & "' INTO TABLE wro1.kunde FIELDS TERMINATED BY ','"
' msgbox sMyInsert
' Kontext holen
Dim oDBKontext
oDBKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
If IsNull( oDBKontext ) Then
msgbox "kein DB Kontext"
exit sub
End If
' Datenquelle auswählen
' name of OOo registered data source
If oDBKontext.hasByName( "MySQL" ) Then
oDatenquelle = oDBKontext.getByName( "MySQL" )
Else
msgbox "DB nicht gefunden"
exit sub
End If
' Verbindung zur DB herstellen
If Not oDatenquelle.IsPasswordRequired Then
oVerbindung = oDatenquelle.getConnection( , )
Else
oInteractionHandler = createUnoService( "com.sun.star.sdb.InteractionHandler" )
oVerbindung = oDatenquelle.connectWithCompletion( oInteractionHandler )
End If
' Statement erzeugen
oStatement = oVerbindung.createStatement
' Abfrage absetzen
oResultSet = oStatement.executeUpdate( sMyInsert )
End Sub
Beispiel, um eine (in einer BASE-Datei) gespeicherte Abfrage auszuführen:
Code: Alles auswählen
' Kontext holen
Dim oDBKontext
oDBKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
If IsNull( oDBKontext ) Then
msgbox "kein DB Kontext"
exit sub
End If
' Datenquelle auswählen
' name of OOo registered data source
If oDBKontext.hasByName( "base_HSQLDB" ) Then
oDatenquelle = oDBKontext.getByName( "base_HSQLDB" )
Else
msgbox "DB nicht gefunden"
exit sub
End If
' Verbindung zur DB herstellen
If Not oDatenquelle.IsPasswordRequired Then
oVerbindung = oDatenquelle.getConnection( , )
Else
oInteractionHandler = createUnoService( "com.sun.star.sdb.InteractionHandler" )
oVerbindung = oDatenquelle.connectWithCompletion( oInteractionHandler )
End If
sQuery = "rechnung"
' Abfragen
oAbfragen = oDatenquelle.QueryDefinitions
' gewünschte Abfrage vorhanden?
if ( oAbfragen.hasByName( sQuery) ) Then
' Abfrage holen
oAbfrage = oAbfragen.getByName( sQuery )
' SQL-Ausdruck von Abfrage entnehmen
sQuery = oAbfrage.Command
' Verbindung zur DB herstellen
oVerbindung = oDatenquelle.getConnection( ,)
' Statement erzeugen
oStatement = oVerbindung.createStatement
' Abfrage absetzen
oResultSet = oStatement.executeQuery( oAbfrage.Command )
' durch alle Resultate iterieren
while oResultSet.next()
' erste Spalte ausgeben
sKundenname = oResultSet.getString( 1 )
msgbox sKundenname
Wend
' DB-Ressourcen wieder freigeben
oResultSet.close()
oStatement.close()
oVerbindung.close()
Else
MsgBox "Keine Abfrage mit dem Name " & sQuery & " vorhanden"
Exit Sub
End If
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: einzelne datensätze (keine adresse) in wirter einfügen
Danke dir, das hilft mir schon mal sehr weiter.
Ich muss gestehen, das ich den Aufwand ordentlich unterschätzt habe, werde wohl erst einmal in paar Tage brauchen um mich in das Ganze ein zu arbeiten. Ich habe mittlerweile auch schon ein paar tuto`s hinter mir, allerdings hats bis jetzt nicht mit dem steuern und auslesen von dialogen geklappt. Naja, wird noch...
Ich danke dir vielmals für deine Geduld mit mir.
Ein Frage noch zum Schluss. Ist es mögliche für eine Popup-liste, Listeneinträge anhand von SQL-Abfragen zu generieren? Ein ja/nein genugt völlig, nur damit ich weiß, ob mein Konzept möglich ist oder nicht.
Wie gesagt nochmal danke für alles, habe jetzt einen klaren Lösungsweg vor mir, nur noch nicht die notwendigen Fähigkeiten
Greetz Zepho
Ich muss gestehen, das ich den Aufwand ordentlich unterschätzt habe, werde wohl erst einmal in paar Tage brauchen um mich in das Ganze ein zu arbeiten. Ich habe mittlerweile auch schon ein paar tuto`s hinter mir, allerdings hats bis jetzt nicht mit dem steuern und auslesen von dialogen geklappt. Naja, wird noch...
Ich danke dir vielmals für deine Geduld mit mir.
Ein Frage noch zum Schluss. Ist es mögliche für eine Popup-liste, Listeneinträge anhand von SQL-Abfragen zu generieren? Ein ja/nein genugt völlig, nur damit ich weiß, ob mein Konzept möglich ist oder nicht.
Wie gesagt nochmal danke für alles, habe jetzt einen klaren Lösungsweg vor mir, nur noch nicht die notwendigen Fähigkeiten

Greetz Zepho
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: einzelne datensätze (keine adresse) in wirter einfügen
Ja.
(
wobei ich nicht weiss, was Du mit einer "Popup-Liste" meinst: ein ListBox-control?
ich weiss auch nicht, ob das setzen eines SQL-Befehls, oder die Zuordnung einer gespeicherten Abfrage über die Oberfläche / Designmodus funktioniert: ich arbeite, wie erwähnt, im Hintergrund mit Basic, und da geht es)
(
wobei ich nicht weiss, was Du mit einer "Popup-Liste" meinst: ein ListBox-control?
ich weiss auch nicht, ob das setzen eines SQL-Befehls, oder die Zuordnung einer gespeicherten Abfrage über die Oberfläche / Designmodus funktioniert: ich arbeite, wie erwähnt, im Hintergrund mit Basic, und da geht es)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: einzelne datensätze (keine adresse) in wirter einfügen
als popup liste meine ich die in html klassische select-box.
Danke für den hinweis, bekomme irgendwie ohnehin nicht die verknüpfung zwischen dem designten dialogen und basic zusammen, dann versuche ich mal einen Dialog in basic zu erstellen, mal sehen...
Danke für den hinweis, bekomme irgendwie ohnehin nicht die verknüpfung zwischen dem designten dialogen und basic zusammen, dann versuche ich mal einen Dialog in basic zu erstellen, mal sehen...