Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Wolf-Tilmann am November 11, 2022, 11:04:10

Titel: Update mit IIF. wo ist der Fehler im SQL-Statement?
Beitrag von: Wolf-Tilmann am November 11, 2022, 11:04:10
Hallöchen,

ich versuche gerade ein Update abhängig von anderen Voraussetzungen durchzuführen.
Also ein klassisches IF THEN ELSE

Dazu hole ich mir die entsprechenden Daten aus einem Formular.

Das funktioniert
INSERT INTO Tabelle1 ( bla, bli )
SELECT [Formulare]![F01]![pw_neu1], [Formulare]![F01]![pw_neu2];

Also kann ich auf die Felder des Formulars zugreifen und in meine Tabelle schreiben.

Bei der eigentlichen Tabelle will ich z.B. das Passwort ändern.

Mein SQL lautet wie folgt:
UPDATE t_sachbearbeiter SET sb_passwort =
IIf (
SELECT [FORMS]![f_pw_aendern]![pw_neu1] = SELECT [FORMS]![f_pw_aendern]![pw_neu2]
AND
SELECT [FORMS]![f_pw_aendern]![pw_alt] =
SELECT  [t_sachbearbeiter].[sb_passwort] FROM t_sachbearbeiter WHERE [t_sachbearbeiter].[ID_sachbearbeiter] = SELECT [FORMS]![f_pw_aendern]![pw_alt],
SELECT [FORMS]![f_pw_aendern]![pw_neu1],
SELECT [FORMS]![f_pw_aendern]![pw_alt])
WHERE ID_sachbearbeiter = (SELECT [FORMS]![f_login]![ID_sachbearbeiter]);

Wenn ich speichern möchte, markiert mir ACCESS den kompletten IIF-Bereich als falsch.

Sogar wenn ich mich auf den Teil im IIF beschränke kommt eine Fehlermeldung
IIf (
SELECT [FORMS]![f_pw_aendern]![pw_neu1] = SELECT [FORMS]![f_pw_aendern]![pw_neu2],
 SELECT [FORMS]![f_pw_aendern]![pw_neu1],
SELECT [FORMS]![f_pw_aendern]![pw_alt])

kann mir bitte jemand meinen Fehler zeigen?

Vielen Dank
Wolf-Tilmann
Titel: Re: Update mit IIF. wo ist der Fehler im SQL-Statement?
Beitrag von: ebs17 am November 11, 2022, 12:15:23
Streiche die SELECT-Orgie.