PDA

Ver la Versión Completa : Valores Fijos de I.V.A. en un DBGrid


gluglu
28-11-2005, 10:21:47
Hola Amigos !

Tengo en una tabla FIXEDVALUES grabados tres valores de tipo de I.V.A. (en InterBase tipo DECIMAL(5,2)) que al abrir un Form intento incluir en unas variables globales :public
var
VATTYPE1 : Real;
VATTYPE2 : Real;
VATTYPE3 : Real;
...

procedure TBookingFrame3.Panel1Enter(Sender: TObject);
begin
DataModule1.IBQueryCheck.SQL.Clear;
DataModule1.IBQueryCheck.SQL.Add('Select * from FIXEDVALUES');
DataModule1.IBQueryCheck.Prepare;
DataModule1.IBQueryCheck.Open;
VATTYPE1 := DataModule1.IBQueryCheck.FieldByName('VAT_TYPE_1').Value;
VATTYPE2 := DataModule1.IBQueryCheck.FieldByName('VAT_TYPE_2').Value;
VATTYPE3 := DataModule1.IBQueryCheck.FieldByName('VAT_TYPE_3').Value;
end;Después deseo incluir los valores correspondientes en el DBGrid, por lo que en el evento OnGetText del campo que está asignado a la columna correspondiente he incluido lo siguiente ya que en la Tabla Principal no se graban los correspondientes porcentajes de I.V.A. sino 1,2 o 3 según el tipo de I..V.A. asignado :procedure TDataModule1.IBQuery7VAT_TYPEGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Case IBQuery7VAT_TYPE.Value of
1: Text := TBookingFrame3.VATTYPE1;
2: Text := TBookingFrame3.VATTYPE2;
3: Text := TBookingFrame3.VATTYPE3;
end;
end;
Sé que me falta la conversión de tipo Real a Texto y creo que algo más para que me compile bien. Por ello os pido vuestra ayuda.

gluglu
28-11-2005, 10:44:26
He llegado hasta aquí :var
VATTYPE1 : String;
VATTYPE2 : String;
VATTYPE3 : String;

...
procedure TBookingFrame3.Panel1Enter(Sender: TObject);
begin
DataModule1.IBQueryCheck.SQL.Clear;
DataModule1.IBQueryCheck.SQL.Add('Select * from FIXEDVALUES');
DataModule1.IBQueryCheck.Prepare;
DataModule1.IBQueryCheck.Open;
VATTYPE1 := DataModule1.IBQueryCheck.FieldByName('VAT_TYPE_1').AsString;
VATTYPE2 := DataModule1.IBQueryCheck.FieldByName('VAT_TYPE_2').AsString;
VATTYPE3 := DataModule1.IBQueryCheck.FieldByName('VAT_TYPE_3').AsString;
end;
Y en el evento OnGetText :procedure TDataModule1.IBQuery7VAT_TYPEGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Case IBQuery7VAT_TYPE.Value of
1: Text := BookFrame3.VATTYPE1;
2: Text := BookFrame3.VATTYPE2;
3: Text := BookFrame3.VATTYPE3;
end;
end;
Pero ahora bien, ni consigo poner el tipo de I.V.A. en el formato que yo quiero (999,99%), ni tampoco al crear el DBGrid por primera vez me muestra los porcentajes ya que al parecer se crea el DBGrid antes de poder ejecutar el procedimiento Panel1Enter, por lo que solo me aparecen los valores de I.V.A. después de pasar por cada fila del DBGrid con el cursor.

Un saludo a todos y gracias por vuestra ayuda !