Seite 1 von 1

Formular Grid Zeile aktualisieren

Verfasst: Do 30. Dez 2021, 16:34
von deife
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

Re: Formular Grid Zeile aktualisieren

Verfasst: Do 30. Dez 2021, 18:00
von RobertG
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

Re: Formular Grid Zeile aktualisieren

Verfasst: Do 30. Dez 2021, 19:00
von deife
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.