Pues yo veo 3 fallos
bienes.DBEditgrupo.DataSource.DataSet.FieldByName(Fbienes.DBEditgrupo.Text).Asstring := '2'
1º - El inicio de la linea no seria:
Fbienes.DBEditgrupo.....
2º - Justo al final de esa misma linea te falta el punto y coma que te pide.
if (tira > 21) and (tira<49)
Then
** Fbienes.DBEditsub.DataSource.DataSet.FieldByName(Fbienes.DBEditsub.Text).Asstring := '02';
{else
if tira < }
end
<------------3º - este end sobra de momento
else
begin
MessageDlg('Debe abrir un nuevo registro antes de insertar los datos',mterror,[mbok],0);
Abort;
end;
Perdona por el mensaje anterior, jejeje, me comí algunos de los códigos de teclado, es que no me gusta nada andar con el raton y el teclado, así que
subrayo y uso las
negritas escribiendo sus códigos