Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Valores Fijos de I.V.A. en un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=27662)

gluglu 28-11-2005 10:21:47

Valores Fijos de I.V.A. en un DBGrid
 
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 :
Código Delphi [-]
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 :
Código Delphi [-]
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í :
Código Delphi [-]
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 :
Código Delphi [-]
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 !


La franja horaria es GMT +2. Ahora son las 21:50:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi