[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