Seite 1 von 2

[gelöst] Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: So, 16.04.2017 19:58
von Ennstaler
Wenn ich meine Datenbank öffne und zu dem Reiter "Formulare" gehe, dann funktionieren die angelegten Formulare genau so wie man es will.

Wenn ich zB das Formular für die Eingabe der Datensätze extern anlege, also in ein Writer Dokument, dann werden keine Daten mehr eingetragen. Wenn ich aber die Datenbankdatei parallel dazu öffne, dann werden die Daten auch vom Writer-Formular in die Datenbanktabelle eingetragen.

Ich hab jetzt stundenlang herumprobiert, komme aber nicht dahinter, warum das so ist.

Die Daten sind auch korrekt eingetragen im Writer Formular. Habe es auch schon mit file:///C:/Users.. versucht - dasselbe Ergebnis. Das externe Formular liegt auch im gleichen Verzeichnis wie die Datenbank.
screen.png
screen.png (48.72 KiB) 9493 mal betrachtet
Sorry, dass ich so viel Hilfe brauch, ich komm mir selber schon ganz doof vor.
Beste Grüße, Peter

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: So, 16.04.2017 21:08
von F3K Total
Hast du die Datenbank im Menü Extras/Optionen/LibreOffice Base/Datenbanken eingetragen?
Gruß R

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 06:55
von Ennstaler
Guten Morgen;
Ja, die Datenbank ist angemeldet, auch die neueste JAVA Umgebung ist installiert. Alles andere klappt ja super. Auch sämtliche Ausgaben in Calc Dateien über die Datenquelle funktioniert einwandfrei (mit Verknüpfung auf ein 2. Tabellenblatt, damit die Formatierung erhalten bleibt und mit einem Makro kann man das automatisch aktualisieren - siehe Screenshot).
Nur das Writer Formular funktioniert nicht, die Verbindung besteht aber, denn wenn ich das Writerformular schließe, sehe ich kurz die
weiße lck.Datei von der Datenbank.

Hmmmm....

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 08:14
von F3K Total
Das finde ich sehr suspekt,
kannst du beides hochladen, Datenbank und externes Formular?
Dann können wir mal probieren.
Gruß R

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 08:50
von Ennstaler
Ja, mach ich.
Noch was, die Datenbank stürzt oft ab (auch jetzt gerade 2x beim Speichern. Wäre schlecht, wenn die Datenbank im Echtbetrieb instabil ist und zb mitten bei der Punkte-Eingabe abschmiert.
bogenturnier.odb
(28.27 KiB) 182-mal heruntergeladen
formular-eingabe.odt
(11.02 KiB) 181-mal heruntergeladen
Beste Grüße,
Peter

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 09:01
von F3K Total
Hi, das Formular funktioniert bei mir einwandfrei, in beiden Fällen, Datenbank vorher geöffnet, oder nicht. Allerdings hast du in seinen Eigenschaften Nur Daten eingeben = Ja eingestellt, und deswegen werden vorhandene Daten nicht angezeigt. Hilft das?
EDIT: Habe es unter Windows 7 mit Apache Open Office 4.1.3, LO 5.2.6 und LO 5.3.2 getestet.
EDIT 2: Ist bei mir nicht abgestürzt, wenn du sicherer sein möchtest, empfehle ich dir die Datenbank in Front- und Backend zu trennen, siehe mein Videotutorial Nr. 6, unbedingt an einer Kopie testen.
Gruß R

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 09:13
von Ennstaler
Langsam vergeht mir nach Wochen die Lust an diesem Projekt...
Jetzt ist es so, dass die Datenbank jedesmal abstürzt beim Schließen.

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 09:22
von F3K Total
Das wäre sehr schade und ist unnötig, ich kann dir versichern, dass ich .odb Dateinen habe, die seit Jahren stabil laufen.
Eine mit über 28000 Datensätzen. Das ist zwar wenig, aber im Vergleich zu deinen 50 eher viel.
Ist es möglich, dass durch das viele Probieren auf deinem Rechner mehrere Prozesse soffice.bin laufen? Dann passiert sowas ...
Gruß R

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 09:33
von Ennstaler
Ich fände es auch sehr schade, vor allem hab ich so viel dazugelernt...

Ich weiß nicht, ob das was zu tun hat mit den Einfrieren der Datenbank:

Ich hatte mal vor Tagen die Class Path hasldb.jar nach dieser Anleitung installiert.
http://robert.familiegrosskopf.de/openo ... HSQLDB.pdf
Hab das Ganze mal versucht extern. Hat auch super geklappt.
Wollte ich aber erst wieder auf extern umstellen, wenn ich mit der Erstellung fertig bin.

Habe jetzt das hasldb.jar entfernt und nun stürzt auch die Datenbank nicht mehr ab.
Beste Grüße,
bei uns schneits schon wieder....Peter

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 09:40
von Ennstaler
Leider hilft das Umstellen auf "Daten anzeigen" nicht - es sollen im Formular auch keine Daten angezeigt werden - dieses Formular soll nur zum Neuanlegen von Datensätzen in der Tabelle "turnier_stammdaten" dienen... und das funktioniert bei mir leider nur, wenn die Base-Datei geöffnet ist.

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 09:44
von F3K Total
Ich habe keine Ahnung, wo der Fehler liegen könnte, da es bei mir klappt, welches Betriebssystem hast du?
Sieht nach Windows 10 aus?
Gruß R

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 09:52
von Ennstaler
Ja genau, ich hab Windows 10.
screen.png
screen.png (43.94 KiB) 9393 mal betrachtet
Kann es sein, dass in der Grundeinstellung in Libre Office was falsch ist - so mit Schreibrechten oder ähnliches?

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 10:08
von F3K Total
Hi,
es tut mir Leid, ich kann dazu nichts sagen, ausser, dass es bei mir sowohl unter Windows 7 als auch unter Linux Mint funktioniert. Mit eingebetteter Datenbank und mit gesplitteter. Wenn, tippe ich eher auf Schreibrechte unter Windows 10.
Vielleicht kann ein anderer User, der Windows 10 verwendet, helfen?
Oder du freundest dich mit dem Gedanken an, doch das interne Formular zu verwenden. Es gibt die Möglichkeit, es beim Start der .odb per Makro direkt zu
öffnen und in den Vordergrund zu holen.
Gruß R

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 10:27
von F3K Total
Hier ist so ein Makro,
dass man in der .odb-Datei unter Extras/Anpassen -> Reiter Ereignisse, an das Ereignis Dokument öffnen hängen kann. Es legt die .odb in die Taskleiste und öffnet das Formular Neuer_Datensatz.

Code: Alles auswählen

sub S_open_Form
    oCon = ThisDatabaseDocument.CurrentController
    If NOT ( oCon.isConnected() ) Then oCon.connect()
    oframe = ocon.frame
    owindow = oframe.getContainerWindow()
    If Not IsNull(oWindow) Then
        oWindow.IsMinimized = True
    End If
    oDocument = ThisDatabaseDocument.formdocuments.getbyname("Neuer_Datensatz").open
    oController = oDocument.currentController
    oframe 	= oController.Frame
    owindow = oframe.getContainerWindow()
    If Not IsNull(oWindow) Then
        oWindow.IsMaximized = True
	    'oWindow.IsMinimized = True
    End If
end sub
Gruß R

Re: Externes Formular funktioniert nur bei geöffnerter Base Datei

Verfasst: Mo, 17.04.2017 11:44
von Ennstaler
Vielen Dank, werde das später dann ausprobieren, danke.