Wenn ich mir nach dem Select die Struktur in der
Query anschaue, dann sehe ich keinen Primärschlüssel, obwohl in der
DB einer definiert ist.
Das ist definitiv zumindest
ein Hinderungsgrund für das Update. Es gibt mindestens zwei Möglichkeiten das mit Bordmitteln zu lösen:
1. Du sorgst dafür, dass das Feld für den Primärschlüssel auch als solches definiert ist. Am Einfachsten legst du das Feld statisch an und setzt in dessen ProviderFlags das pfInKey auf True. Damit die übrigen Felder dynamisch angelegt werden, musst du noch in der
Query in FieldOptions das AutoCreateMode auf acCombineAlways setzen.
2. Du änderst in der
Query in den UpdateOptions den UpdateMode auf upWhereAll.