Seite 1 von 3

"Startformular" möglich?

Verfasst: Di, 15.11.2011 16:58
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

Re: "Startformular" möglich?

Verfasst: Di, 15.11.2011 18:33
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

Re: "Startformular" möglich?

Verfasst: Di, 15.11.2011 18:49
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

Re: "Startformular" möglich?

Verfasst: Di, 15.11.2011 22:14
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

Re: "Startformular" möglich?

Verfasst: Mi, 16.11.2011 08:44
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

Re: "Startformular" möglich?

Verfasst: Mi, 16.11.2011 14:17
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!

Re: "Startformular" möglich?

Verfasst: Di, 01.01.2013 01:18
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

Re: "Startformular" möglich?

Verfasst: Di, 29.01.2013 11:22
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)

Re: "Startformular" möglich?

Verfasst: Di, 29.01.2013 17:20
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

Re: "Startformular" möglich?

Verfasst: Di, 29.01.2013 21:26
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.

Re: "Startformular" möglich?

Verfasst: Di, 29.01.2013 21:29
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

Re: "Startformular" möglich?

Verfasst: Di, 29.01.2013 21:53
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.

Re: "Startformular" möglich?

Verfasst: Di, 29.01.2013 21:59
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?

Re: "Startformular" möglich?

Verfasst: Di, 29.01.2013 22:05
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.

Re: "Startformular" möglich?

Verfasst: Di, 29.01.2013 22:26
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".