Seite 1 von 1

Daten im Grid-Formular ändern

Verfasst: Mi 27. Apr 2016, 17:14
von drheiser
Meine Datenbank liegt auf einem mysql-server, ich greife mit Base darauf zu.

Es gibt mehrere Tabellen und Abfragen.

Für meine Stammdatenabfrage binde ich mehrere Tabellen mit entsprechenden Beziehungen ein.
1) Klappt wunderbar, nur kann ich, wenn ich mehrere Tabellen in eine Abfrage packe, keine Einträge ändern. Das geht nur wenn meine Abfrage nur eine Tabelle abfrägt.

2) Wenn ich meine Stammdaten über ein tabellarisches Formular anzeige (Grid), dann kann ich in diesem Grid nichts ändern. Mein bisheriger Workarround war: Datensatz markieren und über ein Makro diesen selektierten Datensatz suche, um diesen in einem anderen Formular zu ändern und zurückzuschreiben. Umständlich.

3) Ich habe zB für Lieferanten eine Tabelle mit einer Beziehung eingerichtet. Ich hätte gerne im Grid Stammdaten die Möglichkeit mit Drop-Down Menü den Lieferanten anzuwählen.

Danke ans Forum!

Re: Daten im Grid-Formular ändern

Verfasst: Mi 27. Apr 2016, 18:58
von gogo
...eine Tabelle mit einer Beziehung...
wie lautet die Datenquelle des Formulars? Abfragen (z.B. mit Berechnungen) können verhindern, dass man Datensätze ändern kann.

Re: Daten im Grid-Formular ändern

Verfasst: Mi 27. Apr 2016, 20:29
von RobertG
Hallo drheiser,
drheiser hat geschrieben: Für meine Stammdatenabfrage binde ich mehrere Tabellen mit entsprechenden Beziehungen ein.
1) Klappt wunderbar, nur kann ich, wenn ich mehrere Tabellen in eine Abfrage packe, keine Einträge ändern. Das geht nur wenn meine Abfrage nur eine Tabelle abfrägt.
Ich habe das gerade getestet. Klappt auch nicht, wenn die Tabellen InnoDB-Tabellen sind und eine Beziehung definiert ist. Was aber klappt ist die Verbindung über korrelierende Unterabfragen. Da bleibt dann die Grundtabelle der Abfrage bearbeitbar und die korrelierenden Felder werden zusätzlich dargestellt.
Beispiel

Code: Alles auswählen

SELEC "a".*, (SELECT "Ware" FROM "test"."Ware" WHERE "ID" = "a"."Ware_ID") AS "Ware" FROM "test"."Verkauf" AS "a"
Die Inhalte der Tabelle "Verkauf" bleiben in der Abfrage auch bei Nutzung von MySQL/MariaDB bearbeitbar.
drheiser hat geschrieben: 2) Wenn ich meine Stammdaten über ein tabellarisches Formular anzeige (Grid), dann kann ich in diesem Grid nichts ändern.
Aus dem gleichen Grund? Ist Datengrundlage eine entsprechende Abfrage über mehrere Tabellen?
drheiser hat geschrieben: 3) Ich habe zB für Lieferanten eine Tabelle mit einer Beziehung eingerichtet. Ich hätte gerne im Grid Stammdaten die Möglichkeit mit Drop-Down Menü den Lieferanten anzuwählen.
Soll dazu der Screenshot helfen? Lieferanten stehen dort ausgeschrieben drin, sollen aber vermutlich über ein Listenfeld mit dem Fremdschlüssel verbunden sein, so dass die Abfrage eben nicht auch noch die Tabelle "Lieferanten" beinhaltet. Dies geht ganz normal über so ein Listenfeld. Listenfelder stellen in der Standardeinstellung Inhalte eines Tabellenfeldes dar, geben aber den dazu passenden Primärschlüssel an die dem Formular zugrundeliegende Tabelle als Fremdschlüssel weiter. Siehe dazu auch gegebenenfalls das Handbuch.

Gruß

Robert