Hola buen dia..
Primero debo de agradecer a los participantes de este club por ayudarme mas de una vez en mis problemas..
Bueno paso al grano armo una consulta SQL y abro el dataset (Open) posteriormente necesito que un campo que viene en la consulta sea modificable es decir que su valor salga de de otros campos de la misma consulta y una condicion, investigando en la red encontre que podia ponerlo en Edit; y luego guardarlo con el Post; Pero me lanza un error al ponerlo en edicion..
Por favor requiero de ayuda o alguna informacion.
El codigo es el siguiente:
Código Delphi
[-]
Consulta.Close;
Consulta.SQLs.SelectSQL.Clear;
Consulta.SQLs.SelectSQL.Add(' Select Prod.nombre_producto,Sus.nombre as sustancia,Prov.nombre_proveedor,Cat.Id_categoria,Cat.nombre as categoria,Prod.aplicar_descuento,'
+' Prod.costo_referencia,Prod.iva,Prod.ganancia,Prod.precio_farmacia,Prod.precio_maximo,Prod.Precio_Max imo As Precio_Con_Descuento'
+' From categorias Cat, medidas Me,sustancias_activas Sus,proveedores Prov,productos Prod'
+' where cat.id_categoria = Prod.id_categoria And Me.id_medida = Prod.id_medida And Sus.id_sustancia_activa = Prod.id_sustancia_activa'
+' And Prov.id_proveedor = Prod.id_proveedor');
try
Consulta.Open;
except on E: Exception do
begin
Raise;
Exit;
end;
end;
Consulta.First;
Consulta.Edit;
while not consulta.Eof do
begin
with Consulta do
begin
if(FieldByName('Aplicar_Descuento').AsString = 'SI') then
begin
for I := 0 to ListaDescuentos.Count do begin
if FieldByName('id_Categoria').AsInteger = TDescuentos_Clientes(ListaDescuentos[i]).Id_Categoria then
begin FieldByName('Precio_Con_Descuento').AsCurrency :=FieldByName('Precio_Maximo').AsCurrency - (FieldByname('Precio_Maximo').AsCurrency * TDescuentos_Clientes(ListaDescuentos[i]).Descuento);
end;
end;
end;
consulta.next;
end;
end;
Consulta.Post;
Deberas que se lo agradecere muchisimo...