Base und All-inkl.com
Moderator: Moderatoren
Re: Base und All-inkl.com
Bin gerade nicht Zuhause. Schreib mir was du brauchst und ich schicke es später. Mache bitte Screenshots, damit ich die anderen Tabellen für die Kasse auch hochladen kann.
Gruß
Sylvia
Gruß
Sylvia
Re: Base und All-inkl.com
Hallo Robert,
ich habe es jetzt gerade nochmal versucht. Warum auch immer, es hat geklappt.
Ich hatte nur eine Sache anders gemacht. phpmyAdmin im Hintergrund geschlossen. Ich hatte immer einen Tab offen, wo ich phpmyadmin laufen lies.
Keine Ahnung ob das der Grund war.
Ich würde jetzt gerne noch den Tabellennamen und Dateinamen ändern. Aus Tabelle _ Mitglied soll Mitgliederliste werden und aus Bernetal2 soll Bernetal werden. Kann aber nichts finden wie ich den Tabellennamen ändern kann. Den Dateinamen werde ich sicherlich in Windows ändern können. Hoffe das sich dann nichts verändert.
So, jetzt werde ich mich erstmal durch den Rest durcharbeiten.
Gruß
Sylvia
ich habe es jetzt gerade nochmal versucht. Warum auch immer, es hat geklappt.
Ich hatte nur eine Sache anders gemacht. phpmyAdmin im Hintergrund geschlossen. Ich hatte immer einen Tab offen, wo ich phpmyadmin laufen lies.
Keine Ahnung ob das der Grund war.
Ich würde jetzt gerne noch den Tabellennamen und Dateinamen ändern. Aus Tabelle _ Mitglied soll Mitgliederliste werden und aus Bernetal2 soll Bernetal werden. Kann aber nichts finden wie ich den Tabellennamen ändern kann. Den Dateinamen werde ich sicherlich in Windows ändern können. Hoffe das sich dann nichts verändert.
So, jetzt werde ich mich erstmal durch den Rest durcharbeiten.
Gruß
Sylvia
Re: Base und All-inkl.com
Hallo,
https://www.bluehost.com/help/article/r ... phpmyadmin
Oder
http://forum.jswelt.de/serverseitige-pr ... ennen.html
findet man schnell, wenn man bei google
eingibt.
Es gibt sowohl ein RENAME TABLE Kommando, wie auch
ALTER TABLE mit diversen Optionen.
In Base können solche Befehle über das bei Extras-SQL zu findende Fenster abgesetzt werden.
Für später: Da wird nur der Tabellenname geändert. Du musst eventuell alle sich darauf beziehenden Abfragen selbst anpassen. Also gründlich planen spart später viel Arbeit.
Mfg, Jörn
https://www.bluehost.com/help/article/r ... phpmyadmin
Oder
http://forum.jswelt.de/serverseitige-pr ... ennen.html
findet man schnell, wenn man bei google
Code: Alles auswählen
mysql tabelle umbenennen
eingibt.
Es gibt sowohl ein RENAME TABLE Kommando, wie auch
ALTER TABLE mit diversen Optionen.
In Base können solche Befehle über das bei Extras-SQL zu findende Fenster abgesetzt werden.
Für später: Da wird nur der Tabellenname geändert. Du musst eventuell alle sich darauf beziehenden Abfragen selbst anpassen. Also gründlich planen spart später viel Arbeit.
Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Re: Base und All-inkl.com
danke Jörn. Habe ich noch nicht probiert, mache ich die Tage. Ich stehe etwas unter Zeitdruck.
Es müsste alles eigentlich in 2 Wochen fertig sein. Doch die Verbindung zwischen Libre Office und PHPmyadmin stresst mich total.
Ich versuche eine Tabelle rüber zu kopieren und muß sie natürlich noch vor der Fertigstellung bearbeiten. Nach der Verarbeitung meldet er schon wieder Verbindungsabbruch.
Ich muß das irgendwie ändern. Mit den Abbrüchen kann ich wirklich nicht leben.
Wenn ich erst alles einfüge, dann kann ich die Feldtypen nachher nicht mehr ändern. Ich habe bis jetzt nur 1 Tabelle und ich weiß nicht wieviele ich noch brauche. Mind. 9 Tabellen noch. Dann noch die ganzen Verknüpfungen zu der 1. Tabelle. Den Serienbrief muß ich auch noch vorbereiten.
Eigentlich weiß ich gar nicht ob es so geht wie ich denke. Denn ich brauche ja auch Multiplikationen in der Tabelle und Additionen. Es müssen Pacht und Mitgliedsgebühren gezahlt werden, das ist für jeden Garten anders. Es sind auch verschiedene Gartenanlagen private und städtische. Für die privaten fällt keine Pacht an, für die städtischen schon. Ich bin mir nicht sicher, ob es nicht besser ist in Calc zu bleiben und einfach nur eine Serienbriefverknüpfung zu machen. Aber ich würde es schon gerne online sichern, daher die Datenbank.
Gruß
Sylvia
Es müsste alles eigentlich in 2 Wochen fertig sein. Doch die Verbindung zwischen Libre Office und PHPmyadmin stresst mich total.
Ich versuche eine Tabelle rüber zu kopieren und muß sie natürlich noch vor der Fertigstellung bearbeiten. Nach der Verarbeitung meldet er schon wieder Verbindungsabbruch.
Ich muß das irgendwie ändern. Mit den Abbrüchen kann ich wirklich nicht leben.
Wenn ich erst alles einfüge, dann kann ich die Feldtypen nachher nicht mehr ändern. Ich habe bis jetzt nur 1 Tabelle und ich weiß nicht wieviele ich noch brauche. Mind. 9 Tabellen noch. Dann noch die ganzen Verknüpfungen zu der 1. Tabelle. Den Serienbrief muß ich auch noch vorbereiten.
Eigentlich weiß ich gar nicht ob es so geht wie ich denke. Denn ich brauche ja auch Multiplikationen in der Tabelle und Additionen. Es müssen Pacht und Mitgliedsgebühren gezahlt werden, das ist für jeden Garten anders. Es sind auch verschiedene Gartenanlagen private und städtische. Für die privaten fällt keine Pacht an, für die städtischen schon. Ich bin mir nicht sicher, ob es nicht besser ist in Calc zu bleiben und einfach nur eine Serienbriefverknüpfung zu machen. Aber ich würde es schon gerne online sichern, daher die Datenbank.
Gruß
Sylvia
Re: Base und All-inkl.com
Hallo Sylvia,
ich habe das jetzt einmal mit meiner eigenen Webdatenbank bei Host Europe gestestet: Eine direkte Verbindung erstellt, angemeldet, dann nebenher eine Tabelle mit 20 Datensätzen in Calc erstellt, diese Datensätze kopiert und in die noch geöffnete Datenbank eingefügt. Der Assistent lief problemlos ab, die Tabelle war drin.
Dann bin ich hin gegangen und habe die Tabelle umbenannt. Auch kein Problem.
Jetzt habe ich nach diesem Text die Tabelle ansehen wollen - da war die Verbindung weg.
Ich teste jetzt noch die JDBC-Verbindung. Die direkte Verbindung ist so ohne Makro nicht brauchbar.
Mit der JDBC-Verbindung habe ich mehr Glück. Ich hatte auch dort eine Verbindungsunterbrechung. Eine Tabelle erschien nicht mehr, nachdem ich zwischendurch andere Sachen auf dem Rechner erledigt habe. Die autoReconnect-Funktion griff dann aber in sofern, als die Verbindung beim zweiten Zugriff wieder da war. Anschließend konnte ich ohne Probleme auch längere Pausen einlegen.
Gruß
Robert
ich habe das jetzt einmal mit meiner eigenen Webdatenbank bei Host Europe gestestet: Eine direkte Verbindung erstellt, angemeldet, dann nebenher eine Tabelle mit 20 Datensätzen in Calc erstellt, diese Datensätze kopiert und in die noch geöffnete Datenbank eingefügt. Der Assistent lief problemlos ab, die Tabelle war drin.
Dann bin ich hin gegangen und habe die Tabelle umbenannt. Auch kein Problem.
Jetzt habe ich nach diesem Text die Tabelle ansehen wollen - da war die Verbindung weg.
Ich teste jetzt noch die JDBC-Verbindung. Die direkte Verbindung ist so ohne Makro nicht brauchbar.
Mit der JDBC-Verbindung habe ich mehr Glück. Ich hatte auch dort eine Verbindungsunterbrechung. Eine Tabelle erschien nicht mehr, nachdem ich zwischendurch andere Sachen auf dem Rechner erledigt habe. Die autoReconnect-Funktion griff dann aber in sofern, als die Verbindung beim zweiten Zugriff wieder da war. Anschließend konnte ich ohne Probleme auch längere Pausen einlegen.
Gruß
Robert
Re: Base und All-inkl.com
Hallo,
evtl. kann man die Reconnect-häufigkeit auch per
wait_timeout per Session setzen
https://mariadb.com/docs/reference/es/s ... t_timeout/
Mit 3600 wäre man ja schon bei einer Stunde... und man könnte es in ein Startup-Macro packen.
Mfg, Jörn
evtl. kann man die Reconnect-häufigkeit auch per
wait_timeout per Session setzen
https://mariadb.com/docs/reference/es/s ... t_timeout/
Mit 3600 wäre man ja schon bei einer Stunde... und man könnte es in ein Startup-Macro packen.
Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Re: Base und All-inkl.com
Was den Serienbrief und Calc angeht:
Wenn die Spaltennamen übereinstimmen sollte es möglich sein, einen Serienbrief, der eine als Datenquelle angemeldete Calc-Tabelle nutzt durch einfaches Ändern der Datenquelle (neu: Abfrage aus der Datenbank) weiter zu verwenden.
Probiere ich nächste Woche mal aus...
Mfg, Jörn
Wenn die Spaltennamen übereinstimmen sollte es möglich sein, einen Serienbrief, der eine als Datenquelle angemeldete Calc-Tabelle nutzt durch einfaches Ändern der Datenquelle (neu: Abfrage aus der Datenbank) weiter zu verwenden.
Probiere ich nächste Woche mal aus...
Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Re: Base und All-inkl.com
Hallo zum dritten...
Berechnungen machst Du normalerweise in einer Abfrage. Z.B.:
Mfg, Jörn
Berechnungen machst Du normalerweise in einer Abfrage. Z.B.:
Code: Alles auswählen
select 12*Monatsmiete - Saldo AS Zahlbetrag FROM Pachttabelle WHERE GartenId=4711
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Re: Base und All-inkl.com
Hallo Sylvia,
für den Abbruch der Verbindung scheint dies die Lösung zu sein:
Diese Makrozeilen musst Du in Deine *.odb-Datei einbauen und dann "Reconnect" mit dem Öffnen des Dokumentes verbinden (S. 442 Handbuch Base). Die Timerzeit ist auf 10 Sekunden eingestellt. Ich finde das eigentlich eine zu schnelle Wiederholung, aber vorherige Tests mit 50 Sekunden haben bei mir zwischendurch zu Abbrüchen geführt. Bei der Zeitangabe WAIT kannst Du ja entsprechend experimentieren.
Es kann natürlich sein, dass Du nach 10 Sekunden noch gar nicht den ersten Kontakt zur Datenbank hergestellt hast. Dann müsstest Du das Makro irgendwann nach dem ersten Kontakt anschubsen.
Ich habe damit jetzt gut 20 Minuten lang ununterbrochenen Kontakt zu meiner Datenbank bei Host Europe mit dem direkten Treiber. Mit JDBC habe ich da nicht weiter probiert, da dort ja autoReconnect anspringt.
Das folgende Makro funktioniert dann, wenn das wait_timeout nicht von Serverseite aus so eingestellt ist, dass Du da keinen Zugriff drauf hast. Da ich das Timeout nicht beliebig hoch setzen wollte (Jörn schlug hier eine Stunde vor) sondern schon die Verbindung irgendwann sicher kappen würde, wenn die Datenbankdatei geschlossen ist, hier die Reconnect-Fassung mit 2 Minuten (120 Sekunden) Timeout und alle 100 Sekunden eine kurze Abfrage zur Auffrischung.
Gruß
Robert
für den Abbruch der Verbindung scheint dies die Lösung zu sein:
Code: Alles auswählen
GLOBAL boStop AS BOOLEAN
SUB Reconnect
DIM oDatasource AS OBJECT
DIM oConnection AS OBJECT
DIM oSQL_Command AS OBJECT
boStop = false
DO
WAIT 10000 'Zeitangabe in Millisekunden
oDatasource = thisDatabaseDocument.CurrentController
IF NOT (oDatasource.isConnected()) THEN oDatasource.connect()
oConnection = oDatasource.ActiveConnection()
oSQL_Command = oConnection.createStatement()
oSQL_Command.executeQuery("SELECT NOW()")
LOOP WHILE boStop = false
END SUB
SUB StopConnect
boStop = true
END SUB
Es kann natürlich sein, dass Du nach 10 Sekunden noch gar nicht den ersten Kontakt zur Datenbank hergestellt hast. Dann müsstest Du das Makro irgendwann nach dem ersten Kontakt anschubsen.
Ich habe damit jetzt gut 20 Minuten lang ununterbrochenen Kontakt zu meiner Datenbank bei Host Europe mit dem direkten Treiber. Mit JDBC habe ich da nicht weiter probiert, da dort ja autoReconnect anspringt.
Das folgende Makro funktioniert dann, wenn das wait_timeout nicht von Serverseite aus so eingestellt ist, dass Du da keinen Zugriff drauf hast. Da ich das Timeout nicht beliebig hoch setzen wollte (Jörn schlug hier eine Stunde vor) sondern schon die Verbindung irgendwann sicher kappen würde, wenn die Datenbankdatei geschlossen ist, hier die Reconnect-Fassung mit 2 Minuten (120 Sekunden) Timeout und alle 100 Sekunden eine kurze Abfrage zur Auffrischung.
Code: Alles auswählen
SUB Reconnect
DIM oDatasource AS OBJECT
DIM oConnection AS OBJECT
DIM oSQL_Command AS OBJECT
oDatasource = thisDatabaseDocument.CurrentController
IF NOT (oDatasource.isConnected()) THEN oDatasource.connect()
oConnection = oDatasource.ActiveConnection()
oSQL_Command1 = oConnection.createStatement()
oSQL_Command1.executeUpdate("SET SESSION wait_timeout=120")
boStop = false
DO
WAIT 100000 'Zeitangabe in Millisekunden
oSQL_Command2 = oConnection.createStatement()
oSQL_Command2.executeQuery("SELECT NOW()")
LOOP WHILE boStop = false
END SUB
Robert
Re: Base und All-inkl.com
Hallo,
erstmal Danke für eure Antworten.
Das was ihr mir so schreibt ist für mich nicht nachvollziehbar. Ich verstehe es absolut nicht. Egal erstmal. Beschäftige ich mich später damit.
Bevor ich jetzt noch wochenlang mich mit der Verbindung beschäftige, werde ich jetzt erstmal die Datenbank offline erstellen. Das gibt mir jetzt etwas Zeit. Auch ist die Offline Datenbank dann eine Möglichkeit der Datensicherung . So habe ich es online und offline, falls ich mal keine Internetverbindung habe.
Ich habe die Mitgliederliste erstellt, jetzt werde ich alle Gartengruppen einzeln erstellen. Ich muß mich erstmal mit der Datenbank an sich beschäftigen, denke ich. Wie ich die programmiere weiß ich ja auch noch nicht.
Vielleicht sollte ich jetzt auch erstmal den Serienbrief über Calc machen. Danach habe ich 1 Jahr Zeit mich mit der Datenbank in Bezug auf die Pacht zu beschäftigen.
Allerdings werde ich irgendwann den Posten des Kassierers übernehmen und will dann die Buchhaltung über die Datenbank machen. Bisher wurde es kompliziert über Excel / Calc gemacht.
Aufgrund von Corona habe ich jetzt etwas mehr Zeit mich damit zu beschäftigen, denn die Jahreshauptversammlung wo ich gewählt werden würde, darf ja nicht stattfinden. Daher habe ich für die Buchhaltung mind. noch bis zum Frühjahr Zeit.
Ich hatte es mir irgendwie einfacher vorgestellt.
Gruß
Sylvia
erstmal Danke für eure Antworten.
Das was ihr mir so schreibt ist für mich nicht nachvollziehbar. Ich verstehe es absolut nicht. Egal erstmal. Beschäftige ich mich später damit.
Bevor ich jetzt noch wochenlang mich mit der Verbindung beschäftige, werde ich jetzt erstmal die Datenbank offline erstellen. Das gibt mir jetzt etwas Zeit. Auch ist die Offline Datenbank dann eine Möglichkeit der Datensicherung . So habe ich es online und offline, falls ich mal keine Internetverbindung habe.
Ich habe die Mitgliederliste erstellt, jetzt werde ich alle Gartengruppen einzeln erstellen. Ich muß mich erstmal mit der Datenbank an sich beschäftigen, denke ich. Wie ich die programmiere weiß ich ja auch noch nicht.
Vielleicht sollte ich jetzt auch erstmal den Serienbrief über Calc machen. Danach habe ich 1 Jahr Zeit mich mit der Datenbank in Bezug auf die Pacht zu beschäftigen.
Allerdings werde ich irgendwann den Posten des Kassierers übernehmen und will dann die Buchhaltung über die Datenbank machen. Bisher wurde es kompliziert über Excel / Calc gemacht.
Aufgrund von Corona habe ich jetzt etwas mehr Zeit mich damit zu beschäftigen, denn die Jahreshauptversammlung wo ich gewählt werden würde, darf ja nicht stattfinden. Daher habe ich für die Buchhaltung mind. noch bis zum Frühjahr Zeit.
Ich hatte es mir irgendwie einfacher vorgestellt.
Gruß
Sylvia
Re: Base und All-inkl.com
Hallo Sylvia,
zu Vermeidung von Unterbrechungen kannst Du unter Extras → SQL den folgenden Code eingeben:
Damit hast Du bis zur nächsten Abfrage oder ähnlichem 10 Minuten Zeit - aber nur, wenn Dein Server diese Einstellung zulässt.
Mache nicht den Fehler, für alle Gartengruppen einzelne Tabellen zu erstellen. Eine Tabelle, in der die Gartengruppen stehen, und eine Tabelle, in der die Details dazu sind. Die beiden Tabellen werden miteinander verbunden. Denn: Je mehr unterschiedliche Tabellen Du erstellst, desto problematischer wird die Geschichte mit den Serienbriefen. Du möchtest doch nicht für jede Gartengruppe einen gesonderten Serienbrief aufsetzen, oder?
Kopieren kannst Du die Daten von der internen Datenbank zur externen Datenbank später problemlos.
Gruß
Robert
zu Vermeidung von Unterbrechungen kannst Du unter Extras → SQL den folgenden Code eingeben:
Code: Alles auswählen
SET SESSION wait_timeout=600;
Mache nicht den Fehler, für alle Gartengruppen einzelne Tabellen zu erstellen. Eine Tabelle, in der die Gartengruppen stehen, und eine Tabelle, in der die Details dazu sind. Die beiden Tabellen werden miteinander verbunden. Denn: Je mehr unterschiedliche Tabellen Du erstellst, desto problematischer wird die Geschichte mit den Serienbriefen. Du möchtest doch nicht für jede Gartengruppe einen gesonderten Serienbrief aufsetzen, oder?
Kopieren kannst Du die Daten von der internen Datenbank zur externen Datenbank später problemlos.
Gruß
Robert
Re: Base und All-inkl.com
Hallo Robert,
ich habe eine Datenbank wo alle Mitglieder auch den Gärten bzw. den Gartenanlagen zugeordnet sind.
Dann dachte ich , daß ich die Gartengruppen voneinander trenne. Es gibt Gartengruppen die sind privat, die zahlen keine Pacht und andere die zahlen Pacht. Dann gibt es eine Gartengruppe die zahlt nur den Mitgliedsbeitrag des Vereins, weil die weder privat noch städtisch sind.
Vielleicht sollte ich dann 3 Tabellen machen, anstatt 9 . Privat, städtisch und sonstige . Für diese 3 Gruppen muß ich dann 3 unterschiedliche Briefe machen.
Wenn ich dir die Zugangsdaten zu meinem Server gebe, kannst du bitte dann nachschauen, was ich alles mit der Serverdatenbank machen kann?
Du kennst dich damit besser aus.
Gruß
Sylvia
ich habe eine Datenbank wo alle Mitglieder auch den Gärten bzw. den Gartenanlagen zugeordnet sind.
Dann dachte ich , daß ich die Gartengruppen voneinander trenne. Es gibt Gartengruppen die sind privat, die zahlen keine Pacht und andere die zahlen Pacht. Dann gibt es eine Gartengruppe die zahlt nur den Mitgliedsbeitrag des Vereins, weil die weder privat noch städtisch sind.
Vielleicht sollte ich dann 3 Tabellen machen, anstatt 9 . Privat, städtisch und sonstige . Für diese 3 Gruppen muß ich dann 3 unterschiedliche Briefe machen.
Wenn ich dir die Zugangsdaten zu meinem Server gebe, kannst du bitte dann nachschauen, was ich alles mit der Serverdatenbank machen kann?
Du kennst dich damit besser aus.
Gruß
Sylvia
Re: Base und All-inkl.com
Bleib bei einer Tabelle.
Entweder ergänze ein Merkmal zum Pachttyp oder das Merkmal gehort in eine zweite Tabelle mit Eigenschaften der Anlagen/Gruppen.
Deine 3 Tabellen erhältst Du indem Du nicht die Originaltabelle als Grundlage des Serienbriefs nimmst, sondern z.B. eine Abfrage mit WHERE Typ='privat' die eine spezielle Ergebnistabelle für diesen Zweck erzeugt.
Mfg, Jörn
Entweder ergänze ein Merkmal zum Pachttyp oder das Merkmal gehort in eine zweite Tabelle mit Eigenschaften der Anlagen/Gruppen.
Deine 3 Tabellen erhältst Du indem Du nicht die Originaltabelle als Grundlage des Serienbriefs nimmst, sondern z.B. eine Abfrage mit WHERE Typ='privat' die eine spezielle Ergebnistabelle für diesen Zweck erzeugt.
Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Re: Base und All-inkl.com
Ok, in der Tabelle Calc war es schon so. Ich hatte es nur gesplittet wegen der Datenbank.
Jetzt habe ich es so eingefügt. Eine Spalte wo drin steht: städtisch, privat , bahn
Mal schauen wie es jetzt weiter geht. Zur Sicherheit lade ich es später erstmal hoch.
Gruß
Sylvia
Jetzt habe ich es so eingefügt. Eine Spalte wo drin steht: städtisch, privat , bahn
Mal schauen wie es jetzt weiter geht. Zur Sicherheit lade ich es später erstmal hoch.
Gruß
Sylvia