Hallo,
Ich habe in LO 4.1 eine MySQL-Datenbank (Adressen) per ODBC eingebunden und
2 Formulare angelegt (per Assistent)- eins mit einem Datensatz pro Seite, eins
mit der Liste pro Seite. Dort wurden bisher >300 Datensätze angelegt.
Wenn ich das Formular mit dem einzelnen Datensatz aufrufe, erscheint oben
Datensatz 1 von 41 *, bei der Liste steht dort Datensatz 1 von 73 * .
Per "Aktualisieren" ändert sich nichts an der Anzahl der Datensätze, erst wenn
ich zu "letzter Datensatz" gehe, wird die korrekte Anzahl an Datensätzen
angezeigt- in beiden Formularen. Dazu habe ich mal 2 Screenshots angefügt.
Frage- wie kann man LO beibringen, immer die richtige Anzahl an Datensätzen
anzuzeigen bzw. was habe ich übersehen/falsch gemacht?
mfG
❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Anzahl Datensätze falsch
Anzahl Datensätze falsch
- Dateianhänge
-
- Datensatz_2.jpg (17.6 KiB) 3381 mal betrachtet
-
- Datensatz_1.jpg (17.61 KiB) 3381 mal betrachtet
Re: Anzahl Datensätze falsch
Hallo LO_User,
das ist eine Einstellung des Caches. Es wird erst einmal nur eine kleinere Menge Datensätze in den Cache geladen. Base weiß also nicht, wie viele Datensätze tatsächlich in der Datenbank sind.
Das könnte theoretisch behoben werden, wenn gleichzeitig mit der ersten Abfrage eine weitere kommt, die die gesamten Datensätze der Tabelle zählt. Diese Abfrage müsste dann aber bei jeder Filterung usw. direkt wieder neu gestellt werden.
Du könntest das Ganze natürlich überlisten, indem Du per Makro Dein Formular kurz zum letzten Datensatz springen lässt und danach wieder nach vorne. Damit erzeugst Du aber nur unnötig Datenverkehr übers Netz - vor allem, weil Du ja mit MySQL, also einer externen Datenbank arbeitest.
Gruß
Robert
das ist eine Einstellung des Caches. Es wird erst einmal nur eine kleinere Menge Datensätze in den Cache geladen. Base weiß also nicht, wie viele Datensätze tatsächlich in der Datenbank sind.
Das könnte theoretisch behoben werden, wenn gleichzeitig mit der ersten Abfrage eine weitere kommt, die die gesamten Datensätze der Tabelle zählt. Diese Abfrage müsste dann aber bei jeder Filterung usw. direkt wieder neu gestellt werden.
Du könntest das Ganze natürlich überlisten, indem Du per Makro Dein Formular kurz zum letzten Datensatz springen lässt und danach wieder nach vorne. Damit erzeugst Du aber nur unnötig Datenverkehr übers Netz - vor allem, weil Du ja mit MySQL, also einer externen Datenbank arbeitest.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Anzahl Datensätze falsch
Kann man da etwas ändern und wann wird der Cache aktualisiert (wird er das überhaupt ? kommtRobertG hat geschrieben:das ist eine Einstellung des Caches.
mir jedenfalls nicht so vor).
Na ja- wenn ich LO schließe und dann das Formular neu öffne oder ich gehe auf Aktualisieren,Es wird erst einmal nur eine kleinere Menge Datensätze in den Cache geladen. Base weiß
also nicht, wie viele Datensätze tatsächlich in der Datenbank sind.
sollte LO doch erst einmal "nachsehen", wie der aktuelle Stand ist. Aber LO zeigt immer die
gleiche Anzahl an Datensätzen an- das ist alles andere als in Ordnung. Das über irgend welche
Makros zu lösen, ist nicht "die Lösung" ...
mfG RH
Re: Anzahl Datensätze falsch
Hallo RH,
sollte LO doch erst einmal "nachsehen", wie der aktuelle Stand ist. Aber LO zeigt immer die
gleiche Anzahl an Datensätzen an- das ist alles andere als in Ordnung. [/quote]
Natürlich - weil die eingestellte Cache-Größe die gleiche ist. Wenn ich das richtig sehe, dann lädt der Cache noch einmal soviel Daten, wie bereits in der Tabellenansicht zu sehen sind. Öffne ich eine Tabelle mit einer Höhe von 50 Zeilen, so zeigt mir Base 100* an.
Für die Anzeige der Daten schickt Base eine limitierte Abfrage zur Datenbank, damit eben der Netzverkehr nicht so hoch ist. Geschwindigkeitsprobleme fallen dem Normaluser so erst wesentlich später auf als Leuten, die das versuchen zu umgehen. So hatten wir ein besonders großes Geschwindigkeitsproblem beim Start von LO 3.5 - die meisten haben das nicht gemerkt. Aber bei einer Tabelle von 30000 Datensätzen in der internen Datenbank auf den letzten Datensatz zu scrollen nahm über 2 Minuten in Anspruch. Das Öffnen der Tabelle mit der Anzeige 98* hingegen ging direkt.
Du möchtest gerne eine Erweiterung, die neben der Abfrage an die Datenbank auch gleichzeitig erfragt, wie viele Datensätze denn vorhanden sind, auf die die Abfrage zutrifft. Spontan ginge das erst einmal in jeder Abfrage, die Du stellst, als Zusatzanzeige:
Das lässt sich dann auch so gestalten, dass die Bedingungen mit Übernommen werden, nach denen Du die Inhalte Filtern möchtest.
In der grafischen Benutzeroberfläche geht das zur Zeit nicht. Dann müsstest Du einen Bug aufgeben, der dies als Erweiterung wünscht.
Gruß
Robert
Scroll doch einfach einmal in einer geöffneten Tabelle nach unten. Dann siehst Du, dass die Anzahl der in den Cache eingelesenen Zeilen wächst. Das * zeigt dabei an, dass eben noch nicht alle Daten gelesen wurden.LO_User hat geschrieben:Kann man da etwas ändern und wann wird der Cache aktualisiert (wird er das überhaupt ? kommtRobertG hat geschrieben:das ist eine Einstellung des Caches.
mir jedenfalls nicht so vor).
Na ja- wenn ich LO schließe und dann das Formular neu öffne oder ich gehe auf Aktualisieren,Es wird erst einmal nur eine kleinere Menge Datensätze in den Cache geladen. Base weiß
also nicht, wie viele Datensätze tatsächlich in der Datenbank sind.
sollte LO doch erst einmal "nachsehen", wie der aktuelle Stand ist. Aber LO zeigt immer die
gleiche Anzahl an Datensätzen an- das ist alles andere als in Ordnung. [/quote]
Natürlich - weil die eingestellte Cache-Größe die gleiche ist. Wenn ich das richtig sehe, dann lädt der Cache noch einmal soviel Daten, wie bereits in der Tabellenansicht zu sehen sind. Öffne ich eine Tabelle mit einer Höhe von 50 Zeilen, so zeigt mir Base 100* an.
Für die Anzeige der Daten schickt Base eine limitierte Abfrage zur Datenbank, damit eben der Netzverkehr nicht so hoch ist. Geschwindigkeitsprobleme fallen dem Normaluser so erst wesentlich später auf als Leuten, die das versuchen zu umgehen. So hatten wir ein besonders großes Geschwindigkeitsproblem beim Start von LO 3.5 - die meisten haben das nicht gemerkt. Aber bei einer Tabelle von 30000 Datensätzen in der internen Datenbank auf den letzten Datensatz zu scrollen nahm über 2 Minuten in Anspruch. Das Öffnen der Tabelle mit der Anzeige 98* hingegen ging direkt.
Du möchtest gerne eine Erweiterung, die neben der Abfrage an die Datenbank auch gleichzeitig erfragt, wie viele Datensätze denn vorhanden sind, auf die die Abfrage zutrifft. Spontan ginge das erst einmal in jeder Abfrage, die Du stellst, als Zusatzanzeige:
Code: Alles auswählen
SELECT "a".* , (SELECT COUNT(ID) FROM "Tabelle") AS "Anzahl" FROM "Tabelle"
In der grafischen Benutzeroberfläche geht das zur Zeit nicht. Dann müsstest Du einen Bug aufgeben, der dies als Erweiterung wünscht.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Anzahl Datensätze falsch
Hallo,
zur Höhe der Tabelle) nicht- sollte also es nichts (oder nicht viel) mit der Art des Formulars zu tun
haben (theoretisch). Ich habe es gerade mal getestet- bei dem Formular mit einzelnem Datensatz
springt die Anzeige um 21 Datensätze weiter, wenn man über "nächster Datensatz" den zuletzt
angezeigten Wert werreicht hat, bei dem Formular mit der Tabelle/Liste sind es 37- muß man
die Zählweise verstehen?
Was dabei am meisten stört- die unterschiedlichen Anzeigen bei den unterschiedlichen Formularen-
wenn schon eine begrenzte Anzahl an Datensätzen angezeigt wird, dann doch überall die gleiche !?
beim Öffnen des Formulars (oder bei Aktualisieren) die zur Zeit gültige Anzahl an Datensätzen
anzeigt werden. Das sollte doch den Traffic im Netzwerk nicht extra belasten. außerdem
hängt das ja auch noch von der Art des Netzwerkes/der Netzwerkverbindung ab- da wäre
eine (Aus-) Wahl-Möglichkeit vielleicht nicht die schlechteste Option.
Irgend etwas in den LO Cache-Einstellungen ändern, hilft bei dem Problem leider nicht. Die
LO-Einstellungen zum Thema Base sind da leider auch keine Hilfe- schade.
mfG
Und bei einem Formular mit einem einzelnen Datensatz gibt es diese Einschränkung (Anzahl ZeilenRobertG hat geschrieben:Öffne ich eine Tabelle mit einer Höhe von 50 Zeilen, so zeigt mir Base 100* an.
zur Höhe der Tabelle) nicht- sollte also es nichts (oder nicht viel) mit der Art des Formulars zu tun
haben (theoretisch). Ich habe es gerade mal getestet- bei dem Formular mit einzelnem Datensatz
springt die Anzeige um 21 Datensätze weiter, wenn man über "nächster Datensatz" den zuletzt
angezeigten Wert werreicht hat, bei dem Formular mit der Tabelle/Liste sind es 37- muß man
die Zählweise verstehen?
Was dabei am meisten stört- die unterschiedlichen Anzeigen bei den unterschiedlichen Formularen-
wenn schon eine begrenzte Anzahl an Datensätzen angezeigt wird, dann doch überall die gleiche !?
Mir geht es nicht darum, daß sich LO gleich alle Datensätze aus der DB holt, sondern daß erFür die Anzeige der Daten schickt Base eine limitierte Abfrage zur Datenbank, damit eben
der Netzverkehr nicht so hoch ist.
beim Öffnen des Formulars (oder bei Aktualisieren) die zur Zeit gültige Anzahl an Datensätzen
anzeigt werden. Das sollte doch den Traffic im Netzwerk nicht extra belasten. außerdem
hängt das ja auch noch von der Art des Netzwerkes/der Netzwerkverbindung ab- da wäre
eine (Aus-) Wahl-Möglichkeit vielleicht nicht die schlechteste Option.
Irgend etwas in den LO Cache-Einstellungen ändern, hilft bei dem Problem leider nicht. Die
LO-Einstellungen zum Thema Base sind da leider auch keine Hilfe- schade.
mfG
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.