Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


Hallo Robert,

Jetzt habe ich wenigstens verstanden, was mit externen Datenbank-Formularen gemeint ist.

Du schreibst:
Base-Dateien haben für unbedarfte Nutzer den
Nachteil, dass dort eben nicht die Datenbank unsichtbar im Hintergrund
werkelt, sondern die gesamte Arbeitsfläche zur Erstellung von
Tabellen, Abfragen, Formularen und Berichten erscheint. Was aber, wenn
ein Benutzer grundsätzlich in einer Datenbank nur Daten in einem
einzigen Formular sehen und ändern soll. Der sollte doch nur genau das
erst einmal angeboten bekommen.
Das kann man doch aber auch erreichen, indem man die Base-Datei unsichtbar lädt. Dazu braucht man nur ein kleines, leeres Startdokument, bei man dem Ereignis z.B. "Dokument öffnen" ein Makro zuweist, das folgenden Code enthält:

   URL = ...
   ThisComponent.CurrentController.Frame.ContainerWindow.setVisible("FALSE")
   'sonst blitzt das Dok. kurz auf
   oParmsSour(0).Name = "Hidden"
   oParmsSour(0).Value = TRUE
   oParmsSour(1).name = "MacroExecutionMode" 'das wird wahrscheinlich
   auch gebraucht
   oParmsSour(1).value =
   com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE_NO_WARN
   BaseDoc = StarDesktop.loadComponentFromURL(URL, "_blank",0,
   oParmsSour() )
   ThisComponent.close(TRUE)        'damit ist das Start-Dok. gleich
   wieder weg

Man muss da nur aufpassen, dass man eine Kopie dieses Dokuments hat, bei der der Code inaktiv ist (gleich ein exit sub zu Beginn, oder bei Hidden FALSE oder das Makro nicht dem Ereignis zugewiesen), sonst kommt man an das Dok. nicht mehr heran und muss sich den Code neu überlegen und testen. Aus dieser Vorlage macht man dann das aktive Startdokument und speichert es unter anderem Namen.

Beim Schließen des "Formular-Dokuments" (so nenne ich das immer, weil Formular doppeldeutig ist) schließt man dann auch den parent (close(True) und/oder dispose, ich bin mir nicht mehr ganz sicher, meine Anwendung, in der ich das mache, ist aus anderen Gründen derzeit nicht lauffähig).

Ich habe nun zwar noch nie ein Writer-Formular genutzt, weil ich keinen Bedarf dazu sah, aber ich denke doch, dass es mit Base nicht schwieriger ist; ich möchte annehmen, dass man mit Base sogar Vorteile hat.

Wer weiß, ob und wann der "Bug" (ich würde es als Enhancement klassifizieren, LibO kann ja wohl nicht selbst entscheiden, ob der gelbe Balken erscheinen soll oder nicht, also geht es darum, eine Methode zum Abschalten zu haben ) behandelt wird. Vielleicht ist mein Vorschlag eine Alternative.

Gruß

Gerhard


Am 27.11.2016 um 15:46 schrieb Robert Großkopf:


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Gerhard,
Im Übrigen verstehe ich das Problem noch nicht genau. Was sind
"externe Datenbank-Formulare"? Sind damit Formulare gemeint, die
auf eine externe Datenbank, also nicht die eingebettete HSQLDB
zugreifen? (Die interne DB wäre für die geschilderten
Aufgabenstellung auch wirklich nicht geeignet.)
Nein, das sind Formulare, die im Writer geschrieben sind und auf die
*.odb-Datei zugreifen - eben genau wie die internen Formulare von
Base. In Base kommt ja auch diese Meldung nicht. Nehme ich aber so ein
Formular als externes Formulare, mit dem ich auf eine *.odb-Datei
zugreife, dann genau erscheint die Meldung. Und das stört natürlich.
Genauso wie das eben bei einem internen Formular stören würde. Die
Meldung muss also irgendwo ausblendbar sein, sonst würde sie ja bei
dem internen Formular genauso auftauchen.

Verwendest du vielleicht Writer-Dokumente mit Formularen? Da kenne
ich mich nicht so aus. Ich nutze immer Base, weil da die
Datenbankanbindung schöner ist. Vielleicht ist dann eine Umstellung
auf Base sinnvoll.
Das Ganze läuft mit Base. Base-Dateien haben für unbedarfte Nutzer den
Nachteil, dass dort eben nicht die Datenbank unsichtbar im Hintergrund
werkelt, sondern die gesamte Arbeitsfläche zur Erstellung von
Tabellen, Abfragen, Formularen und Berichten erscheint. Was aber, wenn
ein Benutzer grundsätzlich in einer Datenbank nur Daten in einem
einzigen Formular sehen und ändern soll. Der sollte doch nur genau das
erst einmal angeboten bekommen. Und genau das machen externe Formulare.

Im übrigen gibt es noch einen Bereich, in dem ich gerne auf das Popup
verzichten kann. Starte einfach einmal einen Bericht, der mit dem
ReportBuilder erstellt wurde. Nachträgliche Bearbeitung sollte da
möglichst nicht erwünscht sein. Das Popup erscheint natürlich auch da.

Gruß

Robert
- -- Homepage: http://robert.familiegrosskopf.de
LibreOffice Community: http://robert.familiegrosskopf.de/map_3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJYOvHOAAoJELDKYwaoS9AIAKcP/1mgjrWD5nC+0YpMGb9Pv3ue
ug7Qp8pnBnyJhxqSeRhXzRbO6qN4syBGRL7qioXDSZ07A9NfsUQe3ROh3eRKfOL9
3sk7Cqy6nhpWC6Ht7unLJXiazzUyMW7gqYAG9H+G8SQsvXMp1hNRp9eSO1xRApYs
AcMhrYQTn9u4v2Ag5ciHoWaPptFG+8BfllotCCZGmJbyAeLAvdT8bKOh/CZrUsxI
9KjD9UvuuPqH7t2KAHC0NdAlpoj8gWrRB7BYqI+hFkqQfB5hjthg9fE5cc2rXA3B
CoLJfmQio/Dk9iO7sx+iSNANQsQhHaTsNa1+37fpx8a4wdnobl/JDZjKPMIAFo7G
BLSZhHpx7IHvwJk1MrDHCqn7nayRjA5n0Vlky+Bklpm95vTWZnCvX6deIYb/E8Vr
ZffAi59Ak9E6Scb/B+faIBNWWWwMSj8NtS/MKIIvQyHavL/vH/Ex/kAEZtnhjU3w
+AT0oln0WiJwD8NY+SGxmEnReItpm4DmhVYl84Fx43WRDkUz4eltN3+Y6qB3+MXf
AYVZud9LEvCgfiX9uU/xX5yiJpn9cvd1B9m1QXkZLQ9Ywkaf6FSHaD/fhbwZtoDz
j14hbrN/fpWbU1aZbvnoURDTrG/+7HiRh8CglZXRHJf1qtG6hvmyl7vCD7B3HGXz
9sGyccjZwbS7g5t2pSJ+
=ypGM
-----END PGP SIGNATURE-----



--
Liste abmelden mit E-Mail an: discuss+unsubscribe@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.