RefreshRecord - DBExpress con Interbase
Saludos al foro..
Estoy con Delphi 2006, Interbase 7.5 y componentes Dbexpress.
Tengo dos tablas (productos y grupos):
Productos
codigo_p
descrip_p
codigo_grupo
Grupos
codigo_grupo
nombre_grupo
Un FK de codigo_grupo entre ambas tablas
Tengo un componente:
SQLDataSet1=
'select p.codigo_p, p.descrip_p, p.codigo_grupo, g.nombre_grupo_p
from productos p
left join grupo p.codigo_grupo = g.codigo_grupo?'
En ProviderFlag estan asi:
codigo_p = [pfInUpdate,pfInWhere,pfInKey]
descrip_p = [pfInUpdate]
codigo_grupo = [pfInUpdate]
nombre_grupo = []
un DataSetProvider1 cuya propiedad UpdateMode = upWhereKeyOnly
Al final todo ello apuntando a un ClientDatset-->CDS
Cuando abro la consulta y la muestro en una grilla los datos son correctos.
Cuando añado/insert un nuevo registro y lo grabo con CDS.ApplyUpdates(0) no muestra el valor g.nombre_grupo.
Le doy un RefreshRecord tampoco se refresca el campo g.nombre_grupo.
(Con el IBExpert e visto que si hay algun valor en el campor codigo_grupo y por consecuencia deberia visualizarse un valor para g.nombre_grupo)
Pero si doy un CDS.Refresh o un "Reopen(CDS.close/CDS.open)" si se refresca el campo g.nombre_grupo del nuevo registro, pero es de suponer que he vuelto a leer todos los registros, cosa que no deseo, solo necesito refrescar el registro activo.
A la espera de su ayuda.
Startkill
Lima-Perú
|