Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-04-2005
jmlifi jmlifi is offline
Miembro
 
Registrado: abr 2005
Posts: 188
Poder: 20
jmlifi Va por buen camino
Decimales (uAVG)

Tras una consulta que he utilizado AVG(campo) el resultado me devuelve muchos decimales. Que sentencia o instrucciónn tengo que utilizar para que la consulta me devuelva sólo 2 decimales.
Responder Con Cita
  #2  
Antiguo 12-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
 TFloatField(Query1.FindField('Nombre_Campo')).DisplayFormat := ',0.00';

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 12-04-2005
jmlifi jmlifi is offline
Miembro
 
Registrado: abr 2005
Posts: 188
Poder: 20
jmlifi Va por buen camino
Cita:
Empezado por marcoszorrilla
Código Delphi [-]
 TFloatField(Query1.FindField('Nombre_Campo')).DisplayFormat := ',0.00';

Un Saludo.
El avg me devuleve registros con muchos decimales ej: 0,2312321321312 .
Quiero convertirlo en 0,23.
Si te sirve de algo los registros se muestran en un DBGrid.
saludos.
Código Delphi [-]
  with tblPedidos,Sql do begin
       Pedidos.Close;
       Clear;
       Add('select nesting.pedido,avg(nesting.aprov) mediapedidos ');
       Add('from nesting,pedidos,clientes ');
       Add('where nesting.pedido=pedidos.pedido and 
       Add('group by  nesting.pedido ');
       Add('order by  pedidos.f_ped');
       AbreDbf([Pedidos]);
  end;

Última edición por marcoszorrilla fecha: 12-04-2005 a las 18:52:34.
Responder Con Cita
  #4  
Antiguo 12-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Da lo mismo en donde se visualice lo que hay que dar formato es a la consulta

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 TFloatField(Query1.Fields[1]).DisplayFormat := ',0.00';
 end;

Como veo que no usas campos persistentes , tenemos que partir de la columna que ocupa el campo a formatear, teniendo en cuenta que las columnas van de 0.....xx, en el ejemplo el formato se lo damos a la columna 2 de la consulta

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 12-04-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Y por que no dejas que el motor de BD se encargue de eso, yo lo haria de esta forma:

Código SQL [-]
 SELECT Id,Nombre, Fecha_ingreso, Format(AVG(Salario),2) AS Salario FROM Empleados Group By ID ORDER BY Salario DESC;

SALU2.
Responder Con Cita
  #6  
Antiguo 13-04-2005
jmlifi jmlifi is offline
Miembro
 
Registrado: abr 2005
Posts: 188
Poder: 20
jmlifi Va por buen camino
Sigue sin funcionar

La instrucción: TFloatField(tblPedidos.Fields[1]).DisplayFormat := ',0.00';
Me sigue sin funcionar.

Trabajo bajo Interbase y tengo el siguiente codigo:

with tblPedidos,Sql do begin
Pedidos.Close;
Clear;
TFloatField(tblPedidos.Fields[1]).DisplayFormat := '0.00';

Add('select nesting.pedido,avg(nesting.aprov) mediapedidos ');
Add('from nesting,pedidos,clientes ');
Add('where nesting.pedido=pedidos.pedido and pedidos.codcliente=clientes.codigo ');
if EditPedido.Text<>'' then begin
Add(' and nesting.pedido=' +QuotedStr(EditPedido.Text));
end;
if EditCliente.Text<>'' then begin
Add(' and clientes.nom=' + QuotedStr(EditCliente.Text));
end;
if EditDesde.Text<>'' then begin
Add(' and pedidos.f_ped>=' + QuotedStr(ModificarFecha(EditDesde.Text)));
end;
if EditHasta.Text<>'' then begin
Add(' and pedidos.f_ped<=' + QuotedStr(ModificarFecha(EditHasta.Text)));
end;
Add('group by nesting.pedido ');
Add('order by pedidos.f_ped');
AbreDbf([Pedidos]);
end;
Responder Con Cita
  #7  
Antiguo 13-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
 
   with tblPedidos,Sql do begin
        Pedidos.Close;
        Clear;
 
        Add('select nesting.pedido,avg(nesting.aprov) mediapedidos ');
        Add('from nesting,pedidos,clientes ');
        Add('where nesting.pedido=pedidos.pedido and pedidos.codcliente=clientes.codigo ');
        if EditPedido.Text<>'' then begin
          Add(' and nesting.pedido=' +QuotedStr(EditPedido.Text));
        end;
        if EditCliente.Text<>'' then begin
           Add(' and clientes.nom=' + QuotedStr(EditCliente.Text));
        end;
        if EditDesde.Text<>'' then begin
           Add(' and pedidos.f_ped>=' + QuotedStr(ModificarFecha(EditDesde.Text)));
        end;
        if EditHasta.Text<>'' then begin
           Add(' and pedidos.f_ped<=' + QuotedStr(ModificarFecha(EditHasta.Text)));
        end;
        Add('group by  nesting.pedido ');
        Add('order by  pedidos.f_ped');
        AbreDbf([Pedidos]);
         TFloatField(tblPedidos.Fields[1]).DisplayFormat := '0.00';
  
   end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 14-04-2005
jmlifi jmlifi is offline
Miembro
 
Registrado: abr 2005
Posts: 188
Poder: 20
jmlifi Va por buen camino
tampoco funciona

me da el siguiente error:

List index Out of bounds(1) //fuera de rando
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:24:36.


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
Copyright 1996-2007 Club Delphi