Makro Automatisch Starten beim öffnen einer Base DB

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

StefanH67
Beiträge: 2
Registriert: Mo, 12.05.2008 14:25

Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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?? :?
hema
***
Beiträge: 70
Registriert: So, 27.01.2008 14:36
Wohnort: Schweiz
Kontaktdaten:

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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
Sämtliche Probleme, welche ich ohne Computer nicht hatte, kann ich nun mit diesem lösen.
keyboard-billy
***
Beiträge: 53
Registriert: Mo, 27.11.2006 15:17
Wohnort: Nürnberg
Kontaktdaten:

Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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
... im Prinzip ist alles einfach. Vorausgesetzt man weiss, wie's geht!
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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?
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)
keyboard-billy
***
Beiträge: 53
Registriert: Mo, 27.11.2006 15:17
Wohnort: Nürnberg
Kontaktdaten:

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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
... im Prinzip ist alles einfach. Vorausgesetzt man weiss, wie's geht!
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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
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)
StefanH67
Beiträge: 2
Registriert: Mo, 12.05.2008 14:25

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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
keyboard-billy
***
Beiträge: 53
Registriert: Mo, 27.11.2006 15:17
Wohnort: Nürnberg
Kontaktdaten:

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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
... im Prinzip ist alles einfach. Vorausgesetzt man weiss, wie's geht!
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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
Dateianhänge
Neue Datenbank.odb
(12.63 KiB) 929-mal heruntergeladen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
keyboard-billy
***
Beiträge: 53
Registriert: Mo, 27.11.2006 15:17
Wohnort: Nürnberg
Kontaktdaten:

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

Beitrag 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
... im Prinzip ist alles einfach. Vorausgesetzt man weiss, wie's geht!
Swichi
Beiträge: 8
Registriert: Di, 30.03.2010 16:37

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag 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
Swichi
Beiträge: 8
Registriert: Di, 30.03.2010 16:37

Re: Makro Automatisch Starten beim öffnen einer Base DB

Beitrag von Swichi »

Verweise nun als Antwort mal hier drauf:
viewtopic.php?f=8&t=38032
Antworten