Seite 1 von 1

Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Mo, 12.05.2008 16:02
von StefanH67
Hi..

Versuche gerade mal in Base eine Datenbank frontend zu erstellen. Arbeite normalerweise mit Access und habe da auch schon einige Projekte umgesetzt.
Ich wollte jetzt mal ein eigenes unter ooBase zum Laufen bringen und es fängt schon gleich mit dem ersten Formular an bzw mit dem ersten Basic Programm.

In Access gibt es die Möglichkeit beim Start einer .mdb Datei ein Formular bzw ein VBA-Script auszuführen. Ich habe in einigen Büchern bzw. online nach einer Möglichkeit in oo gesucht und folgendes gefunden: Man geht unter Extras -> Makros ->Makros_verwalten -> Makros. Dort wählt man die gewünschte Funktion aus und klickt auf Zuordnen. Danach hat man eine Auswahl, wo man z.B. Dokument öffnen auswählt und auf Makro klicken kann, um die Funktion zuzuweisen. Und im unteren Bereich kann man ihm sagen, ob es im Dokument oder in oo gespreichert werden soll. Das ist auch eine supersache. Das geht unter ooWrite und ooCalc, aber im ooBase bekomme ich leider nur das OpenOffice.org zur Auswahl und nicht die Datenbank.odb. Das ist schecht. :(

Hat jemand eine Idee, was das Problem ist oder ist das ein Bug in Base?? :?

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Di, 13.05.2008 09:28
von hema
Hallo
habe auch schon intensiv im ganzen Forum, Büchern... nach diesem Problem gesucht und bin immer darauf gestossen, dass dies (noch) nicht möglich ist in Base.
Habe bei mir das Problem so gelöst, dass ich das Startformular als externes Dokument (Textdokument .odt) gespeichert habe.
Die Datenbank muss registriert sein, sonst klappts nicht.
Nun kann ich dieses externe Formular öffnen, den gewünschten Butten (z.B. Daten erfassen) anklicken und arbeiten.
Die Datenbank selber wird gar nicht mehr aktiv angezeigt.
Klappt bisher problemlos.

Gruss

Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Fr, 12.03.2010 19:45
von keyboard-billy
Hallo,

gibt es dafür mittlerweile eine Lösung?
Ich habe meine Makros seit oOO 3.x vom Formular meines Base-Dokumentes getrennt (per Assistent und mächtig Handarbeit!).

Leider ist aber ein Zuordung über den Dialog "Extras->Makros->Makros verwalten->openOffcice.org Basic..." -> <Zuordnen> -> TAB "Ereignisse" unter z.B. dem Punkt "Dokument öffnen" ->Zuweisen: <Makro> nicht möglich.
Die Bibliothek des aktuellen Dokumentes (... hier meine Datei KuDaBa2010.odb) ist leider nicht in der Liste in der linken Spalte aufgeführt.

Gibt es mittlerweile eine adäquate Lösung des Problems?

Hintergrund ist folgender: Ich möchte von Formularen weg und diese gänzlich durch Dialoge ersetzen. Bisher hatte ich meine Dialoge mittels Schalter (-buttons) über das Formular gestartet. Ich würde mir zukünftig die Steuerung von einer "Startdialogbox" aus wünschen. Aber so einen Dialog muss ich ja irgendwie automatisch nach Öffnen bzw. Laden des Dokumentes (hier die ODB-Datei) starten (per Makro).

Hat schon jemand Erfahrung damit gemacht und weiß wie das geht?
Danke in voraus!

Greetz,
Billy

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Sa, 13.03.2010 07:29
von komma4
keyboard-billy hat geschrieben:Leider ist aber ein Zuordung über den Dialog "Extras->Makros->Makros verwalten->openOffcice.org Basic..." -> <Zuordnen> -> TAB "Ereignisse" unter z.B. dem Punkt "Dokument öffnen" ->Zuweisen: <Makro> nicht möglich.
Die Bibliothek des aktuellen Dokumentes (... hier meine Datei KuDaBa2010.odb) ist leider nicht in der Liste in der linken Spalte aufgeführt.

Gibt es mittlerweile eine adäquate Lösung des Problems?

Hintergrund ist folgender: Ich möchte von Formularen weg und diese gänzlich durch Dialoge ersetzen.
1. Zuordnung geht (bei mir) bei einem Formular über Extras>Anpassen...>Ereignisse>Dokument öffnen und ist nur dem Formular zuordnenbar

2. Wenn Du sowieso nur Dialoge einsetzen willst, dann kannst Du Makros auch direkt starten (angepasstes Icon; suche "Makros starten von der Kommandozeile") - oder über ein leeres Dokument, welches sofort versteckt wird (Hintergrund). Du benötigst dann keine ODB mehr.

Hilft das weiter?

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Sa, 13.03.2010 11:57
von keyboard-billy
keyboard-billy hat geschrieben:Leider ist aber ein Zuordung über den Dialog "Extras->Makros->Makros verwalten->openOffcice.org Basic..." -> <Zuordnen> -> TAB "Ereignisse" unter z.B. dem Punkt "Dokument öffnen" ->Zuweisen: <Makro> nicht möglich.
Die Bibliothek des aktuellen Dokumentes (... hier meine Datei KuDaBa2010.odb) ist leider nicht in der Liste in der linken Spalte aufgeführt.

Gibt es mittlerweile eine adäquate Lösung des Problems?

Hintergrund ist folgender: Ich möchte von Formularen weg und diese gänzlich durch Dialoge ersetzen.
1. Zuordnung geht (bei mir) bei einem Formular über Extras>Anpassen...>Ereignisse>Dokument öffnen und ist nur dem Formular zuordnenbar

2. Wenn Du sowieso nur Dialoge einsetzen willst, dann kannst Du Makros auch direkt starten (angepasstes Icon; suche "Makros starten von der Kommandozeile") - oder über ein leeres Dokument, welches sofort versteckt wird (Hintergrund). Du benötigst dann keine ODB mehr.
komma4 hat geschrieben:Hilft das weiter?
Ja, ein bisschen :wink:
komma4 hat geschrieben:Du benötigst dann keine ODB mehr.
:?: :?: :?: ... und was ist dann mit meiner Datenbank :?: :?: :?:
komma4 hat geschrieben:2. Wenn Du sowieso nur Dialoge einsetzen willst, dann kannst Du Makros auch direkt starten (angepasstes Icon; suche "Makros starten von der Kommandozeile") - oder über ein leeres Dokument, welches sofort versteckt wird (Hintergrund).
... ich glaube, dass das eher einem brauchbaren Lösungsansatz entspricht. Ich hab's auch gleich ausprobiert ! :D
Die Sache mit dem angepassten Icon funzt. Das ist schon mal ein guter Schritt.

Den Punkt "Makros starten von der Kommandozeile" hab ich in der Hilfe leider nicht gefunden. Vielleicht kannst Du mir das noch näher erklären.

Greetz,
Billy

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Sa, 13.03.2010 12:31
von komma4
keyboard-billy hat geschrieben:
komma4 hat geschrieben:Du benötigst dann keine ODB mehr.
:?: :?: :?: ... und was ist dann mit meiner Datenbank :?: :?: :?:
Die ODB brauchst Du dann nur zur Registrierung der Datenbank.
Alle anderen Funktionen machst Du mit Makros: Verbindung zur DB aufbauen, SQL-Befehle absetzen und Resultsets selbst auswerten (in Writer oder Dialogen die Daten ausgeben). INSERTs gehen natürlich auch.
keyboard-billy hat geschrieben:Die Sache mit dem angepassten Icon funzt. Das ist schon mal ein guter Schritt.

Den Punkt "Makros starten von der Kommandozeile" hab ich in der Hilfe leider nicht gefunden. Vielleicht kannst Du mir das noch näher erklären.
Dafür meinte ich die Forensuche zu nutzen, siehe mal: viewtopic.php?f=2&t=31173#p125197

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Sa, 13.03.2010 13:01
von StefanH67
Hallo Leute...

Danke für die viele Hilfe, aber jetzt mit Openoffice 3.2 geht es auch mit BASE wie es bei Writer oder Calc geht.
Sie haben es entlich realisiert.

Gruß Stefan

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Sa, 13.03.2010 14:30
von keyboard-billy
komma4 hat geschrieben:Die ODB brauchst Du dann nur zur Registrierung der Datenbank.
Alle anderen Funktionen machst Du mit Makros: Verbindung zur DB aufbauen, SQL-Befehle absetzen und Resultsets selbst auswerten (in Writer oder Dialogen die Daten ausgeben).
Also irgendwie versteh ich denn Sinn nicht. Wenn ich eine ODB-Datei habe, so sind darin
  • Datenbank
  • Makros
  • Dialoge
  • Abfragen (... soweit im Browserfenster definiert)
vorhanden.

Natürlich ist mir vollkommen klar, dass ich SQL/DML/DCL auch per Makro definieren und ausführen kann.

Aber wozu bitte soll ich dann in Writer Daten ausgeben? Wie oben bereits aufgelistet, kann ich Dialoge in ein ODB-Dokument einbinden.
(... übrigens auch das Icon zum Starten von Makros)

Eine andere Sache wär's wenn ich die Makros und Dialoge Global ablegen würde - also unabhängig vom Dokument. Das ist aber wiederum unpraktikabel wenn ich das "Paket" Datenbank/Makros/Abfragen/Dialoge mittels eines USB-Sticks auf einem anderen Rechner verwenden möchte.

Darum noch mals kurz festgehalten: "Autostart" von Makros (wie es schon seit Jahren unter M$ Office funktioniert) geht unter oOO einfach nicht - jedenfalls nicht bezogen auf ein Dokument/bzw. Dokument öffen-> Makro startet automatisch.
Makro (und dahinter verborgene Dialogaufrufe) starten geht mittels "angepasstem Icon" in der Symbolleiste.

Greetz,
Billy

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Sa, 13.03.2010 15:09
von turtle47
Hallo Billy,
keyboard-billy hat geschrieben:Darum noch mals kurz festgehalten: "Autostart" von Makros (wie es schon seit Jahren unter M$ Office funktioniert) geht unter oOO einfach nicht - jedenfalls nicht bezogen auf ein Dokument/bzw. Dokument öffen-> Makro startet automatisch.
Ich habe mal eine Beispileldatei erstellt wo beim öffnen der Datenbank automatisch ein Formular geöffnet wird. Beim öffnen des Formulars wird dann eine MsgBox aufgerufen.

Auch wenn Du das Formular mal schliesst und anschliessend wieder öffnest erscheint die MsgBox.

Vielleicht habe ich aber Dein Problem doch nicht richtig verstanden und es trägt nicht zur Lösung bei. Dann sorry.

Jürgen

Gelöst: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Sa, 13.03.2010 15:58
von keyboard-billy
turtle47 hat geschrieben:Vielleicht habe ich aber Dein Problem doch nicht richtig verstanden und es trägt nicht zur Lösung bei.
Jawoll, genau! Das isses gewesen. Daaaaanke für das Beispiel. :D :D :D

Aber ich hätte da noch eine klitzekleine Anmerkung: oOO ist in einer Sache verdammt hinterlistig! :twisted:

Wenn man die Makrozuordung unter "Extras"->"Anpassen"->"Ereignisse" vornimmt, bekommt man die Dialogbox "Anpassen" mit dem Register "Ereignisse" angezeigt. Mit dem Schalter "Zuweisen: "<Makro...> bekommt man die Dialogbox "Dialog-Selektor" angezeigt - und zwar inklusive der Makros des momentan aktiven, geöffneten Dokuments.

So war vermutlich Deine Vorgehensweise.

Ich hab das vorher auf einen anderen Weg versucht und bin genau hier gescheitert:

Geht man aber den anderen Weg über "Extras"->"Makros"->"Makros verwalten"->"OpenOffice.Org Basic ..." öffnet sich die Dialogbox "OpenOffice.Org Basic Makros". Hier stehen ebenfalls die Makros, die in das Dokument eingebunden zur Auswahl.
Ich habe hier zunächst das Makro ausgewählt, danach den Schalter <Zuordnen> gedrückt und dann ebenfalls die Dialogbox "Anpassen" mit dem Register "Ereignisse" erhalten. Hier jedoch werden die eingebunden Makros des momentan aktiven, geöffneten Dokuments nicht angezeigt.

Vielleicht habe ich da was falsch verstanden bzw. gemacht oder es ist tatsächlich eine "Programmschwäche" :shock:

Jedenfalls hast Du mir heute erneut hervorragend weitergeholfen. Vielen Dank für Deine Mühe. :mrgreen:

Schönes Wochenende noch & Greetz,
Billy

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Mi, 31.03.2010 09:11
von Swichi
Vielen Dank auch von mir.

Das hat mir auch schon einiges gebracht.

Aber nun bleibt noch eine Sache übrig... Wenn ich das "Startformular" wieder schließe, sehe ich dabei immer noch Base an sich mit allen Formularen im Hintergrund. Könnte man es so gestalten, dass wenn man das "Startformular" dann wieder schließt (ist bei mir die ganze Zeit im Hintergrund offen), dass sich dann auch die komplette Datenbank schließt?

Liebe Grüße
Swichi

Re: Makro Automatisch Starten beim öffnen einer Base DB

Verfasst: Di, 06.07.2010 16:09
von Swichi
Verweise nun als Antwort mal hier drauf:
viewtopic.php?f=8&t=38032