Guillermo, te cuento como lo hago y ves si te sirve
Para cargar clientes uso una Queue que llamo QResumen
y dos windows con el boton de OK y CANCEL cada una
En la primera muestro la Queue y en la segunda doy de alta en forma manual los clientes. ( Solo permite agregar)
la primer pantalla tiene el List y un boton: Agregar y he activado la tecla InsertKey desde ALERTKEY.
En WindowsEnvent
...................... AlertKey ! agrego esto:
IF KEYCODE() = InsertKey ! si presionó la tecla Insert
AgregaCliente ! LLamo a la Windos de Agregar Cliente
do Cargo ! va a cargar la Queue
Display
END
.....................
! en el boton Agregar esto:
AgregaCliente ! LLamo a la Windos de Agregar Cliente
do Cargo ! va a cargar la Queue
Display
----------------
! en routines agrego la carga, muestra y me posiciono en el ultimo registro
Cargo Routine
Free (QResumen)
I = 0
C# = 1
Clear(CLI:Record)
SET (CLI:KeyCodCliente,CLI:KeyCodCliente)
LOOP UNTIL Access:Clientes.Next()
i += 1
QR:CodCliente = CLI:CodCliente
QR:ApellidoNombre = CLI:ApellidoNombre
QR:Direccion = CLI:Direccion
QR:SitIva = CLI:SitIva
C# = CLI:CodCliente
ADD(QResumen,i)
IF ERRORCODE() THEN STOP(ERROR()).
End
Sort (QResumen,QR:CodCliente)
ThisWindow.ForcedReset=True
ThisWindow.Reset
SELECT(?QResumen,RECORDS(QResumen)) ! VA AL ULTIMO REGISTRO DE LA QUEUE
Display
Espero te sirva
Desde Venado Tuerto - Argentina - Un abrazo
PD: Tengo una pequeña APP que te puede servir para ver como lo hago
[email protected]
Mañana me voy a ausentar por un tiempo, si no respondo en forma rápida ya conocen el motivo