externes Formular
Moderator: Moderatoren
externes Formular
Hallo liebes Forum,
ich meine kleine Datenbank ist jetzt ziemlich fertig. Jetzt wollte ich das der Bediener die Tabellen , Abfragen und Formulare in der Datenbank sieht.
Ich dachte mir über ein externes Formular würde so etwas funktionieren.
Die Datenbank ist eine registrierte Datenbank. Das Startformular wurde kopiert und eine odt - Datei erstellt und auf den Desktop verlegt . Die Verbindung zur Datenbank über das externe Formular funktioniert auch. Die Buttons zum wechseln der Formulare klappt auch wunderbar , selbst bei geschlossener Datenbank
Woran kann es liegen, das sie Formulare sich nicht füllen, sondern nur wenn die Datenbank geöffnet ist
Liebe Grüße
Schmedt
ich meine kleine Datenbank ist jetzt ziemlich fertig. Jetzt wollte ich das der Bediener die Tabellen , Abfragen und Formulare in der Datenbank sieht.
Ich dachte mir über ein externes Formular würde so etwas funktionieren.
Die Datenbank ist eine registrierte Datenbank. Das Startformular wurde kopiert und eine odt - Datei erstellt und auf den Desktop verlegt . Die Verbindung zur Datenbank über das externe Formular funktioniert auch. Die Buttons zum wechseln der Formulare klappt auch wunderbar , selbst bei geschlossener Datenbank
Woran kann es liegen, das sie Formulare sich nicht füllen, sondern nur wenn die Datenbank geöffnet ist
Liebe Grüße
Schmedt
Re: externes Formular
Hallo Schmedt,
Dein Text wird mir nicht ganz klar. Du wolltest vermutlich durch ein externes Formular *verhindern*, dass Tabellen, Abfragen und Formulare sichtbar sind, oder?
Die Verbindung zur Datenbank von dem externen Formular heraus klappt ja anscheinend. Du siehst die Daten im externen Formular. Mit dem Formular erzeugst Du eine Verbindung zur Datenbank. Öffnest Du jetzt die Datenbank selbst, so greift diese auf die gleiche Verbindung zu. Schließt Du diese Datenbank, so kann es vorkommen, dass genau diese Verbindung dann auch geschlossen wird. Das habe ich jetzt nicht getestet, da ich hier keine DB mit externen Datenbanken gerade verfügbar habe. Formulare, auch solche innerhalb der Datenbank, sind erst einmal von so etwas unberührt. Nur die Datenquelle selbst, also die interne HSQLDB, ist mit dem Schließen der Datenbankdatei geschlossen worden.
Klappt denn alles wie gewünscht wenn Du die Datenbankdatei selbst nicht anrührst und nur mit dem externen Formular darauf zugreifst?
Gruß
Robert
Dein Text wird mir nicht ganz klar. Du wolltest vermutlich durch ein externes Formular *verhindern*, dass Tabellen, Abfragen und Formulare sichtbar sind, oder?
Die Verbindung zur Datenbank von dem externen Formular heraus klappt ja anscheinend. Du siehst die Daten im externen Formular. Mit dem Formular erzeugst Du eine Verbindung zur Datenbank. Öffnest Du jetzt die Datenbank selbst, so greift diese auf die gleiche Verbindung zu. Schließt Du diese Datenbank, so kann es vorkommen, dass genau diese Verbindung dann auch geschlossen wird. Das habe ich jetzt nicht getestet, da ich hier keine DB mit externen Datenbanken gerade verfügbar habe. Formulare, auch solche innerhalb der Datenbank, sind erst einmal von so etwas unberührt. Nur die Datenquelle selbst, also die interne HSQLDB, ist mit dem Schließen der Datenbankdatei geschlossen worden.
Klappt denn alles wie gewünscht wenn Du die Datenbankdatei selbst nicht anrührst und nur mit dem externen Formular darauf zugreifst?
Gruß
Robert
Re: externes Formular
Hallo Robert ,
Das geöffnete Formular aus der Datenbank, welches ich mit dem externen Formular öffne ist gefüllt . ( funktioniert)
Wenn ich jetzt mit dem geöffneten Formular aus der Datenbank ein weiteres Formular (aus der Datenbank) öffnen möchte geht es zwar, es ist aber nicht gefüllt.
oder gibt es weitere Möglichkeiten, das der Benutzer die Tabellen, Abfragen, und Formulare nicht sieht?
Liebe Grüße Schmedt
ja genau das wollte ich .Du wolltest vermutlich durch ein externes Formular *verhindern*, dass Tabellen, Abfragen und Formulare sichtbar sind, oder?
ja dann klappt esKlappt denn alles wie gewünscht wenn Du die Datenbankdatei selbst nicht anrührst und nur mit dem externen Formular darauf zugreifst?
Das geöffnete Formular aus der Datenbank, welches ich mit dem externen Formular öffne ist gefüllt . ( funktioniert)
Wenn ich jetzt mit dem geöffneten Formular aus der Datenbank ein weiteres Formular (aus der Datenbank) öffnen möchte geht es zwar, es ist aber nicht gefüllt.
oder gibt es weitere Möglichkeiten, das der Benutzer die Tabellen, Abfragen, und Formulare nicht sieht?
Liebe Grüße Schmedt
Re: externes Formular
Hallo Schmedt,
Du öffnest also mit dem Formular von außen ein Formular, das in der Datenbank liegt?
Anschließend öffnest Du von diesem Formular aus ein weiteres Formular, das auch in der Datenbank liegt?
Hast Du einmal aus dem Handbuch das Kapitel "Druck von Berichten aus einem externen Formular heraus" gelesen? Dort wird zwar ein Bericht gestartet, könnte aber auch ein Formular sein. Und natürlich müsste das Formular nicht anschließend direkt geschlossen werden.
Bei dem entsprechenden Makro wird die Datenbank einfach auf "invisible" geschaltet.
Ansonsten musst Du hier mitteilen, wie Du die Formulare ansteuerst, dann das wird ja bei Dir nicht ohne Makros laufen - und da scheint dann die Verbindung zur Datenbank nicht mehr da zu sein, wenn Du das erste Formular schließt, oder?
Gruß
Robert
Du öffnest also mit dem Formular von außen ein Formular, das in der Datenbank liegt?
Anschließend öffnest Du von diesem Formular aus ein weiteres Formular, das auch in der Datenbank liegt?
Hast Du einmal aus dem Handbuch das Kapitel "Druck von Berichten aus einem externen Formular heraus" gelesen? Dort wird zwar ein Bericht gestartet, könnte aber auch ein Formular sein. Und natürlich müsste das Formular nicht anschließend direkt geschlossen werden.
Bei dem entsprechenden Makro wird die Datenbank einfach auf "invisible" geschaltet.
Ansonsten musst Du hier mitteilen, wie Du die Formulare ansteuerst, dann das wird ja bei Dir nicht ohne Makros laufen - und da scheint dann die Verbindung zur Datenbank nicht mehr da zu sein, wenn Du das erste Formular schließt, oder?
Gruß
Robert
Re: externes Formular
Hallo Robert
diese Makro steht bei mir unter "Meine Makros"
das Makro in der Datenbank wo ich die Formulare wechsele ist
sobald ich das Formular wechsele habe ich keine Verbindung zur Datenbank
Liebe Grüße
Schmedt
Code: Alles auswählen
'Sub Start_oeffnen
DIM oDatasource AS OBJECT
DIM oConnection AS OBJECT
oDatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
oDatasource = oDatabaseContext.getByName("registrierter Datenbankname ")
oConnection = oDatasource.GetConnection("","")
dim Args(1) as new com.sun.star.beans.PropertyValue
Args(1).name = "OpenMode"
Args(1).value = "open"
Args(0).name = "ActiveConnection"
Args(0).value = oConnection
oForms = oDataSource.DataBaseDocument.getFormDocuments
oForms.loadcomponentfromURL( "Start","_Default", 63,Args())
das Makro in der Datenbank wo ich die Formulare wechsele ist
Code: Alles auswählen
SUB Zu_Formular_von_Formular(oEvent AS OBJECT)
DIM stTag AS String
stTag = oEvent.Source.Model.Tag
aForm() = Split(stTag, ",")
ThisDatabaseDocument.FormDocuments.getByName( Trim(aForm(0)) ).open
ThisDatabaseDocument.FormDocuments.getByName( Trim(aForm(1)) ).close
END SUB
genau so ist esAnsonsten musst Du hier mitteilen, wie Du die Formulare ansteuerst, dann das wird ja bei Dir nicht ohne Makros laufen - und da scheint dann die Verbindung zur Datenbank nicht mehr da zu sein, wenn Du das erste Formular schließt, oder?
sobald ich das Formular wechsele habe ich keine Verbindung zur Datenbank
Liebe Grüße
Schmedt
Re: externes Formular
Hallo Schmedt,
ohne das jetzt zu testen:
Du baust die Verbindung zur Datenbank auf. Du startest mit dieser Verbindung ein Formular. Die Verbindung wird mit dem Objekt des Formulars weitergegeben. Dann öffnest Du von diesem Formular ein neues Formular und schließt das alte Objekt - mit der Verbindung.
Was passiert, wenn Du stattdessen erst einmal das Schließen des vorherigen Formulars auskommentierst?
Was passiert, wenn Du zuerst einmal die Datenbank über loadComponentFromURL lädst, anschließend die Verbindung aufbaust und dann das Formular lädst - so wie im Handbuch bei dem Bericht?
Poste gegebenenfalls ein Beispiel.
Gruß
Robert
ohne das jetzt zu testen:
Du baust die Verbindung zur Datenbank auf. Du startest mit dieser Verbindung ein Formular. Die Verbindung wird mit dem Objekt des Formulars weitergegeben. Dann öffnest Du von diesem Formular ein neues Formular und schließt das alte Objekt - mit der Verbindung.
Was passiert, wenn Du stattdessen erst einmal das Schließen des vorherigen Formulars auskommentierst?
Was passiert, wenn Du zuerst einmal die Datenbank über loadComponentFromURL lädst, anschließend die Verbindung aufbaust und dann das Formular lädst - so wie im Handbuch bei dem Bericht?
Poste gegebenenfalls ein Beispiel.
Gruß
Robert
Re: externes Formular
Hallo Robert,
Ich habe mal ne Beispieldatei angehangen , mit dem externen Formular,
Irgendwie will es einfach nicht funktionieren
Vielleicht geht es ja bei euch.
Liebe Grüße
Schmedt
Ich habe mal ne Beispieldatei angehangen , mit dem externen Formular,
Irgendwie will es einfach nicht funktionieren
Vielleicht geht es ja bei euch.
Liebe Grüße
Schmedt
- Dateianhänge
-
- Test0805.odt
- (10.4 KiB) 179-mal heruntergeladen
-
- Test0805.odb
- (54.96 KiB) 170-mal heruntergeladen
Re: externes Formular
Hallo liebes Forum,
ich habe es mitlerweise hinbekommen, auch die Formulare werden gefüllt.
Das einzige was leider noch nicht klappt ist, das wenn ich ein Formular öffne sich das bereits geöffnete schließt
So wie es beim MAkro SUB Zu_Formular_von_Formular ging.
Könnt Ihr euch das mal bitte ansehen??
Vielen Dank schonmal
Liebe Grüße
Schmedt
ich habe es mitlerweise hinbekommen, auch die Formulare werden gefüllt.
Das einzige was leider noch nicht klappt ist, das wenn ich ein Formular öffne sich das bereits geöffnete schließt
So wie es beim MAkro SUB Zu_Formular_von_Formular ging.
Könnt Ihr euch das mal bitte ansehen??
Vielen Dank schonmal
Liebe Grüße
Schmedt
- Dateianhänge
-
- Test0508.odb
- (55.73 KiB) 182-mal heruntergeladen