Variable mit externer Datenbasis verknüpfen, globale Zähler

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Variable mit externer Datenbasis verknüpfen, globale Zähler

Re: Variable mit externer Datenbasis verknüpfen, globale Zähler

von Eia » Di, 05.02.2008 06:34

edi-siem hat geschrieben:
Lies mal das hier durch, da wird der Datenbank-Beamer auf diesen einen Datensatz reduziert. Ist ein etwas anderes Vorgehen, aber mit gleichem Ziel und auch anwenderfreundlich.
Danke für den Hinweis. Das hilft etwas weiter.
Das entscheidende ist immer noch, dass man mit F4 das Datenpanel manuell öffnen muss und immer noch manuell das richtige Feld (Daten in Felder) anklicken muss.
Lassen sich diese Schrite automatisieren?
Ich hab dieses Makro aufgezeichnet:

Code: Alles auswählen

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ViewDataSourceBrowser"
args1(0).Value = true

dispatcher.executeDispatch(document, ".uno:ViewDataSourceBrowser", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ViewDataSourceBrowser"
args2(0).Value = true

dispatcher.executeDispatch(document, ".uno:ViewDataSourceBrowser", "", 0, args2())


end sub
direkt in der Dokumentvorlage gespeichert und unter Extras/Anpassen/Ereignisse dem Ereignis "Dokument erzeugen" zugeordnet.
Übrigens mit man muss doch eine Zählervariable mit dem Datenbank-Modul realisieren können? Muss man dafür zwingend SQL bemühen, oder geht es auch mit "Bordmitteln" Ich meine einfach eine Zelle in einer Calc-Tabelle innerhalb einer Zelle inkrementieren?
Natürlich. Das würde aber heissen, dass Du pro Rechnung/Gutschrift einen Datensatz anlegst.
Und das wiederum würde heissen, dass Du richtigerweise zumindest mit zwei Datentabellen arbeitest: Der Adresstabelle und der Rechnungstabelle. Das wäre dann die Datenbanklösung. Da müsstest Du Dir dann noch langsam Gedanken zur Datenerfassung machen.
mfG

Re: Variable mit externer Datenbasis verknüpfen, globale Zähler

von edi-siem » Mo, 04.02.2008 21:38

Lies mal das hier durch, da wird der Datenbank-Beamer auf diesen einen Datensatz reduziert. Ist ein etwas anderes Vorgehen, aber mit gleichem Ziel und auch anwenderfreundlich.
Danke für den Hinweis. Das hilft etwas weiter.
Das entscheidende ist immer noch, dass man mit F4 das Datenpanel manuell öffnen muss und immer noch manuell das richtige Feld (Daten in Felder) anklicken muss.
Lassen sich diese Schrite automatisieren?

Übrigens mit man muss doch eine Zählervariable mit dem Datenbank-Modul realisieren können? Muss man dafür zwingend SQL bemühen, oder geht es auch mit "Bordmitteln" Ich meine einfach eine Zelle in einer Calc-Tabelle innerhalb einer Zelle inkrementieren?

Gruß,
Ed

Re: Variable mit externer Datenbasis verknüpfen, globale Zähler

von Eia » Mo, 04.02.2008 12:54

edi-siem hat geschrieben:Ich würde gerne dafür wiederum ein Eingabefeld definieren in dem die Nummer des Begünstigten eingegeben wird. Entsprechend der Nummer wäre dann der
entsprechnde Datensatz der Tabelle genommen. Ist dies mit einfachen Mitteln - z.B. über eine Variable, die die Feldnummer der Datenquelle festlegt - zu realisieren?
Lies mal das hier durch, da wird der Datenbank-Beamer auf diesen einen Datensatz reduziert. Ist ein etwas anderes Vorgehen, aber mit gleichem Ziel und auch anwenderfreundlich.
Ein weiteres Problem ist die fortlaufende Nummerierung der Gutschriften. Ich brauche so etwas wie einen globalen Zähler, der eine Variable immer hochzäzhlt, damit keine Gutschriftennummern doppelt vorkommen. Dafür würde sich doch die Vormatvorlage für die Gutschrift ideal eignen. Kann ich eine Variable in der Formatvorlage definieren, welche beim Erzeugen eines Dokuments aus der Voralge inkrementiert wird?
Da macht die Dokumentlogik nicht mit. Der Zähler müsste ja in der Dokumentvorlage hochgezählt werden, d.h. die Dokumentvorlage müsste geändert und gespeichert werden. Das ist ja aber nicht der Fall, wenn Du ein neues Dokument erstellst.
Wenn Du das mit OO machen willst, würde ich einen Nummernkreis wählen, der sich z.B. mit Datums- und Zeitwerten generieren lässt:
Einfügen/Datum(fix), Format: JJMMTT
Bindestrich
Einfügen/Zeit(fix), Format: HHMM
ergäbe sowas: 080204-1246
Oder eine Kombination mit einer Kundennummer.

Etwas anderes ist mit einfachen Mitteln nicht zu erreichen. Dazu müsstest Du mit Makros arbeiten. Such mal hier im Forum, da findest Du z.B. das hier.

mfG

Variable mit externer Datenbasis verknüpfen, globale Zähler

von edi-siem » Mo, 04.02.2008 10:54

Hallo zusammen,
ich stehe vor folgender Aufgabe:
monatlich muss ich einige (<10) Gutschriften erstellen. Da bietet sich doch eine Formatforlage mit Variablen und Eingabefeldern an.
So wird der Abrechnunsmonat und Jahr über Eingabefelder abegfragt und an den richtigen Stellen der Gutschrift platziert.
Das ganze sollen ein paar bedingte Texte abrunden.
Nur mit den Anschriften der begünstigten ist es etwas lästig mit bedingten Texten das zu erledigen.
Meine Idee ist da eher die Adressen in einer Tabelle zu pflegen und diese dann über die Serienbrief-Funktionalität einzubinden.
Ich würde gerne dafür wiederum ein Eingabefeld definieren in dem die Nummer des Begünstigten eingegeben wird. Entsprechend der Nummer wäre dann der
entsprechnde Datensatz der Tabelle genommen. Ist dies mit einfachen Mitteln - z.B. über eine Variable, die die Feldnummer der Datenquelle festlegt - zu realisieren?
Klar kann man die Serienbrief-Maske verwenden. Das würde aber meine Frau, die relativ Computerfob ist, doch vor der Verwendung abschrecken.

Ein weiteres Problem ist die fortlaufende Nummerierung der Gutschriften. Ich brauche so etwas wie einen globalen Zähler, der eine Variable immer hochzäzhlt, damit keine Gutschriftennummern doppelt vorkommen. Dafür würde sich doch die Vormatvorlage für die Gutschrift ideal eignen. Kann ich eine Variable in der Formatvorlage definieren, welche beim Erzeugen eines Dokuments aus der Voralge inkrementiert wird?

Für sachdienliche Hinweise einen herzlichen Dank im Voraus,
Ed

Nach oben