Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Werte in Nachschlagefeldern ersetzen

Begonnen von Ltblue, August 20, 2013, 10:36:52

⏪ vorheriges - nächstes ⏩

Ltblue

Hallo!

Ich habe ein Problem mit meiner bereits laufenden Datenbank.

In meiner Tabelle mit Personendaten "tblPerson" findet man u.a. diverse Informationen zum Wohnsitz des (in meinem Fall) Antragstellers.
Ich habe dort ein Nachschlagefeld, wo man die Bezirke auswählen kann, um Tippfehler usw zu vermeiden.

Jetzt hat es eine Bezirkszusammenlegung gegeben, wo zb aus den zwei separaten Bezirken "Bruck / Mur" und "Mürzzuschlag" ein Bezirk "Bruck - Mürzzuschlag" wurde. Deshalb soll nicht nur das Nachschlagefeld, sondern auch alle bereits eingegeben Daten (rund 18000) aktualisiert werden.
Ich habe mir das Ganze recht einfach vorgestellt mit "Suchen & Ersetzen".  ;D Leider funktioniert das nicht: "Die Tabelle enthält mindestens eins Nachschlagefeld. Anzeigewerte für Nachschlagefelder können nicht mir einem Ersetzungsvorgang geändert werden."

Meiner Meinung nach sollte dies auch mit einer Aktualisierungsabfrage funktionieren, tut es leider auch nicht: "Datentypenkonflikt in Kriterienausdruck."  :-\
UPDATE tblPerson SET tblPerson.HwsDztBezirke = "Bruck - Mürzzuschlag" WHERE (((tblPerson.HwsDztBezirke)="Bruck / Mur"));

Wie kann ich denn diese Werte "überschreiben"?

DF6GL

Hallo,

1) Nachschlagfelder (in Tabellen)  gehören in die Tonne.
2) Nachschlagewerte gehören in zusätzliche Tabellen, die mit der eigentlichen Tabelle 1:n in Beziehung gesetzt werden (sollen)
3) "Nachschlagen" (Auswahl von Vorgabedaten) erfolgt NUR in Formularen mittels Kombifelder.



Im akt. Fall dürften sich die Nachschlagewerte in einer Wertliste des Tabellen-Kombifeldes befinden. Finde zunächst heraus, welche ID-Werte u den betroffenen Einträgen gehören. Den ersten  Eintrag davon änderst Du in die neue Bezeichnung. Damit ist die Aktualisierung dafür erledigt.  Die Aktualisierung der Datensätze für den "anderen" Eintrag erfolgt über eine Aktualisierungsabfrage etwa so:


Update tblPerson set HwsDztBezirke = <<Wert der ersten ID>>  Where HwsDztBezirke = <<Wert der zweiten ID>>

Ltblue

Hi,

1) Ja das habe ich bei meiner Suche jetzt schon oft gelesen.  :D
2) Sorry, habe ich vergessen zu erwähnen. Das Feld "HwsDztBezirke" steht in einer 1:n Beziehung mit der Tabelle "tblBerzirke".
3) Ja, "nachgeschlagen" wird in meinem Fall in der Frontend Datei in einem Formular.

An die IDs habe ich (wie bereits so oft) nicht gedacht und es hat funktioniert. ;)

Vielen Dank! :)