Felder in einer Tabelle überschreiben

Moderator: ModerationP

Felder in einer Tabelle überschreiben

Beitragvon Arnostoner » 04. Feb 2021, 13:21

Hallo,

ich habe in einer ACCDB 1 Tabelle. Dort sind z.B. Vor- und Nachnamen eingetragen. In gleicher (!) Tabelle gibt es weitere Felder, in denen bei Bedarf Korrekturen dieser Namen stehen. Wie schaffe ich es, (falls vorhanden) diese Korrekturen (automatisiert, da mehrere tausend Einträge) über die ursprünglichen Namen zu schreiben?
Müsste doch per Aktualisierung möglich sien, oder?
Beispiel im Anhang.

Dankeschön
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 134
Registriert: 04. Jan 2021, 15:55

Re: Felder in einer Tabelle überschreiben

Beitragvon Yaslaw » 04. Feb 2021, 13:50

Hab dein Zip nicht runtergeladen.
Grundsätzlich ein ganz einfaches Update-Query (auf Deutsch ev. Ausführungsabfrage?)

Code: Alles auswählen
UPDATE my_table
SET vorname = new_vorname
WHERE NOT new_vorname IS NULL
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements sind formatierbar)
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
Benutzeravatar
Yaslaw
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3115
Registriert: 02. Jul 2014, 15:25
Wohnort: Winterthur

Re: Felder in einer Tabelle überschreiben

Beitragvon Arnostoner » 04. Feb 2021, 14:10

Danke. Ich habe es probiert. Die Abfrage ersetzt merkwürdigerweise alle Feldeinträge der Haupttabelle und nicht nur die wenigen mit Korrekturen. Das Hauptfeld hat also zwar dannach die korrigierten Namen, aber auch die Leerzellen aus den Fällen, wo es keine Korrektur gab statt der ursprünglichen Namen (die ja bleiben sollen)! Ähnliches Problem habe ich auch bei einer anderen Abfrage aus zwei Tabellen.
Eine Idee, was da problematisch sein könnte?
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 134
Registriert: 04. Jan 2021, 15:55

Re: Felder in einer Tabelle überschreiben

Beitragvon Yaslaw » 04. Feb 2021, 14:15

Deine Leeren Felder sind nicht NULL. Ev. Empty oder ein Leerzeichen.
Da hilft manchmal TRIM(NZ()).

Code: Alles auswählen
WHERE TRIM(NZ(new_vorname)) <> ""


NZ() macht aus Null -> Empty odder halt der Wert der drin steht
TRIM() damit bringst du Felder weg, die ev. ein Leerzeichen beinhalten

Code: Alles auswählen
?TRIM(NZ(NULL)) = ""
True
?TRIM(NZ("")) = ""
True
?TRIM(NZ(" ")) = ""
True
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements sind formatierbar)
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
Benutzeravatar
Yaslaw
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3115
Registriert: 02. Jul 2014, 15:25
Wohnort: Winterthur

Re: Felder in einer Tabelle überschreiben

Beitragvon Arnostoner » 04. Feb 2021, 15:49

Hallo,
wo setze ich denn diesen Code ein? Kriterium?
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 134
Registriert: 04. Jan 2021, 15:55

Re: Felder in einer Tabelle überschreiben

Beitragvon Yaslaw » 04. Feb 2021, 16:06

WHERE ist das Kriterium - jepp
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements sind formatierbar)
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
Benutzeravatar
Yaslaw
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3115
Registriert: 02. Jul 2014, 15:25
Wohnort: Winterthur

Re: Felder in einer Tabelle überschreiben

Beitragvon Arnostoner » 04. Feb 2021, 16:20

Yaslaw hat geschrieben:WHERE ist das Kriterium - jepp


Eingegeben im Kriterium des entsprechenden Feldes:
Code: Alles auswählen
WHERE TRIM(NZ(Variable)) <> ""

Ich erhalte leider die meldung: "Der von Ihnen eingegebene Ausdruck ist syntaktisch falsch. Sie haben möglicherweise einen Operanden, aber keinen Operator eingegeben."
PS: Diesen Code habe ich als Kriterium der Abfrage eingegeben. Da ich (noch) etwas doof bin, war das nicht korrekt? Und was ist mit dem anderen benannten Code, ist der zusätzlich irgendwo anzuwenden?
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 134
Registriert: 04. Jan 2021, 15:55

Re: Felder in einer Tabelle überschreiben

Beitragvon Yaslaw » 04. Feb 2021, 16:25

WHERE ist SQl. Das siehst du in der SQL-Ansicht.
Im idiotischen unbrauchbaren Klickibunti-Editor musst du das ohne WEHRE eingeben.
Keine AHnung, ev. musst du die Befehle auch noch auf Deutsch übersetzen - ich traue das MS zu.

Grundsätzlich erspart man sich viel Ärger wenn man mit der englischen Version arbeitet...
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements sind formatierbar)
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
Benutzeravatar
Yaslaw
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3115
Registriert: 02. Jul 2014, 15:25
Wohnort: Winterthur

Re: Felder in einer Tabelle überschreiben

Beitragvon Arnostoner » 04. Feb 2021, 16:35

Ok danke, folgendes in SQL probiert:

Code: Alles auswählen
UPDATE 2tbl_Haupttabelle INNER JOIN 2tbl_update ON [2tbl_Haupttabelle].[ID#] = [2tbl_update].[ID] SET [2tbl_Haupttabelle].Bundesland = [2tbl_update].Bundesland_K
WHERE ((Trim(Nz("Bundesland_K"))<>""));


Ergebnis leider unverändert. Oder muss ich vorher noch die Leerzellen mit dem anderen genannten Code ersetzen?
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 134
Registriert: 04. Jan 2021, 15:55

Re: Felder in einer Tabelle überschreiben

Beitragvon KlausMz » 04. Feb 2021, 18:55

Hallo,
ich blicke da schon lange nicht mehr durch, was Du jetzt wo machen willst.

Warum beschäftigst Du mehrere Foren ?

https://www.access-o-mania.de/forum/ind ... msg150658;

Es ist unerwünscht.
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 40042
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: Felder in einer Tabelle überschreiben

Beitragvon Arnostoner » 05. Feb 2021, 13:48

KlausMz hat geschrieben:Warum beschäftigst Du mehrere Foren ?
https://www.access-o-mania.de/forum/ind ... msg150658;


Weil ich 1) nicht wusste, dass scheinbar alle Foren durch weitgehend die gleichen Access-Gurus betrieben werden. Weil 2) ich hoffte, dort eine Lösung zu erhalten, da vielleicht weitere User eine Idee haben. War weder Boshaftigkeit noch Langeweile.
PS: Um nicht weiter in Ungnade zu falle, werde ich die von mir gefundene Lösung des Problems im o.g. Parallelforum beschreiben. Um künftig anderen Usern mit ähnlichen Schwierigkeiten die Fehlersuche zu erleichtern.
Gruß Arno
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 134
Registriert: 04. Jan 2021, 15:55


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste