Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
actualizar datos grid maestro detalle!!!!!

Buen día caballeros
una consulta estoy trabajando con dos tablas una de vendedores y otra de pedidos
tengo un formulario con un dbloockupcombobox del cual selecciono un vendedor y en una grilla me aparecen los pedidos de este

propiedades de dblookupcombobox
*************************
Código Delphi [-]
listsource := datasource(clientes)
listfield := nombre vendedor
keyfield := id del vendedor
//la grilla tiene estas prppiedades
datasource := datasource(pedidos)

//este datasource tiene como mastersource al datasource de los vendedores

el hecho es cuando en el combo cambia el cliente se muestran sus pedidos en la grilla, pero lo que deseo es mostrar en un label al momento de que selecciono un vendedor: el nro de registros (pedidos de ese vendedor) asi como el total de ventas, es decir que se sumen los montos de todos los pedidos, la pregunta es como podria hacer eso mas concretamente donde o en eque evento deberia programar ello

gracias por cualquier respuesta
Responder Con Cita
  #2  
Antiguo 14-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Hola david_uh

Bueno, primero las consultas de rutina.. .que delphi, que base de datos...??


te aconsejo realizar una Query, en donde puedes realizar la suma de las ventas...

De la forma que trabajo yo.. con Interbase seria algo similar a esto:

1 Query para sumar
2 Edit1 para ingresar codigo vendedor y mostrar total de ventas

Edit1.Text -> Codigo del Vendedor
Edit2.Text -> Monto Total de venta (del vendedor)

En la Queri tendria que tener esto

Código SQL [-]
     Query.SQL.Clear;
     Query.SQL.Add('Select Sum (Total_Vta) From Ventas');
     Query.SQL.Add('Where Cod_Vendedor=:Var1');
     Query.Params[0].AsString := Edit.Text;
     Query.Open;
     Query.First;

Para tener el total vendido, seria algo asi

Código Delphi [-]
Edit2.Text := IntToStr(Query['F_1']);

al menos con esto puedes solucionar parte de tu problema
__________________
BlueSteel

Última edición por BlueSteel fecha: 14-07-2007 a las 01:33:49.
Responder Con Cita
  #3  
Antiguo 14-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
en cuanto a obtener el total de Ventas realizadas por un vendedor, tendrias que utilizar:

1 query....
1 Edit

Código SQL [-]
     Query.SQL.Clear;
     Query.SQL.Add('Select * From Ventas');
     Query.SQL.Add('Where Cod_Vendedor=:Var1');
     Query.Params[0].AsString := Edit.Text;
     Query.Open;
     Query.First;

y para obtener el numero de registros.... seria algo así

Código Delphi [-]
Edit1.Text := IntToStr(Query.RecordCount)

ahora esto funciona a veces., yo lo utilizaba mucho y siempre bien.. pero el otro dia me di cuenta que en vez de entregarme 13, me decia 1...

y leyendo aca en foro.. no lo recomendaban.. por que siempre fallaba... mira este hilo http://www.clubdelphi.com/foros/show...ht=RecordCount
__________________
BlueSteel
Responder Con Cita
  #4  
Antiguo 14-07-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Encontre esta opcion, que la puede ocupar con 3 edit y 1 query.. y seria algo asi

Edit1.Text -> Cod Vendedor
Edit2.Text -> Total de Ventas
Edit3.Text -> Nº de Ventas

Código SQL [-]
     Query.SQL.Clear;
     Query.SQL.Add('Select Sum (Total_Vta), COUNT(*) From Ventas');
     Query.SQL.Add('Where Cod_Vendedor=:Var1');
     Query.Params[0].AsString := Edit.Text;
     Query.Open;
     Query.First;

Código Delphi [-]
  Edit2.Text := IntToStr(Query['F_1']);     // Si el valor es te tipo Integer pones IntToStr, y es de tipo Float pones FloatToStr
  Edit3.Text := IntToStr(Query['COUNT']);

ya y con eso deberias tener...
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 14-07-2007
Avatar de david_uh
david_uh david_uh is offline
Miembro
 
Registrado: may 2007
Ubicación: Arequipa, Perú
Posts: 227
Poder: 17
david_uh Va por buen camino
ok gracias por tu ayuda tu solución da más consistencia al programa al usar slq directamente muy agradecido si tienes msn el mio es david_uh gracias
Responder Con Cita
  #6  
Antiguo 15-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una alternativa, prácticamente equivalente, sería poner todo en una misma consulta que alimente al combo:

Código SQL [-]
select
  vendedores.campos,
  (
    select count(vendedor_id) from pedidos
    where vendedor_id = vendedores.id
  ) as num_pedidos,
  (
    select sum(monto) from pedidos
    where vendedor_id = vendedores.id
  ) as total_ventas
from vendedores

es decir, en la misma lista de vendedores tendremos el número depedidos de cada uno y el total de ventas. Con esto alimentamos el DBLookupComboBox y lo ponemos como maestro del DataSet de pedidos. Así, basta conectar un DBText o DBEdit a los campos num_pedidos y venta_total de la consulta maestra.

// Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar Maestro-Detalle Moparova Conexión con bases de datos 1 29-05-2007 23:57:28
Actualizar Maestro Detalle Moparova Conexión con bases de datos 2 18-05-2007 07:12:22
Como diseñar Bases de Datos en Paradox Maestro-Detalle Goyo Tablas planas 1 23-04-2007 22:13:01
Datos faltantes en Maestro/Detalle nax Conexión con bases de datos 4 28-11-2004 03:49:34
Maestro-Detalle ;Actualizar detalle a partir de un DBgrid norberto_larios Conexión con bases de datos 1 11-09-2004 18:17:34


La franja horaria es GMT +2. Ahora son las 11:12:29.


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