Aktualisierungsabfrage mit Unterabfragen, Fehler

27/09/2007 - 13:11 von Dietmar Thesing | Report spam
Hallo liebe Access-FreundInnen,
es hakt mal wieder - vermutlich bei den Unterabfragen?

Ich versuche mit AXP eine Aktualisierungsabfrage zu basteln,
die mir ausgewàhlte Daten einfach einen Datensatz höher schiebt,
Kriterium dafür ist eine Sortiernummer.
Beteiligt ist nur eine einzige Tabelle.

Die SQL-Anweisung zeigt mir eine aktualisierbare Abfrage an, wenn
ich sie in der Datenblattansicht anzeigen lasse. Auch genau einen
Datensatz, wie gewünscht.
Die Unterabfragen zeigen ebenfalls die gewünschten Daten an,
wenn ich sie einzeln anzeigen lasse.

Beim Versuch die komplette Abfrage auszuführen, erhalte ich die
Fehlermeldung:
Operation muss eine aktualisierbare Abfrage verwenden.

Hier der SQL-String
(TZID ist Autowert-Primàrschlüssel,
TR ist Fremdschlüssel):

UPDATE atblTZ
SET PicID (
SELECT PicID FROM atblTZ
WHERE
TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]
),
txtBildunterschrift (
SELECT txtBildunterschrift FROM atblTZ
WHERE
TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]
)
WHERE
lgSort(
SELECT lgSort
FROM atblTZ
WHERE
TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]-1
)
AND
TR=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTR]

Vielen Dank für Eure Hilfe,
herzliche Grüße
Dietmar
 

Lesen sie die antworten

#1 Stefan Hoffmann
27/09/2007 - 14:30 | Warnen spam
hallo Dietmar,

Dietmar Thesing schrieb:
es hakt mal wieder - vermutlich bei den Unterabfragen?


Ja, es geht in gewissen Situation hier nur mit Domànenaggregaten.

UPDATE atblTZ
SET PicID > (
SELECT PicID FROM atblTZ
WHERE
TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]
),
txtBildunterschrift > (
SELECT txtBildunterschrift FROM atblTZ
WHERE
TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]
)
WHERE
lgSort> (
SELECT lgSort
FROM atblTZ
WHERE
TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]-1
)
AND
TR=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTR]




UPDATE atblTZ
SET

PicID = DLookup("PicID", "atblTZ",
"TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]"),

txtBildunterschrift = DLookup("txtBildunterschrift", "atblTZ",
"TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]")

WHERE lgSort=(
SELECT lgSort
FROM atblTZ
WHERE
TZID=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTZID]-1)
AND
TR=[Forms]![frmEntwRez]![ctrfrmRezUF]![ctrfrmRezUFUF]![ctrTR]

Eventuell muß auch die Unterabfrage im WHERE noch ersetzt werden.

btw, [txtBildunterschrift] ist ein seltsamer Name für ein Feld, ich
würde es eher für den Name einer TextBox mit dem Feld [Bildunterschrift]
halten.


mfG

Access-FAQ http://www.donkarl.com/
KnowHow.mdb http://www.freeaccess.de
Newbie-Info http://www.doerbandt.de/Access/Newbie.htm

Ähnliche fragen