si gracias por responder pero use decimal(4,2), el problema ahora es mayor proque si cambio el asfloat por ascurrency, ademas de haber cambiado en el query
Código Delphi
[-]
Campo6 := Tcurrencyfield.Create(fmodulo.zqprecios);
Campo6.FieldName := 'precio';
Campo6.FieldKind := fkdata;
Campo6.DataSet := fmodulo.zqprecios;
Campo3 := Tfloatfield.Create(fmodulo.zqprecios);
Campo3.FieldName := 'preciocoste';
Campo3.FieldKind := fkdata;
Campo3.DataSet := fmodulo.zqprecios;
donde campo6 es del tipo currencyfield y el campo3 es floatfield, ahi el currency da error de violacion.
Pense que si cambiaba el floatfield por currencyfield era lo mismo.