🙏 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!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Formular Grid Zeile aktualisieren

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
deife
Beiträge: 22
Registriert: Di 5. Jan 2021, 16:48

Formular Grid Zeile aktualisieren

Beitrag von deife » Do 30. Dez 2021, 16:34

Hallo zusammen,

ich hab in einem Formular eine Abfrage. Die Abfrage bzw. die Datenfelder der dahinterstehenden Tabellen ist nicht editierbar. Ich gehe mal davon aus, dass das so sein muss.

Auf jeden Fall gibt es noch ein Subformular, über das die Daten in einer Tabelle bearbeitet werden, die auch in der Abfrage enthalten sind. Kurzum im Subformular bearbeite ich eine Tabelle und die Werte sollen im MainForm angezeigt werden.

Eine Lösung ist ein Reload des MainForms. Das sieht auch ganz passabel aus, aber sobald ich in dem MainForm-Grid mehr Zeilen habe als auf einer Seite Platz haben, springt beim Reload der aktive Datensatz wieder in die erste Zeile.

Kann man die mit dem Datensatzmarkierer gekennzeichnet ist als Einzelzeile im Grid aktualisieren?

Ich hab es mit refreshRow probiert, aber da tut sich irgendwie nix.

Grüße
deife

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Formular Grid Zeile aktualisieren

Beitrag von RobertG » Do 30. Dez 2021, 18:00

Hallo deife,

wenn eine Abfrage nicht editierbar ist, dann liegt das an einem der folgenden Punkte:
  • Die Tabellen, die in der Abfrage verwendet werden, sind nicht mit ihrem Primärschlüssel in der Liste der Felder vertreten.
  • Auf die Tabellen wird mit einem Alias zugegriffen. Wird nur eine Tabelle verwandt, dann geht das. Bei einer zweiten Tabelle kann die GUI mit der Abfrage nicht mehr einwandfrei umgehen und sperrt dann.
Formulare neu einlesen und auf den richtigen Datensatz springen geht über den folgenden Weg:

Code: Alles auswählen

	inRow = oForm.getRow
	oForm.reload
	oForm.absolute(inRow)
Wobei ich davon ausgehe, dass Du das Formular mit oForm bereits ermittelt hast.

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

deife
Beiträge: 22
Registriert: Di 5. Jan 2021, 16:48

Re: Formular Grid Zeile aktualisieren

Beitrag von deife » Do 30. Dez 2021, 19:00

Hallo RobertG,

in meiner Abfrage sind insgesamt 4 Tabellen beteiltigt. Tatsächlich hat von einer Tabelle der Primärschlüssel in der Tabelle gefehlt. Und jetzt geht es. Das vereinfacht das Formular um einiges.

Das mit dem zeilenweise aktualisieren kam mir auch etwas seltsam vor. Allerdings hab ich im Forum auch Beiträge mit "refreshRow" gefunden. Die Hilfe zu dieser Funktion war leider auch nicht besonders hilfreich.

Aber der Primärschlüssel hat eigentlich auch das Problem mit dem Aktualisieren gelöst, d.h. ich werde das Formular so umbauen können, dass das Aktualisieren gar nicht mehr nötig ist.

Vielen Dank.


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.



Antworten