Seite 1 von 2
Formular extern machen funktioniert nicht
Verfasst: Di 23. Jan 2024, 16:43
von Freischreiber
Hallo Robert,
nächstes Problem: ich möchte versuchsweise ein Formular auslagern, als eigene .odt-Datei.
Ich speichere also eine Kopie des entsprechenden Base-Formulars als odt-Datei, öffne den Formularnavigator und wähle unter Formulareigenschaften - Daten - Datenquelle die schon angemeldete Datenbank aus.
Im Handbuch unter Datenbankanbindung - Externe Formulare steht dazu:
Lediglich die Datenquelle muss bei externen Formularen zusätzlich ausgewählt werden.
Geschieht dies mit dem Button …… rechts von dem Listenfeld zur Datenquelle, so wird der
Dateibrowser geöffnet. Eine beliebige *.odb-Datei kann ausgewählt werden. Anschließend steht
in dem Feld zur Datenquelle ein Link, der mit der Bezeichnung «file:///» beginnt.
Wird stattdessen nur im Listenfeld gesucht, so stehen dort die bereits in LibreOffice registrier-
ten Datenbanken unter dem registrierten Namen zur Verfügung.
Es klappt aber nicht. Das Formular bleibt leer.
Was mache ich falsch?
Gruß
Freischreiber
Re: Formular extern machen funktioniert nicht
Verfasst: Di 23. Jan 2024, 17:17
von F3K Total
Hallo Freischreiber,
ich bin zwar nicht Robert, denke aber dir trotzdem helfen zu können.
Nach der Datenquelle muss auch noch der Inhalt eingetragen werden, siehe Bild:

- FS1.png (44.18 KiB) 2228 mal betrachtet
Gruß R
Re: Formular extern machen funktioniert nicht
Verfasst: Di 23. Jan 2024, 17:35
von Freischreiber
Hallo R!
Ja, das hat gefehlt, vielen Dank.
Aber nicht nur das: offenbar muß ich jedesmal nach Formularstart erstmal den Entwurfsmodus ausschalten, sonst wird nämlich auch nichts angezeigt. Und die Performance ist noch trauriger als im Base-eigenen Formular... ok, war ein Versuch.

Re: Formular extern machen funktioniert nicht
Verfasst: Di 23. Jan 2024, 18:52
von F3K Total
Hallo Freischreiber,
F3K Total hat geschrieben: ↑Di 23. Jan 2024, 17:17
offenbar muß ich jedesmal nach Formularstart erstmal den Entwurfsmodus ausschalten
Nein! Das ist eine Einstellungssache. Meine externen Fomulare starten normal und laden sofort nach dem Öffnen Daten.
Bei der Performance stelle ich keinen Unterschied fest, ausser, dass ich weniger klicken muss, weil ich die .odb nicht öffnen muss.
Ich kann externe Formulare empfehlen.
Ein weiterer Vorteil: Man kann ohne Makro von einem Formular zum anderen springen, per Schaltfläche, Aktion Dokument/Website öffnen.
Gruß R
Re: Formular extern machen funktioniert nicht
Verfasst: Mi 24. Jan 2024, 09:42
von Freischreiber
Nein! Das ist eine Einstellungssache. Meine externen Fomulare starten normal und laden sofort nach dem Öffnen Daten.
Hallo R,
aber was läuft bei mir dann schief? Ich starte das Formular, muß jedesmal den Entwurfsmodus ausschalten, dann kommen irgendwann die Daten, und beim Schließen werde ich aufgefordert zu speichern. Was ich tue.
Beim nächsten Mal wieder: Entwurfsmodus eingeschaltet.
Gruß
Freischreiber
Re: Formular extern machen funktioniert nicht
Verfasst: Mi 24. Jan 2024, 11:04
von F3K Total
AUSSCHALTEN:

- FS.png (11.49 KiB) 2194 mal betrachtet
Gruß R
Re: Formular extern machen funktioniert nicht
Verfasst: Mi 24. Jan 2024, 16:28
von Freischreiber
F3K Total hat geschrieben: ↑Mi 24. Jan 2024, 11:04
AUSSCHALTEN:
FS.png
Gruß R

Das funktioniert tatsächlich. Danke. Und ich vermute, dieses Knöpfchen hat keine Entsprechung im Menüsystem?
Ich habe vor deiner Antwort noch das versucht, was in Roberts Handbuch weiter steht:
Die so erstellten Formulare werden standardmäßig bei jedem neuen Öffnen der Datei im
Bearbeitungsmodus und nicht, wie in Base, schreibgeschützt geöffnet. Um eine versehentliche
Änderung des Formulars zu vermeiden kann über Datei → Eigenschaften → Sicherheit die Datei
schreibgeschützt geöffnet werden.
Dieser Schreibschutz hat mein erstes Versuchsformular zerschossen. Es öffnet nur noch gesperrt, auch das Menü zum Wiederausschalten des Schreibschutzes ist ausgegraut.
Was mir bei diesem Versuchsformular wieder einmal auffällt: es basiert auf einer simplen Tabelle mit ca. 2000 Zeilen und 9 Spalten. Die Tabelle selbst oder eine "Abfrage" (select * from tabelle ohne where-Klausel) öffnet sich fast augenblicklich. Aber das Formular zu öffnen, das nur diese Tabelle oder die Abfrage abbildet, dauert fast 20 Sekunden, beim Base-eigenen Formular vielleicht 15 Sekunden.
Das heißt doch, nicht die HSQL-Datenbank hat ein Geschwindigkeitsproblem, sondern die Formulare.
Re: Formular extern machen funktioniert nicht
Verfasst: Mi 24. Jan 2024, 17:11
von F3K Total
Moin,
Freischreiber hat geschrieben: ↑Mi 24. Jan 2024, 16:28
Abfrage abbildet, dauert fast 20 Sekunden, beim Base-eigenen Formular vielleicht 15 Sekunden.
Das heißt doch, nicht die HSQL-Datenbank hat ein Geschwindigkeitsproblem, sondern die Formulare.
Ich wollte es mal ausprobieren, habe mir eine einfache DB mit 3000 Datensätzen, und ein externes Formular dazu gebaut, findet sich, samt Video, im Anhang.
Nach Klick auf das Formular habe ich nach etwa 4 Sekunden alles auf dem Schirm.
Das heißt doch, weder die HSQL-Datenbank, noch die Formulare, sondern eher dein Rechner hat ein Geschwindigkeitsproblem.
Gruß R
Re: Formular extern machen funktioniert nicht
Verfasst: Mi 24. Jan 2024, 18:46
von Freischreiber
Hallo R,
Nach Klick auf das Formular habe ich nach etwa 4 Sekunden alles auf dem Schirm.
Ja, ich auch. Das ist ja auch
deine Datenbank und nicht meine. Die hat ja auch ein Profi gemacht.
Nein, die enthält eben nur eine Tabelle, und meine DB enthält inzwischen viele Tabellen, viele Formulare, viele Abfragen. Und ich vermute, Base hält das alles gleichzeitig im RAM, und davon habe ich tatsächlich etwas wenig.
Das heißt doch, weder die HSQL-Datenbank, noch die Formulare, sondern eher dein Rechner hat ein Geschwindigkeitsproblem.
Nein, meine SQL-Abfrage hatte ein Geschwindigkeitsproblem. Die Ursache für den großen Zeitunterschied zwischen Tabelle und Formular habe ich gefunden. Im Formular war eine Spalte nicht direkt aus der Tabelle, sondern aus einer zweifachen JOIN-Abfrage mit konkateniertem Text. Diese Abfrage hat ein sinnloses "if null" enthalten. Seit das weg ist, braucht die ganze Abfrage nur noch zwei statt acht Sekunden. Und das Formular zeigt entsprechend schneller die Daten an. Sorry, mein Fehler.
Vielen Dank für deine Hilfe!
Re: Formular extern machen funktioniert nicht
Verfasst: Sa 27. Jan 2024, 10:54
von Freischreiber
Zusatzfrage:
Kann man externe Formulare wieder als interne Formulare integrieren? Dann könnte man so neue Formulare an einer Testdatenbank testen und sie hinterher übernehmen.