Formular über Button starten [gelöst]

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

maibaum
Beiträge: 8
Registriert: So, 09.10.2011 15:36

Formular über Button starten [gelöst]

Beitrag von maibaum »

Hallo,

ich würde gerne ein Formular mittels eines Buttons vom Desktop starten. Dies würde das Starten eines nicht so versierten Benutzers erheblich erleichtern.

Ist dies möglich und wenn ja wie??

Grüße
Maik
Zuletzt geändert von maibaum am So, 09.10.2011 21:52, insgesamt 1-mal geändert.
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Formular über Button starten

Beitrag von F3K Total »

Hallo Maibaum,
wie man einen speziellen Button kreiert, kann ich nicht sagen, aber was hältst Du von diesem Vorschlag:
Wenn Dein Formular ein eigenes Writer-Formular ist, kannst Du einfach eine Verküpfung auf den Desktop legen, zumindest unter Windows.
Wenn Dein Formular sich in einer Base.odb befindet, kannst Du von dieser eine Verküpfung auf den Desktop legen und Dein Formular über folgendes Makro automatisch öffnen lassen

Code: Alles auswählen

sub open_form

DIM DatabaseContext AS OBJECT
DIM Datenquelle AS OBJECT
DIM Verbindung AS OBJECT
Dim oParms(1) As New com.sun.star.beans.PropertyValue

oCon = ThisDatabaseDocument.CurrentController
If NOT ( oCon.isConnected() ) Then oCon.connect()

DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
Datenquelle = DatabaseContext.getByName(ThisDatabaseDocument.getLocation())
Verbindung = Datenquelle.GetConnection("","")

oDoc = ThisComponent.getformdocuments.getbyname("Name_des_Formulares")
if not isnull (oDoc.getComponent) then
 odoc.open
else
 oDocname=oDoc.name
 oParms(0).name="OpenMode"
 oParms(0).value="open"
 oParms(1).name="ActiveConnection"
 oParms(1).value=Verbindung
 oFormDocs=ThisComponent.FormDocuments
 oFormDocs.loadComponentFromURL(oDocname, "", 0, oParms())
endif
end sub
Dazu mußt Du nur noch den Namen des zu öffnenden Formulares statt Name_des_Formulares in das Makro einsetzen, und das Makro unter Extras/Anpassen/Ereignisse dem Ereignis Dokument öffnen zuordnen

Viel Erfolg,
Gruß R
maibaum
Beiträge: 8
Registriert: So, 09.10.2011 15:36

Re: Formular über Button starten

Beitrag von maibaum »

Hi,
nochmal zum Verständnis:

Ich lege eine Verknüpfung der Datenbank auf den Desktop, und hinterlege beim Formular das besagte Makro?? Oder muss vom Formular eine Verknüpfung auf den Desktop gelegt werden??

@edit
also wie von mir hier beschrieben, klappt es nicht...

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

Re: Formular über Button starten

Beitrag von komma4 »

Geht doch viel einfacher als "Externes Formular"

Dann legst Du eine Desktop-Verknüpfung auf die ODT an - fertig
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)
maibaum
Beiträge: 8
Registriert: So, 09.10.2011 15:36

Re: Formular über Button starten

Beitrag von maibaum »

Hi,

sorry Winfried, aber das versteht kein Mensch was dort gemacht werden muss. Wo bitte finde ich in dem nun erzeugten Textdokument die genannten Befehle etc....

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

Re: Formular über Button starten

Beitrag von komma4 »

maibaum hat geschrieben:Wo bitte finde ich in dem nun erzeugten Textdokument die genannten Befehle etc....
ooowiki hat geschrieben:Öffnen Sie das Dokument und schalten Sie die Symbolleiste Formular Entwurf ein. Schalten Sie um in den Bearbeitungsmodus

Öffnen Sie den Dialog Formular... im Kontextmenü eines Kontrollelements und wechseln Sie auf die Seite "Daten". Kopieren Sie den Inhalt aus "Inhalt" (mit STRG+C) und öffnen dann die Liste "Datenquelle". Wählen Sie dort die DatenQuelle, d.h. den Namen der registrierten Datenbank, aus dem Sie zuvor die Kopie des Formulars erstellt haben. Nun tragen Sie (mit STRG+V) den zuvor kopierten Inhalt wieder in das Listenfeld "Inhalt" ein – oder wählen den Eintrag aus der Liste aus.
Welchen der Schritte verstehst Du nicht?
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)
maibaum
Beiträge: 8
Registriert: So, 09.10.2011 15:36

Re: Formular über Button starten

Beitrag von maibaum »

Hi,

sorry, bissel reinhängen und es klappt jetzt einwandfrei.

Herzlichen Dank...

Grüße
Maik
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Formular über Button starten

Beitrag von F3K Total »

Hallo Maibaum,
wenn ich es richtig verstanden habe, hast Du jetzt ein externes Formular.
Das meinte ich mit:
Wenn Dein Formular ein eigenes Writer-Formular ist ...
Das externe Formular ist mit der Datenbank verknüpft.
Egal ob du nun im internen oder externen Formular Daten in die Datenbank eingibst, es sind die selben Daten.
Änderst Du aber das Layout des externen Formulares, bleibt das interne unverändert und umgekehrt.
War es das, was Du meintest?

Gruß R
maibaum
Beiträge: 8
Registriert: So, 09.10.2011 15:36

Re: Formular über Button starten [gelöst]

Beitrag von maibaum »

Hi,

leider gibt es die folgende Funktion nicht mehr im 3.3
Formular gegen Änderungen schützen

das -wie oben beschreiben kopierte Formular- verhält sich wie ein normales Textdokument, d.h. der Cursor steht nach dem Öffnen im Textbereich und es können Zeichen eingegeben werden. Um dies zu verhindern wählen Sie Extras→Optionen...→OpenOffice.org→Sicherheit→Optionen für die gemeinsame Benutzung des Dokuments und setzen einen Haken bei "Dieses Dokument schreibgeschützt öffnen"
Jemand ne idee???

Grüße
Maik
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Formular über Button starten [gelöst]

Beitrag von F3K Total »

Jupp:
Datei/Eigenschaften/Reiter Sicherheit ...

Gruß R
Olek2
*
Beiträge: 19
Registriert: Mi, 28.09.2011 12:32

Re: Formular über Button starten [gelöst]

Beitrag von Olek2 »

Hi,

Ich habe mir auch das Formular auf den Desktop verlinkt nur leider funktionieren meine Makros zum Berichte erstellen etc. mit der Desktop version nicht.

Weiss jemand woran das liegt?
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Formular über Button starten [gelöst]

Beitrag von gogo »

gibt's auch eine Fehlermeldung oder macht das Programm einfach gar nichts :roll:

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Formular über Button starten [gelöst]

Beitrag von komma4 »

Olek2 hat geschrieben:leider funktionieren meine Makros zum Berichte erstellen etc. mit der Desktop version nicht.
An der eingestellten Makrosicherheit des Dokuments?
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)
Olek2
*
Beiträge: 19
Registriert: Mi, 28.09.2011 12:32

Re: Formular über Button starten [gelöst]

Beitrag von Olek2 »

Moin,

Ja es gibt eine Fehlermeldung die lautet:
-----------------------------------------------------------------------------------------------------
Ein Scripting Framework Fehler trat während der Ausführung von Basic script
vnd.sun.star.script:Miet.Module1.openreport?language=Basic&Location-document
auf.

Meldung: The following Basic script could not be found:
libary: 'Miet'
module: 'Module1'
method: 'openReport'
location: 'document'
---------------------------------------------------------------------------------------------------
Ich hab mich an den hier beschriebenen Weg gehalten den link zu erstellen die Daten sind im Formular auch abzurufen.
Das Makro funktioniert wie gesagt auch wenn ich Base normal öffne.
Eine extra Makro Sicherheit hab ich jetzt nicht gefunden im Reiter Sicherheit oder muss ich da woanders gucken?

Ich benutze OO 3.3.0
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Formular über Button starten [gelöst]

Beitrag von gogo »

Ich habe mir auch das Formular auf den Desktop verlinkt...
d.h., Du hast es als eigenständiges (Writer)Dokument ausserhalb der Datenbank gespeichert? Wenn ja, dann musst Du auch in diesem Dokument dein Makro speichern. Solange es in der Base Datei versteckt ist (und das Formular öffnet ja die Base-Datenbank nicht) wird es nicht gefunden werden, da die Bibliothek in der es liegt erst beim Start der Base-Datei geladen wird!

g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Antworten