Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: BikeArno am März 28, 2022, 14:08:26

Titel: Per Aktualisierungsabfrage Fehler im Datensatz korrigieren
Beitrag von: BikeArno am März 28, 2022, 14:08:26
Hallo,

mal wieder ein Problem, an dem ich hänge. Zur Veranschaulichung habe ich im Anhang einen kleinen Datensatz erstellt mit den Spalten "RICHTIG" und "FALSCH" mit den Angaben "true". Nun gibt es einige Datensätze, bei denen beide Spalten mit "true" markiert wurden, was natürlich falsch ist, da eine Lösung entweder falsch oder richtig sein muss. In einer dritten Spalte wurde deshalb die korrekte Angabe (Richtig oder Falsch) hinterlegt.

Ich möchte den Datensatz nun mittels Aktualisierungsabfrage korrigieren. In den Spalten "RICHTIG" und "FALSCH" sollen die doppelten "falschen" "true" gelöscht werden. Im Beispiel (Anhang) dürfte dann also z.B. in Zeile 2 nur ein "true" in Spalte C, nicht B stehen. Wie bekomme ich das per Afrage gelöst?

Freue mich über Lösungsvorschläge.

Titel: Re: Per Aktualisierungsabfrage Fehler im Datensatz korrigieren
Beitrag von: Beaker s.a. am März 28, 2022, 18:01:23
Das Archiv ist leer.
Titel: Re: Per Aktualisierungsabfrage Fehler im Datensatz korrigieren
Beitrag von: BikeArno am März 29, 2022, 11:31:44
Danke für den Hinweis, anbei nochmal die Beispieldatei.
Titel: Re: Per Aktualisierungsabfrage Fehler im Datensatz korrigieren
Beitrag von: DF6GL am März 29, 2022, 13:22:26
Hallo,

es ist völlig unklar, was mit einem solchen Tabellenaufbau überhaupt erreicht werden soll..

- überflüssiges Doppel-Gemoppel von boolschen Attributen.
- Werte als Spaltenüberschriften unbrauchbar
- keine Beachtung von Normalisierungsregeln
- falsche Datentypen


Zitatda eine Lösung entweder falsch oder richtig sein muss.


es reicht für einen solchen Fall doch völlig aus, ein Feld "Lösung" (oder ähnlich) vom Datentyp Ja/Nein in der entspr. Antworten-Tabelle mitzuführen..  Ein Haken bedeutet: Richtig,  kein Haken bedeutet: Falsch  ,  NULL (kein Eintrag) bedeutet:  Frage nicht gelöst, bzw. unbeantwortet


Evtl. kann für einen solchen "Tri-State"- Zustand  das Tabellenfeld auch vom Datentyp Zahl, Long sein und mit einem Optionsrahmen angezeigt werden, das die Werte 0  (keine Lösung), 1  (falsch), 2 (richtig)   darstellt.



Wie auch immer:

Update Beispiel Set Richtig = Null, Falsch = "true" Where [Korrekt wäre] = "falsch"

Update Beispiel Set Richtig = "true", Falsch = Null Where [Korrekt wäre] = "richtig"

Titel: Re: Per Aktualisierungsabfrage Fehler im Datensatz korrigieren
Beitrag von: BikeArno am März 29, 2022, 13:57:37
Zitat von: DF6GL am März 29, 2022, 13:22:26Update Beispiel Set Richtig = Null, Falsch = "true" Where [Korrekt wäre] = "falsch"

Update Beispiel Set Richtig = "true", Falsch = Null Where [Korrekt wäre] = "richtig"



Hallo Franz,

vielen Dank, der Code ermöglicht genau das, was Ziel war. Super. Wieder was gelernt...

Deine Kritik ist berechtigt. Dieser Datensatz ist als "Anschauungsmaterial" zu sehen, den Fall besser zu verstehen - und wie man es besser nicht macht. Tatsächlich habe ich einen ähnlichen Datensatz extern als xls zugeleitet bekommen... Mir ging es tatsächlich nur darum, wie man diesen "Quark" mit Access zumindest teilweise "korrigiert" bekommt. Danke!