[FOSSGIS-Talk] KORREKTUR/ automatisches Ausfüllen von Feldern aufgrund der Eingabe in einem bestimmten Feld
Martin Miethke
martin.miethke at gmx.net
Di Jun 16 13:52:13 CEST 2020
Hallo Claas,
meine Güte, da hast du dir ja richtig viel Mühe gemacht – Danke!
Nr. 1 scheint für mich genau das richtige zu sein, da es sehr viele mögliche Werte gibt und ggf. mehr als nur ein Feld automatisch auszufüllen ist.
Herzliche Grüße – Martin
> Am 14.06.2020 um 18:15 schrieb Claas Leiner <claas.leiner at gkg-kassel.de>:
>
> Hallo Martin,
>
> Eine Korrektur wegen fehler in vorhergehnder Nachrifht
>
> Möglichkeit 1:
> Über Layer > Eigenschaften > Verknüpfungen
> eine Tabelle mit den weiteren Werten anhand des gemeinsamen
> Schlüssel-Kürzels anjoinen.
> Anschließend den gejointen layer als neuen Layer abspeichern um die
> gejointen Werte fest in den Layer zu schreiben.
>
> -------------------
> Möglichkeit 2:
> Vorgabe mit Ausdruck
>
> Unter
> Layer > Eigenschaften > Attributformular
> das automatischezu füllende Feld auswählen
> und unter
> "Vorgaben" einen Vorgabewert eigeben.
> Der Vorgabewert kann ein bedingter Ausdruck sein:
> z.B:
>
> Das automatisch zu füllende Feld ist "Farbe" und soll automatisch auf
> Grundlage des Feldes "color" gefüllt werden
>
> Case
> when "color" = 'red' then 'rot'
> when "color" = 'green' then 'grün'
> when "color" = 'vlue' then 'blau'
> end
>
> -------------------
> Möglichkeit 3: (Gleiches Beispiel)
> Eingabemaske mit Werbeziehung und Filterung der Werte über
> current_value().
>
> Unter
> Layer > Eigenschaften > Attributformular > Bedienelementtyp
> für das Feld "color" und das Feld "farbe"
> den Typ Wertbeziehung auswählen.
> Als Layer für die Werbeziehung die Tabelle
> "de_en_bez" auswählen.
> Die Tabelle verfügt über zwei Spalten: engl und deu
>
> engl | deu
> ------|------
> red | rot
> green | grün
> blue | blau
>
> für das Feld color sind die Bezeichnungen:
> Schlüsselspalte: engl
> Werstpalte: engl
>
> Anschließend kann der englichsche Farbbegriff über ein Drop-Down-Menü
> eingeben werden
>
> Für das Feld farbe sind die Bezeichnungen:
> Schlüsselspalte: deu
> Werstpalte: deu
>
> Zusätzlich ist hier ein Filterausdruck mit current_value() notwendig:
> "color" = current_value( 'engl').
>
> Wenn jetzt in die Eingabemaske unter "color" red eingebenen wird,
> schaltet das drop-down-Menü für "Farbe" automatisch auf rot, weil der
> Wert der Spalte "engl" in der Beziehungstabelle "de_en_bez" dem vorher
> für color eingegebenen Wert entsprechen muss und sich in der
> entsprechenden Zeile bei "deu" der Wert rot findet.
>
> -----------------------
> Möglichkeit 4:
> Ein Trigger in der Datenbank (SpatiaLite, Geopackage, PostGis):
> Wäre über den DB-Manager oder über ein Tool der entsprechenden Datenbank
> einzugeben.
>
> Für Geopackage oder SpatiaLite z.B.:
>
> Create trigger color_ins
> after insert on beispiel_layer
> begin
> update beispiel_layer
> set
> farbe =
> Case
> when "color" = 'red' then 'rot'
> when "color" = 'green' then 'grün'
> when "color" = 'vlue' then 'blau'
> end
> ;
> end
> ;
>
> Create trigger color_up
> after update of color
> on beispiel_layer
> begin
> update beispiel_layer
> set
> farbe =
> Case
> when "color" = 'red' then 'rot'
> when "color" = 'green' then 'grün'
> when "color" = 'vlue' then 'blau'
> end
> ;
> end
> ;
>
>
>
> Viele Grüße,
>
> Claas
>
> --
> -----------------------------------------
> GKG-Kassel - Dr.-Ing. Claas Leiner
> QGIS-Support und mehr
>
> Geodatenservice, Kartenwerkstatt &
> GIS-Schule Kassel
>
> Wilhelmshöher Allee 304 E
> 34131 Kassel
> Tel. 0561/56013445
> claas.leiner at gkg-kassel.de
> ----------------------------------------
> http://www.gkg-kassel.de
> ----------------------------------------
> Unterstützen Sie QGIS
> QGIS-DE e.V. | http://qgis.de
> QGIS Projekt | http://qgis.org/de/site/
> --
> ....................................................................
> FOSSGIS Veranstaltungen
> https://www.fossgis.de/news/fossgis-events/
>
> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
> GIS-Bereich und Freier Geodaten!
> https://www.fossgis.de/ https://twitter.com/fossgis_eV
>
> ____________________________________________________________________
> FOSSGIS-Talk-Liste mailing list
> FOSSGIS-Talk-Liste at fossgis.de
> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
> --
> ....................................................................
> FOSSGIS Veranstaltungen
> https://www.fossgis.de/news/fossgis-events/
>
> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
> GIS-Bereich und Freier Geodaten!
> https://www.fossgis.de/ https://twitter.com/fossgis_eV
>
> ____________________________________________________________________
> FOSSGIS-Talk-Liste mailing list
> FOSSGIS-Talk-Liste at fossgis.de
> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste