Hallo zusammen.
Ich steh grad auf dem Schlauch mit der Fehlermeldung, die kommt, unmittelbar nachdem ich das Dataset in den Edit-Mode gesetzt habe. Dataset.state ist dsEdit.
Vielleicht seh den Wald vor lauter Bäumen nicht. Wär schön wenn einer von euch die passende Axt auspacken könnte.
Danke im voraus.
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var
Tnr, Inr, Gnr : Integer;
begin
if not Form1.tabuecher.InTransaction then Form1.tabuecher.StartTransaction;
Form1.dsTitel.Close;
Form1.dsTitel.SelectSQL.Text := 'select TitelNr, Genre from Titel where Sammelband = ' +QuotedStr('J');
Form1.dsTitel.Open;
Tnr := Form1.dsTitel.FieldByName('TitelNr').Value;
Gnr := Form1.dsTitel.FieldByName('Genre').Value;
Form1.dsInhalt.Close;
Form1.dsInhalt.SelectSQL.Text := 'select InhaltNr, Genre from Inhalt order by InhaltNr';
Form1.dsInhalt.Open;
repeat
Form1.qyRTitelInhalt.Close;
Form1.qyRTitelInhalt.SQL.Text := 'select TitelNr, InhaltNr from RTitelInhalt where TitelNr = :nr';
Form1.qyRTitelInhalt.ParamByName('nr').Value := Tnr;
Form1.qyRTitelInhalt.Open;
repeat
Inr := Form1.qyRTitelInhalt.FieldByName('InhaltNr').Value;
Form1.dsInhalt.Edit;
>>>hier kommt der Fehler>>> if Form1.dsInhalt.Locate('InhaltNr', Inr, []) then Form1.dsInhalt.FieldByName('Genre').Value := Gnr
else
Begin
ShowMessage('In die Tabelle Inhalt konnte in den Datensatz mit der Nummer ' + IntToStr(Inr) + 'kein Wert für Genre eingetragen werden' +#13+ 'Programm wird abgebrochen.');
Form1.tabuecher.Rollback;
Break;
End;
Form1.qyRTitelInhalt.Next;
until Form1.qyRTitelInhalt.Eof;
Form1.dsTitel.Next;
until Form1.dsTitel.Eof;
Form1.tabuecher.Commit;
Form1.Close;
end;
end.