Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 22-02-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Yare.

Paciencia, paciencia que no hay muchos deambulando a esta hora...

Agrega al form:
  • Un TIBQuery, (o el equivalente en los componentes que uses) que le daremos por nombre: Tu_Query.
  • Un TDataSource asociado al query que denominaremos: dsQuery.
  • Un TDBEdit para ir mostrando la existencia.
Las asignaciones de los ejemplos siguientes podes realizarlas desde el Object Inspector en tiempo de diseño; para darle más claridad lo hago por código .

Si ya tenes actualizadas las existencias en tabla EXISTENCIA:
Código Delphi [-]
procedure TForm.FormCreate(Sender: TObject);
begin
  with Tu_Query do
  begin
    DataSource:= dsVentas; // TDataSource asociado a tabla VENTAS
    Close;
    SQL.Clear;
    SQL.Add('SELECT CANTIDAD AS STOCK FROM EXISTENCIA');
    SQL.Add('WHERE CODIGO_BARRAS = :CODIGO_BARRAS'); // (*)
    Open;
  end;
  DBEdit1.DataSource:= dsQuery;
  DBEdit1.DataField := 'STOCK';
end;

Si no tenes actualizadas las existencias en la tabla EXISTENCIA, podes obtenerlas restando a el campo CANTIDAD de la tabla COMPRAS el campo CANTIDAD de la tabla VENTAS. Para lo que habría que cambiar un poco la consulta:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  with Tu_Query do
  begin
    DataSource:= dsVentas; // TDataSource asociado a tabla VENTAS
    Close;
    SQL.Clear;
    SQL.Add('SELECT TC.CANTIDAD - TV.CANTIDAD AS STOCK');
    SQL.Add('FROM COMPRAS TC, VENTAS TV');
    SQL.Add('WHERE TC.CODIGO_BARRAS = TV.CODIGO_BARRAS');
    SQL.Add('AND TV.CODIGO_BARRAS = :CODIGO_BARRAS'); // (*)
    Open;
  end;
  DBEdit1.DataSource:= dsQuery;
  DBEdit1.DataField := 'STOCK';
end;
De ambos modos mientras te vayas desplazando por los diferentes artículos mostrará la existencia en el TDBEdit.

(*) Es indispensable que lo que sigue a los ':' (CODIGO_BARRAS) sea exáctamente el nombre del campo de la tabla VENTAS. Y que la propiedad DataSource del query apunte al TDataSource asociado a la tabla VENTAS para que se vaya mostrando la existencia al desplazarse por la misma.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
El programa se queda "colgado" mientras copia y luego "despierta" NeWsP OOP 5 10-03-2010 22:05:40
"OBJECT OR CLASS TYPE REQUIRED" en "APPLICATION EXENAME" Xavierator Varios 3 27-10-2008 09:09:50
Como hacer que se vea "Si" en vez de "TRUE" en un DBGrid lu9eui C++ Builder 2 07-08-2007 04:03:13
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53


La franja horaria es GMT +2. Ahora son las 03:17:58.


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