Danke für die schnelle Antwort!
Den ConnectionString habe ich geändert!
(einfach den Provider=MSDASQL rausgeschmissen) funktioniert genauso.

Wenn ich die Abfrage/Änderung "anders" mache
ertwa so
Code:
      aDataSet := TAdoDataSet.Create(nil);
      aDataSet.ConnectionString :=User Id=user;Password=passwort;Data Source=rhdbd_16;Driver=iSeries Access ODBC Driver;Initial Catalog=VWWE400;Mode=ReadWrite;';

// query zusammenbasten
      aDataSet.CommandText :=  'select WAAUMG from rhdbd_16.WAKO'
                      +' where WAFIRM='+quotedStr(firm)
                      +' and WAWKNR='+quotedStr(edtWerkNummer.Text)
                      +' and WAAUNR='+quotedStr(edtAuftragsNummer.Text)
                      +' and WAAUPO='+quotedStr(edtIndex.Text);

// ausführen
     try
      aDataSet.Active := True;
     except

         ShowMessage('Can´t open dataset!');
     end;
// datenQuelle Editieren einschalten
      aDataSet.Edit;
      recCount := aDataSet.RecordCount;
      if recCount >0 then
      begin
// zu ändernden wert setzen
aDataSet.FieldByName('WAAUMG').Value := edtBadParts.Text;
      end;

// änderungen posten
      try
        aDataSet.Post
      except
         ShowMessage('Write not exception!');
      end;
// aufräumen usw......
Wenn ich es so mache bekomme ich ein richtige Exeption und nicht "nur" eine zugriffsverletzung.

Die heißt:
Code:
EOleExeption: Meldung: '[IBM][iSeries Access ODBC-Treiber][DB2 UDB]SQL7967 - PREPARE für Anweisung WAKO beendet'. Prozess wurde angehalten ....
Vielleicht kann irgendjemand mit dieser Fehlermeldung mehr anfangen.

Gruß

Stefan