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; 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; 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.