Hallo DPler,
ich hab ein Problem beim in-place editieren im DBGrid bei einer Master-Detail-Beziehung.
Wenn ich im Master-DBGrid (Tabelle heißt "Species") einen neuen Eintrag über den Inplace Editor anlege und im zweiten Grid (Tabelle heißt "Breed") einen neuen Datensatz anlege hab ich das Problem das der Wert des "ID"-Feldes des Master-Datasets "Species" noch nicht verfügbar ist.
Wie handhabe ich soetwas in Delphi 7?
Meine Versuch im Details bisher:
Als Dataset verwende ich TIBDataset, zur Anzeige das TDBGrid und bei den "ID"-Feldern beider Tabellen habe ich "AutoGenerateValue" auf "arAutoInc" (und bei "ProviderFlags" "pfInKey") gesetzt. Im OnBeforePost-Ereignis des Detail-Dataset versuche ich nun folgendes wobei "ibdsSpecies.FieldByName('ID').AsInteger" "0" ist:
Delphi-Quellcode:
procedure TPmEdit.ibdsBreedBeforePost(DataSet: TDataSet);
begin
DataSet.FieldByName('SpeciesID').AsInteger :=
ibdsSpecies.FieldByName('ID').AsInteger;
end;
Vielen Dank für eure Hilfe