Cita:
Empezado por whatson
Gracias por la recomendacion.
De cualquier forma, Les pido de nuevo su ayuda, ya que no he podido resolverlo.
|
Creí que ya lo tenías:
Cita:
Empezado por whatson
Te agradezco Tu respuesta , en verdad creo que seria necesario pasar todo el codigo para que lo veas:
|
Este código (que es igual que tuyo, pero más "limpio") debería estar bien:
Código Delphi
[-]
if Key = VK_RETURN then begin
with FormPrincipal.ZQueryProds do
begin
Open;
If Locate('ARTICULO', EditVentas.Text,[loCaseInsensitive]) then
begin
with FormPrincipal.ZTableConsec do
begin
Locate('DATO', 'PARTVTA', [loCaseInsensitive]);
Edit;
FieldByName('Consec').AsInteger := FieldByName('Consec').AsInteger + 1;
SIGUIENTE := FieldByName('Consec').AsInteger ;
Post;
end; With FormPrincipal.ZQueryPartsVta do
begin
Append;
FieldByName('VENTA').asString := FormPrincipal.ZQueryVenta.FieldByName('VENTA').asString;
FieldByName('ARTICULO').asString := EditVentas.Text ;
FieldByName('CANTIDAD').asString := '1';
FieldByName('OBSERV').asString := FieldByName('DESCRIP').asString;
FieldByName('Precio').AsCurrency := FieldByName('Precio1').asCurrency;
FieldByName('ID_SALIDA').asInteger := SIGUIENTE;
Post;
FieldByName('IMPORTE').asCurrency := FieldByName('Precio1').asCurrency;
EditVentas.Clear;
end; end else
FormPrincipal.LabelError.Caption := 'Clave de articulo no encontada';
end; EditVentas.Clear;
end;
Ahora, funciona sólo si estás seguro de que todo lo que se encuentre en ZQueryProds como "ARTICULO" es seguro que también está en ZTableConsec como "DATO", sino, pues necesitarías hacer esta pequeña modificación:
Código Delphi
[-]
If Locate('ARTICULO', EditVentas.Text,[loCaseInsensitive]) then
begin
with FormPrincipal.ZTableConsec do
begin
If Locate('DATO', 'PARTVTA', [loCaseInsensitive]) then
begin
Edit;
FieldByName('Consec').AsInteger := FieldByName('Consec').AsInteger + 1;
SIGUIENTE := FieldByName('Consec').AsInteger ;
Post;
end else
FormPrincipal.LabelError.Caption := 'Clave de articulo no encontada';
end;
end else
FormPrincipal.LabelError.Caption := 'Clave de articulo no encontada';
end; EditVentas.Clear;
end;
Nota: repásate el uso de with ... do.
Nota 2: identa tu código (esto es, deja espacios a la izquierda, más espacios cuanto más subniveles de begins, ifs, fors y demás utilices), así será más legible (para los demás y para ti mismo).
Saludos.