Ano, je tam něco takového
Select * from OBJEDNAVKY o left join VYROBKY v on (v.id_vyrobky=z.vyrobky_id ) WHERE objednavka_id='+IntToStr(id)+' order by poradi_zakazky ASC;
Potřebuji v podstatě vykonat update pouze tabulku OBJEDNAVKY, neboť ty VYROBKY jsou tam právě jen kvůli tomu nahrazení názvu výrobku místo id_výrobku.Vytvořil jsem něco jako toto (dole). Příkazy se spouští u adoquery, který vykoná ten select. Myslel jsem, že bych toto spustil BeforePost(), a samotné post nějak zakázal. Vím, není to úplně nejlepší řešení, ale nic jiného mě nenapadá...
//funkce vrátí id výrobku, z tabulky VYROBKY podle vybraného názvu výrobku v DBgridu z PickListu.
idv:=getIdOfValue(DataModule2.ADOConnection1,'Vyrobky','Select id_vyrobky from Vyrobky where nazev="'+(!!tady nevim, co dát!!)+'"');
//tady vytvorim update vybraneho zaznamu. Uloží se do pole vyrobky_id právě to nalezené id.
dataset.CommandText:='update Zakazky set vyrobky_id ='+intToStr(idv)+' where id_objednavky='+(tady bych dal id_objednavky, což je právě upravovaný řádek)+'';