Hola foro, la verdad es que estoy desconcertado. Os comento mi problema:
Al ejecutar la sentencia tabla.next, esta sentecia en vez de editarme el registro actual me edita el anterior, es decir, si yo estoy en el registro 4, al ejecutar la sentecia se coloca en el regitro 3 y lo edita (esto lo observo haciendo un seguimiento del programa linea por linea). ¿Por que me ocurre esto?
Existe dos caminos para llegar a ejecutarse esa sentencia, por uno de ellos esto que comento no pasa , pero por el otro si y el unico codigo que varia de un camino a otro es el siguiente (tabla = Tfichaventa):
Código SQL
[-]
query1.Close;
sql:='select * from fichaventa'+#13+
'where cliente = '+inttostr(datos.tticketcliente.value)+#13+
'and saldo <> 0'+#13+
'order by numero,fecha';
query1bde(query1,datos.GestAtm.AliasName,sql);
//si existe una ficha la modificamos
if query1.RecordCount <> 0 then
begin
query1.First;
datos.Tfichaventa.IndexName:='ficnum';
with datos.Tfichaventa do
begin
setkey;
datos.tfichaventanumero.AsInteger:= Query1numero.Value;
end;
detallesClick(Sender);