Formular über Button starten [gelöst]

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: Formular über Button starten [gelöst]

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

von Olek2 » Mi, 12.10.2011 11:04

Ne ich habe das Makro normal in die Datenbank gespeichert das Externe Formular benutzte ich garnicht mehr.

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

von gogo » Mi, 12.10.2011 10:48

... kommt der Fehler beim Starten des Formulars das Du Dir "rauskopiert" hast? - das Formular ist keine Datenbank, also gibt's auch kein Objekt "ThisDatabaseDocument". Die Anleitung bezog sich auf die Datenbankdatei. Das "rauskopierte" Writerformular hat nichts mehr mit der Datenbank am Hut, denn beim "Rauskopieren" wird die Verbindung zu den Daten gekappt. Du solltest eigentlich keine Daten aus der Datenbank in dem Formular sehen können! Wenn Du das Makro in der Bibliothek der Datenbank speicherst, dann ist "ThisDatabaseDocument" zu Beginn der Sub sicher schon definiert.

g

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

von Olek2 » Mi, 12.10.2011 09:15

Code: Alles auswählen

If isNull(ThisDatabaseDocument.CurrentController.ActiveConnection) Then

In der Zeile sagt er mir das die Objektvariable nicht belegt ist.
Oder muss ich "isNull" durch den Namen meiner Datenbank ersetzten?

Der Einwand mit der Codezeile

Code: Alles auswählen

    oCon = ThisDatabaseDocument.CurrentController
leuchtet mir ein. Aber ist trotzdem Schade ;)

Ich denke aber Wenn das Makro zum Automatischen Formular öffnen läuft dürfte das für die Anwender einfach genug sein, die haben dann ja nur eine Datenbank und müssen nicht wählen.

Was mich jetzt noch interessieren würde woher habt ihr die ganzen Befehle und wisst wie ihr die Datenbanken ansprechen könnt? Ich frage immer hier im Forum nach was ja schön einfach und schnell ist
aber es gibt doch bestimmt ne seite mit Befehlen der nen "Online Kurs" oder sowas oder?

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

von gogo » Di, 11.10.2011 17:00

Code: Alles auswählen

oCon = ThisDatabaseDocument.CurrentController
Der Zugriff entscheidet - die obige Codezeile greift explizit auf das aktuelle *.odb-Dokument zu, daher kann das Makro nur dann laufen, wenn es aus dieser DB heraus gestartet wird.

Ein bestimmtes Formular bei Datenbankstart öffnen:

ein Makro wie dieses erstellen:

Code: Alles auswählen

Sub StartUpDatabase

' stellt die Verbindung zu den Daten her
ThisComponent.DataSource.ConnectWithCompletion(createUnoService("com.sun.star.sdb.InteractionHandler"))

If isNull(ThisDatabaseDocument.CurrentController.ActiveConnection) Then
   ThisDatabaseDocument.CurrentController.Connect
End If

' öffnet das Forular
ThisDatabaseDocument.FormDocuments.getByName( "Zentralformular" ).open ' oder wie auch immer Dein zu öffnendes Formular heisst

end sub
dann:

Datenbankfenster: Menü: Extras/Anpassen, und da im Index:Ereignisse dem Ereignis 'Dokument öffnen' das Makro zuweisen.

Unter der Liste ist ein Listenfeld 'Speichern in', dort vorzugsweise die aktuelle Datenbank auswählen, sonst startet das Makro bei jedem Base-Start...

g

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

von Olek2 » Di, 11.10.2011 15:59

Habs befürchtet Das Makro läuft dann nicht mehr....
Bevor ich jetzt anfange und mühevoll das Makro ändere...frag ich lieber nach... kann ich Base starten und dann automatisch das Formular dabei öffnen?
Also ohne nachzufragen welche datenbank er öffnen.

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

von Olek2 » Di, 11.10.2011 15:49

Hmm ok ich werd das mal versuchen...

Dachte halt wenn man so vorgeht wie in dem Link von ,4 angegeben nimmt er die Daten aus der Datenbank komplett also mit den Makros und nicht nur die Base daten Einträge.
dann bin ich mal gespannt ob das Makro läuft wenn ich es außerhalb starte oder ob das Makro dann garnet mehr geht ......

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

von gogo » Di, 11.10.2011 09:58

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

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

von Olek2 » Di, 11.10.2011 09:42

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

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

von komma4 » Mo, 10.10.2011 17:25

Olek2 hat geschrieben:leider funktionieren meine Makros zum Berichte erstellen etc. mit der Desktop version nicht.
An der eingestellten Makrosicherheit des Dokuments?

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

von gogo » Mo, 10.10.2011 16:49

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

g

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

von Olek2 » Mo, 10.10.2011 10:49

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?

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

von F3K Total » Mo, 10.10.2011 05:49

Jupp:
Datei/Eigenschaften/Reiter Sicherheit ...

Gruß R

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

von maibaum » So, 09.10.2011 22:40

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

Re: Formular über Button starten

von F3K Total » So, 09.10.2011 21:52

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

Re: Formular über Button starten

von maibaum » So, 09.10.2011 21:51

Hi,

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

Herzlichen Dank...

Grüße
Maik

Nach oben