🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Datensätze automatisch laden
Datensätze automatisch laden
Hallo,
Mal wieder ich.
Gibt es denn eine Möglichkeit wenn ich eine Abfrage mache in denen die Ergebnisse nicht alle in ein Formular angezeigt werden das diese automatisch voll geladen werden? Ohne das der Benutzer immer bis zum ende scrollen muss? und dann immer wieder zwischendrin neu geladen werden muss?
Ich häng mal eine Beispieldatei an, wenn ihr die öffnet klickt ihr auf Projektnummern und danach jeweils mit Enter bestätigen 50000 und 60000 ein.
Nun muss der Nutzer immer scrollen bis er am enden ist. und schöner wäre es wenn die Daten automatisch geladen werden und er somit diese Verzögerung nicht hat.
Ich danke euch im voraus.
Mal wieder ich.
Gibt es denn eine Möglichkeit wenn ich eine Abfrage mache in denen die Ergebnisse nicht alle in ein Formular angezeigt werden das diese automatisch voll geladen werden? Ohne das der Benutzer immer bis zum ende scrollen muss? und dann immer wieder zwischendrin neu geladen werden muss?
Ich häng mal eine Beispieldatei an, wenn ihr die öffnet klickt ihr auf Projektnummern und danach jeweils mit Enter bestätigen 50000 und 60000 ein.
Nun muss der Nutzer immer scrollen bis er am enden ist. und schöner wäre es wenn die Daten automatisch geladen werden und er somit diese Verzögerung nicht hat.
Ich danke euch im voraus.
- Dateianhänge
-
- Projektnummernverwaltung (2).zip
- (130.9 KiB) 194-mal heruntergeladen
Re: Datensätze automatisch laden
Hallo Ryoho,
Deine Datenbank ist bei mir wegen eines Bugs unter bestimmten Linux-Umgebungen zur Zeit nicht testbar. Dialoge öffnen sich nicht im Vordergund, so auch die Paramaterabfrage. Und da Du die Formulare im Vollbildmodus öffnest kann ich auch nur mit viel gehangele zu der Parameterabfrage kommen.
Um die kompletten Daten innerhalb eines Formulars einmal einzulesen müsste ein Makro reichen, das einmal
oForm.last()
und danach wieder
oForm.first()
macht. Das dann noch an das Ereignis koppeln und das Einelesen müsste bewerkstelligt werden.
Ich würde mir allerdings erst einmal Gedanken machen, wie ich denn die Datenmenge begrenzen kann. Die Tabelle enthält in dem Bereich der Projektnummern 50000 bis 60000 nur etwas über 1000 Nummern - aber auch darin kann ich doch nicht ernsthalft rumscrollen, um zu einem Ergebnis zu finden. Nich umstonst geht jede Suchfunktion im Netz so vor, dass sie seitenweise durch die Suchergebnisse blättert statt alles auf einmal anzubieten.Vielleicht ist ein Arbeiten mit LIMIT möglich?
Gruß
Robert
Deine Datenbank ist bei mir wegen eines Bugs unter bestimmten Linux-Umgebungen zur Zeit nicht testbar. Dialoge öffnen sich nicht im Vordergund, so auch die Paramaterabfrage. Und da Du die Formulare im Vollbildmodus öffnest kann ich auch nur mit viel gehangele zu der Parameterabfrage kommen.
Um die kompletten Daten innerhalb eines Formulars einmal einzulesen müsste ein Makro reichen, das einmal
oForm.last()
und danach wieder
oForm.first()
macht. Das dann noch an das Ereignis koppeln und das Einelesen müsste bewerkstelligt werden.
Ich würde mir allerdings erst einmal Gedanken machen, wie ich denn die Datenmenge begrenzen kann. Die Tabelle enthält in dem Bereich der Projektnummern 50000 bis 60000 nur etwas über 1000 Nummern - aber auch darin kann ich doch nicht ernsthalft rumscrollen, um zu einem Ergebnis zu finden. Nich umstonst geht jede Suchfunktion im Netz so vor, dass sie seitenweise durch die Suchergebnisse blättert statt alles auf einmal anzubieten.Vielleicht ist ein Arbeiten mit LIMIT möglich?
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: Datensätze automatisch laden
Danke Robert.
Naja eigendlich wird die Suche nur verwendet um Projektnummern herauszufinden.
Folgendermaßen:
Aus dem 60000 Block brauch ich die letzte eingegeben Nummer, Vorher war es mit einem anderen Programm möglich 70000 einzugeben, wenn der Nutzer nun Bild runter betätigt hat dann wurde ihm die letzte Nummer angezeigt.
Wenn natürlich so etwas möglich wäre würde ich mehr gefallen daran finden. Allerdings hab ich nichts in die Richtung gefunden und somit kann der Nutzer nun 61000 und 63000 eingeben und weiß nun welches die letzte Projektnummer ist.
In diesem Formular geht es alleinig darum welche Projektnummer als letztes angelegt wurde.
Ich probiere es mal mit dem Makro. Danke dafür.
Edit: Ich hab es mit oForm.last probiert. leider komm ich gerade nicht drauf mit was ich die Variable "oform" belegen muss um das er mit der Abfrage arbeitet und erst läd sobald der Nutzer seine Eingaben gemacht hat. Die Abfrage selbst ist in SQL erstellt.
Naja eigendlich wird die Suche nur verwendet um Projektnummern herauszufinden.
Folgendermaßen:
Aus dem 60000 Block brauch ich die letzte eingegeben Nummer, Vorher war es mit einem anderen Programm möglich 70000 einzugeben, wenn der Nutzer nun Bild runter betätigt hat dann wurde ihm die letzte Nummer angezeigt.
Wenn natürlich so etwas möglich wäre würde ich mehr gefallen daran finden. Allerdings hab ich nichts in die Richtung gefunden und somit kann der Nutzer nun 61000 und 63000 eingeben und weiß nun welches die letzte Projektnummer ist.
In diesem Formular geht es alleinig darum welche Projektnummer als letztes angelegt wurde.
Ich probiere es mal mit dem Makro. Danke dafür.
Edit: Ich hab es mit oForm.last probiert. leider komm ich gerade nicht drauf mit was ich die Variable "oform" belegen muss um das er mit der Abfrage arbeitet und erst läd sobald der Nutzer seine Eingaben gemacht hat. Die Abfrage selbst ist in SQL erstellt.
Zuletzt geändert von Ryoho am Di 7. Apr 2015, 16:16, insgesamt 1-mal geändert.
Re: Datensätze automatisch laden
Hallo Ryoho,
Dann findest Du die zuletzt angelegte Projektnummer direkt ohne groß zu suchen. Schließlich brauchst Du nur nach Zeitstempelt abwärts abzufragen und dann noch ein LIMIT auf '1' zu setzen - das ist der gesuchte Datensatz.
Gruß
Robert
Unter den Umständen gehört ein Zeitstempelfeld in die Tabelle. Dazu musst Du ein Zeitstempelfeld hinzufügen und anschließend per SQL den Default-Wert festlegen. So etwas in der FormRyoho hat geschrieben:In diesem Formular geht es alleinig darum welche Projektnummer als letztes angelegt wurde.
Code: Alles auswählen
ALTER TABLE "Tabelle" ALTER COLUMN "Zeitstempel" SET DEFAULT NOW();
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: Datensätze automatisch laden
Hi Robert.
Ich habs falsch erklärt.
Es wird nach den Blöcken gesucht also 50000-60000 ist der Block für 2015 es kann aber möglichsein das Block 70000-80000 für 2018 ist allerdings schon Belegungen hat aus 2012 und so wird dann eben das ganze gesucht mit der 70000 Bild zurück drücken und dann wird die letzte Projektnummer im Block 60000 - 70000 angezeigt
Beispiel: 70000 bild runter
ergebniss 63800
Somit weiß die Bearbeiterin das die letzte Projektnummer im Block 60000 - 70000 63800 war. Somit wäre ihre nächste Projektnummer 63810
Ja ich hab genauso geschaut wie ihr... aber das ist leider das ausgedachte System von anderen Menschen.
Ich bekomm das übrigens nicht hin mit oForm.last
Mit was muss ich die Variable oForm denn füllen?
Ich habs falsch erklärt.
Es wird nach den Blöcken gesucht also 50000-60000 ist der Block für 2015 es kann aber möglichsein das Block 70000-80000 für 2018 ist allerdings schon Belegungen hat aus 2012 und so wird dann eben das ganze gesucht mit der 70000 Bild zurück drücken und dann wird die letzte Projektnummer im Block 60000 - 70000 angezeigt
Beispiel: 70000 bild runter
ergebniss 63800
Somit weiß die Bearbeiterin das die letzte Projektnummer im Block 60000 - 70000 63800 war. Somit wäre ihre nächste Projektnummer 63810
Ja ich hab genauso geschaut wie ihr... aber das ist leider das ausgedachte System von anderen Menschen.
Ich bekomm das übrigens nicht hin mit oForm.last
Mit was muss ich die Variable oForm denn füllen?
Re: Datensätze automatisch laden
Hallo Ryoho,
ich habe ein zusätzliches Formular erstellt, in dem das Makro eingebaut ist.
oForm.Last() : Das Formular muss irgendwie ermittelt werden.
Das Makro wird an Formular-Eigenschaften → Ereignisse → Beim Laden gebunden.
Das Formular löst das Ereignis aus. oForm ist hier also oEvent.Source (Quelle des Ereignisses).
Übrigens: Selbst wenn ich bei der DB die Fenster für die Formulare schließe hängt die Datenbank etwas - ich kann also nicht Fenster schließen und dann z.B. direkt auf das neue Formular klicken. Stattdessen ist der Speicherbutton aktiviert. Ich weiß nicht, was da noch weiter abläuft ...
Ich habe einmal ein Beispiel hochgeladen, bei dem sich auch beim Formularstart ein Formular direkt in Bildschirmgröße öffnet:
http://robert.familiegrosskopf.de/base_ ... _Makro.odb
Gruß
Robert
ich habe ein zusätzliches Formular erstellt, in dem das Makro eingebaut ist.
oForm.Last() : Das Formular muss irgendwie ermittelt werden.
Das Makro wird an Formular-Eigenschaften → Ereignisse → Beim Laden gebunden.
Code: Alles auswählen
Sub Einlesen(oEvent AS OBJECT)
oEvent.Source.last()
oEvent.Source.first()
End Sub
Übrigens: Selbst wenn ich bei der DB die Fenster für die Formulare schließe hängt die Datenbank etwas - ich kann also nicht Fenster schließen und dann z.B. direkt auf das neue Formular klicken. Stattdessen ist der Speicherbutton aktiviert. Ich weiß nicht, was da noch weiter abläuft ...
Ich habe einmal ein Beispiel hochgeladen, bei dem sich auch beim Formularstart ein Formular direkt in Bildschirmgröße öffnet:
http://robert.familiegrosskopf.de/base_ ... _Makro.odb
Gruß
Robert
- Dateianhänge
-
- Projektnummernverwaltung (2).odb.zip
- (138.02 KiB) 175-mal heruntergeladen
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: Datensätze automatisch laden
Hallo Robert, das mit dem Laden klingt sehr Interessant. Sobald ich den Link von dir anklicke kommt 403. Also keinen Zugriff auf Seite wegen Berechtigung.
Das mit dem Laden ist super... Problem ist nur das es trotz dem das alle Datensätze geladen wurden hängt. selbst bei weniger Datensätze... Ist das normal?
Das mit dem Laden ist super... Problem ist nur das es trotz dem das alle Datensätze geladen wurden hängt. selbst bei weniger Datensätze... Ist das normal?
Re: Datensätze automatisch laden
Hallo Ryoho,
Starte ich dann das Formular mit dem Einlesen der Datensätze, dann kann ich anschließend ohne Probleme durch die Datensätze durchscrollen. Da hängt bei mir nichts.
Mit welchen System arbeitest Du? Welche LO-Version? Irgendetwas mit der Einstellung Extras → Optionen → LibreOffice → Grafikausgabe?
Gruß
Robert
Da habe ich wohl eine Datei rüber geschoben, die in meinem System nur mit meinen Lese-und-Schreibberechtigungen versehen war - wo auch immer ich diesen Schalter einmal umgelegt habe. Jetzt geht der Download auf jeden Fall.Ryoho hat geschrieben:Hallo Robert, das mit dem Laden klingt sehr Interessant. Sobald ich den Link von dir anklicke kommt 403. Also keinen Zugriff auf Seite wegen Berechtigung.
Was ich nachvollziehen kann: Lasse ich Dein Dokument mit Makros starten, dann muss ich zuerst vom ganzen Bildschirm auf Bildschirm mit Rahmen umschalten, dann das Fenster schließen und warten ... Ich habe das jetzt einmal etwas ausgestanden. Irgendwo hängt da ein Prozess, denn zuerst erscheint bei Base der Speicherbutton aktiv. Dann tut sich gar nicht - ich kann keine Tabellen anklicken o.ä. Nach einigem Hin- und Herklicken auch zu anderen Fenster ist Base wieder zugänglich.Ryoho hat geschrieben: Das mit dem Laden ist super... Problem ist nur das es trotz dem das alle Datensätze geladen wurden hängt. selbst bei weniger Datensätze... Ist das normal?
Starte ich dann das Formular mit dem Einlesen der Datensätze, dann kann ich anschließend ohne Probleme durch die Datensätze durchscrollen. Da hängt bei mir nichts.
Mit welchen System arbeitest Du? Welche LO-Version? Irgendetwas mit der Einstellung Extras → Optionen → LibreOffice → Grafikausgabe?
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
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.