"Startformular" möglich?

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

chris_der_gitarrist
Beiträge: 4
Registriert: Di, 15.11.2011 16:44

"Startformular" möglich?

Beitrag von chris_der_gitarrist »

Hallo, miteinander!

Folgendes Projekt bereitet mir momentan Schwierigkeiten:
ist es möglich, ein Formular als eine Art Startformular festzulegen, so dass, sobald ich die Datenbank öffne, dieses Formular "aufploppt" (wie eine Art Hauptmenü)?

Hintergrund ist: ich erstelle grade eine Kundenverwaltungs-Datenbank.
Dazu habe ich diverse Formulare erstellt, je eins zu einem bestimmte Zweck (also eins zur Eingabe der Kunden-Stammdaten, eins zur Erfassung relevanter Geschäftspartner, eines zur Eingabe von Aufgaben, usw.)
Nun würde ich gerne verhindern, dass der Benutzer, der später mal da alle Kunden drin erfassen muss, sich durch die ganzen Formulare klicken muss, bis er das "richtige" Formular getroffen hat.
Stattdessen soll beim Starten der Kundenverwaltungs-Datenbank ein Hauptmenü erscheinen, in dem man das entsprechende Unterformular auswählt (wie eine selbstausführende Powerpoint-Präsentation in etwa).
Die Menüstruktur steht auch schon, nur muss man bis jetzt eben das "Hauptmenü"-Formular manuell aus allen vorhandenen Formularen auswählen.

Ist dieses Vorhaben in OpenOffice Base überhaupt umzusetzen? Oder "überschätze" ich die Software da?

Euch allen noch einen schönen Novembertag!
MfG Chris
The answer, my friend, is just a candle in the wind! (---hl. Bob Elton)
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: "Startformular" möglich?

Beitrag von F3K Total »

Hallo Chris
chris_der_gitarrist hat geschrieben:"Startformular" möglich?
Ja, dafür benötigst Du ein klitzekleines Makro.
Z.B. dieses, in dem du den Namen des Hauptformulares korrigierst:

Code: Alles auswählen

sub open_main_form
oController= ThisDatabaseDocument.CurrentController
If NOT ( oController.isConnected() ) Then oController.connect()
ThisDatabaseDocument.formdocuments.getbyname("Hauptformularname").open
End sub
Dieses Makro dann unter Extras/Anpassen/Ereignisse dem Ereignis "Dokument öffnen" zuordnen.

Viel Erfolg
Gruß R
chris_der_gitarrist
Beiträge: 4
Registriert: Di, 15.11.2011 16:44

Re: "Startformular" möglich?

Beitrag von chris_der_gitarrist »

So langsam habe ich die Vermutung, OpenOffice ist (grade in Kombination mit Makros) vielseitiger als ich dachte!
Vielen Dank, R, für deine Hilfe!
Den Makro-Code werd ich heut abend mal ausprobieren!

MfG Chris
The answer, my friend, is just a candle in the wind! (---hl. Bob Elton)
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: "Startformular" möglich?

Beitrag von F3K Total »

Na,
ich denke, da hast Du den Code etwas überbewertet, mit diesem Code kannst Du "nur" das Hauptformular automatisch öffnen lassen.
Das Hauptformular kannst Du dann selber gestalten, z.B. Schaltfächen darauf bauen. Jeder Schaltfläche kannst Du dann wiederum ein Makro zuordnen, was ein weiteres Formular öffnet, z.B.:

Code: Alles auswählen

Sub open_Form
ThisDatabaseDocument.formdocuments.getbyname("Formularname Kunden verwalten").open
end sub
anbei eine kleine Beispieldatei ...

Gruß R
Dateianhänge
DB_mit_Hauptformular.odb
neu eingestellt am 30.07.2016
(19.25 KiB) 514-mal heruntergeladen
DB_mit_Hauptformular.odb
Link kaputt...
(19.4 KiB) 1350-mal heruntergeladen
Zuletzt geändert von F3K Total am Sa, 30.07.2016 12:34, insgesamt 2-mal geändert.
chris_der_gitarrist
Beiträge: 4
Registriert: Di, 15.11.2011 16:44

Re: "Startformular" möglich?

Beitrag von chris_der_gitarrist »

Danke, R, ich hab deine Beispiel-Datenbank grade runtergeladen und geöffnet. Klappt super! Genau dieses Verhalten soll meine DB zeigen!
Die Menüs hab ich gebastelt, die Buttons darin tragen Makros um die "Untermenüs" zu öffnen...

Muss jetzt mal ein wenig studieren gehen ;) werd mich aber später noch mal melden, weil ich wahrscheinlich schon die nächste Hürde am Horizont sehe!

Euch allen einen schönen Tag!

MfG Chris
The answer, my friend, is just a candle in the wind! (---hl. Bob Elton)
chris_der_gitarrist
Beiträge: 4
Registriert: Di, 15.11.2011 16:44

Re: "Startformular" möglich?

Beitrag von chris_der_gitarrist »

So, fertig studiert für heute... ich hab den Code zum Formular-Öffnen:

Code: Alles auswählen

Sub open_Form
ThisDatabaseDocument.formdocuments.getbyname("Formularname Kunden verwalten").open
end sub 
und den zum Hauptmenü-öffnen

Code: Alles auswählen

sub open_main_form
oController= ThisDatabaseDocument.CurrentController
If NOT ( oController.isConnected() ) Then oController.connect()
ThisDatabaseDocument.formdocuments.getbyname("Hauptformularname").open
End sub
überall da rein gepackt, wo er rein muss, und es funktioniert einwandfrei!
Erstmal gibts keine weitere Hürde!

Ich bedanke mich!
The answer, my friend, is just a candle in the wind! (---hl. Bob Elton)
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: "Startformular" möglich?

Beitrag von F3K Total »

Mal ins Blaue geschossen,
Du hast Java 7 und nicht Java 6.xx -32 Bit. OpenOffice läuft nur mit 32 Bit und Base benötigt die Version 6 von Java.
Gruß R
vu2011
Beiträge: 6
Registriert: Di, 29.01.2013 11:01

Re: "Startformular" möglich?

Beitrag von vu2011 »

Hallo F3K Total,

ich habe deine Datenbank runtergeladen und probiert. Leider bekomme ich immer folgende Fehlermeldung:

Code: Alles auswählen

BASIC runtime error. Object variable not set
Dann wurde auf die Zeile im Makro:

Code: Alles auswählen

oController= ThisDatabaseDocument.CurrentController
beim Öffnen des Dokuments

oder

Code: Alles auswählen

ThisDatabaseDocument.FormDocuments.getbyname("Ordner").getbyname("Namen").open
beim Klicken auf den Schalter "Namen eingeben"

hingewiesen.

Ich habe durch Google gesucht, aber keine Lösung gefunden.

Dein Beispiel möchte ich in meiner Datenbank integrieren.

Ich suche Hilfe bein euch allen.

Danke.

anh

Ubuntu 12.04 (64 bit)
LibreOffice 3.5.7.2 (BuildID: 350m1)
LibreOffice - Java: java-6-openjdk-amd64/jre (Vendor Sun Microsystem Inc., Version 1.6.2_24)
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: "Startformular" möglich?

Beitrag von F3K Total »

Hallo,
ich kann den Fehler beim besten Willen nicht nachstellen.
Nicht mit AOo oder LO 3.5.7, 3.6.3 unter Windows und Linux.
Hast Du unter Extras/Optionen/LibreOffice.org/Java einen Haken bei "Eine Java Laufzeitumgebung verwenden" gesetzt?

Gruß R
vu2011
Beiträge: 6
Registriert: Di, 29.01.2013 11:01

Re: "Startformular" möglich?

Beitrag von vu2011 »

Danke.

Ja, der Haken ist gesetzt.

Ich bin nicht sicher, ob der Fehler bei mir mit den JRE-Version (32 bit oder 64 bit) zusammenhängt.

Ich habe versucht, eine andere Version von JRE in LibreOffice einzustellen. Das klappt bei mir aber nicht, da nur eine Version (1.6.0_24, nicht 1.6.2_24 - falsche Angabe) zu finden ist, obwohl eine weitere Version (openjdk-6-jre:i386) ebenfalls installiert wurde.

Brauche ich eine JRE - 32bit Version für Base ?

Bem.: bei mir laufen 2 Datenbanken (ohne Makro) ohne Probleme.
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: "Startformular" möglich?

Beitrag von F3K Total »

Nach meiner Info benötigt LO/AOo 32-bit Java 6, kann ich aber nicht ausprobieren, den ich habe keinen 64 - Bit Rechner
vu2011
Beiträge: 6
Registriert: Di, 29.01.2013 11:01

Re: "Startformular" möglich?

Beitrag von vu2011 »

ich habe java-6-openjdk-i386 (32 bit version) installiert. Aber, irgendwie kann ich Extras/Optionen/LibreOffice.org/Java nicht mit dieser 32bit-Version einstellen.

Meinst du Java 6 für LibreOffice allgemein oder speziell für Base in Zusammenhang mit Makros?

Wie gesagt, laufen 2 Datenbanken bei mir. D.h., JRE ist doch lauffähig oder nicht ? Ohne JRE läuft Base nicht.
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: "Startformular" möglich?

Beitrag von F3K Total »

ich meine Java6 mit BASE. Und ja, wenn die Datenbanken laufen, sollte es mit deinem Java kein Problem geben. Kannst Du die Formulare in der DB von mir von Hand öffnen?
vu2011
Beiträge: 6
Registriert: Di, 29.01.2013 11:01

Re: "Startformular" möglich?

Beitrag von vu2011 »

Ja, ich kann deine Formular von Hand öffnen. Allerdings hat das Öffnen des Hauptformulars eine Fehlermeldung:

Code: Alles auswählen

BASIC runtime error. Object variable not set
.

Das Öffnen des Formulars "Namen" ist ok.
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: "Startformular" möglich?

Beitrag von F3K Total »

Hi,
versuche mal Folgendes:
bei geschlossenen Formularen, in der BASE-Ansicht: Extras/Anpassen/Ereignisse, setze das Makro OpenMainForm von "Dokument öffnen" um auf "Ansicht wurde erzeugt".
Antworten