FORM: Linkziel öffnen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

esox81
Beiträge: 2
Registriert: So, 11.03.2012 22:53

FORM: Linkziel öffnen

Beitrag von esox81 »

Hallo,


ich habe eine Datenbank zur Kundenverwaltung erstellt ist noch im Versuchsstadium. Nun habe ich ein Listenfeld
in einem Formular erstellt und möchte dort die Rechnungen eintragen die zu dem jeweiligen Kunden gehören
und dann per Link auf die einzelnen Rechnungen zugreifen. Die Rechnungen wurden mit Open Office Writer
erstellt. Ich weiß soviel das ich ein Makro brauche. Ich hoffe das Problem ist nicht so schwierig zu bewerk-
stelligen. Ich habe schon viel gesucht und bin zu keiner Lösung gekommt.

Ich hoffe auf ein paar Tipps und danke euch jetzt schon!

Viele Grüße
esox81



Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: FORM: Linkziel öffnen

Beitrag von komma4 »

Habe das Thema verschoben - es geht, wie Du richtig vermutet hast, um Makros... da gehört es in diese Rubrik.


Ich habe das bspw. so gelöst:


Auf dem Formular eine Schaltfläche, deren Aktion: Website/Dokument öffnen und URL leer lassen.

Am Listenfeld>Ereignisse>Modifiziert das folgende Makro eingestellt

Code: Alles auswählen

Sub oeffneRechnung( oEvent ) 

' aus Listenfeld ausgewählter Eintrag
sRechnung = oEvent.Source.SelectedItem


' Schaltfläche: Ziel setzen
oForm = oEvent.Source.Model.Parent.Parent.getByName( "Formular" )
oSchaltflaeche = oForm.getByName( "Schaltfläche 1" )

oSchaltflaeche.TargetURL = _
 ConvertToURL( "/zentrale/daten/2009/Rechnungen/" & sRechnung & ".odt" )

End Sub

Das Auswählen aus der Liste löst das Ereignis modifiziert aus (konkret: wenn zwischen Focuserhalt und -verlust der Wert geändert wurde).
Das trägt den Listeneintrag in das Kontrollelement "Schaltfläche 1" in dessen Ziel-URL ein

In meiner Tabelle stehen nur die Rechnungsnummern, Pfad und Dateiendung ergänze ich im Code, wie Du siehst.


Kommst Du damit zurecht?
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)
esox81
Beiträge: 2
Registriert: So, 11.03.2012 22:53

Re: FORM: Linkziel öffnen

Beitrag von esox81 »

Vielen Dank erstmal für die schnelle Anwort.

Werde ich auf jedenfall versuchen. Da ich noch ziemlich neu in der Materie bin kann das etwas länger dauern.
Wenn ich nicht mehr weiter weiß dann melde ich mich noch mal.

Viele Grüße
esox81
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: FORM: Linkziel öffnen

Beitrag von komma4 »

Habe Dir mal eine Testversion hier angehängt.
Dateianhänge
hsqldb_Rechnungen.odb
Beispiel: aus Listenfeld gewählte Datei öffnen
(12.75 KiB) 99-mal heruntergeladen
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)
wellmo
**
Beiträge: 32
Registriert: Di, 13.12.2011 19:21

Re: FORM: Linkziel öffnen

Beitrag von wellmo »

Hallo esox81

Auch ich habe mir mit hilfe der super Helfer hier im Forum eine Kundendatenbank inkl. Offerten-/Rechnungs-Erstellung erstellt, und ich wusste vorher nichtmal was Starbasic oder SQL ist. Da viele Wege nach Rom führen, so auch bei einem solchen Projekt, habe ich dies nicht mit einem Listenfeld gelöst, sondern mit eigenen Datenbanktabellen die über eine ID mit den Kunden verknüpft sind.
Unter folgendem Link habe ich meine Datenbank und Dokumenterstellung hochgeladen, zweite Seite.
viewtopic.php?f=18&t=52522&start=15
Mittlerweile habe ich meine Datenbank schon weiterentwickelt und noch diverse Sachen eingebaut, als PDF abspeichern, Dokumente suchen, Begleitbriefe etc.
Evtl. kannst du dich daran ein bisschen inspirieren lassen oder das eine oder andere Makro abschauen.

Ums kurz zu machen, ich speichere die erstellten Offerten per Makro auf meine Festplatte und gleichzeitig einen String (Name der Offerte) in die Datenbank. Ein Makro öffnet mit hilfe des Namens in der Datenbank die Offerte von der Festplatte.

Gruss Dave
Antworten