Pasar data de tabla A hasta tabla A

Buenas tardes Víctor, saludos desde Venezuela.
Te agradezco si puedes checarme estas lineas, la idea es trasladar datos de tabla sc_cl_lap hasta sc_cl, no repetir Nombres y al final ordenar la numeración.
El tema es que en tiempo de programación se ejecuta perfectamente, pero en tiempo de ejecución no lo hace. ¿Por favor donde puede estar el error?
Bien en un commandbutton, evento click coloque:
note: codi toexp
#DEFINE MSJ_LOC "Cliente Repetido.... "
#DEFINE MSJ2_LOC "Proceso Terminado.... "
#DEFINE MSJ3_LOC "Organizando Nro del Cliente.... "
#DEFINE MSJ4_LOC "Ordenando Fechas.... "
Select sc_cl
Append From sc_cl_lap
**aqui revisa en tabla sc_cl si los clientes de tabla sc_cl_lap estan repetidos
Select sc_cl
Go Top
Do While !Eof()
cNombre =nombre
Skip
If nombre ==cNombre
&& Repetido
WAIT WINDOWS MSJ_LOC at 15,40 TIMEOUT (3)
delete
pack && si esta repetido lo borra.
else
REPLACE sc_cl_lap.nro WITH sc_cl.nro
REPLACE sc_cl_lap.FECHA WITH sc_cl.Fecha
REPLACE sc_cl_lap.NOMBRE WITH sc_cl.Nombre
REPLACE sc_cl_lap.ATENCION WITH sc_cl.Atencion
REPLACE sc_cl_lap.DIRECCION WITH sc_cl.Direccion
REPLACE sc_cl_lap.TELEFONOS WITH sc_cl.Telefonos
REPLACE sc_cl_lap.PRECIO1 WITH sc_cl.Precio1
REPLACE sc_cl_lap.PRECIO2 WITH sc_cl.Precio2
REPLACE sc_cl_lap.PRECIO3 WITH sc_cl.Precio3
REPLACE sc_cl_lap.PRECIO4 WITH sc_cl.Precio4
REPLACE sc_cl_lap.EVACT WITH sc_cl.evact
REPLACE sc_cl_lap.NROHOM WITH sc_cl.Nrohom
EndIf
EndDo
WAIT WINDOWS MSJ4_LOC at 15,40 TIMEOUT (3)
SET ORDER TO FECHA
***Aqui ordena la secuencia numerica
WAIT WINDOWS MSJ3_LOC at 15,40 TIMEOUT (3)
LOCAL secu
secu = 0
SELECT sc_cl
GO top
SCAN
secu = secu + 1
replace sc_cl.nro WITH secu
Endscan
WAIT WINDOWS MSJ2_LOC at 15,40 TIMEOUT (3)
Gracias de antemano
Juan Manuel Oviedo
[email protected]

1 Respuesta

Respuesta
1
¿Marca algún error? ¿Ocupas las mismas tablas?
No marca ningún error, solo que en tiempo de programación colocándole data ficticia pasa los nombres que no están repetidos desde tabla sc_cl_lab hasta sc_cl y los repetidos efectivamente los borra (detete/pack). En tiempo de ejecución pasan coladitos los clientes repetidos.
Las dos tablas se abren en modo exclusivo.
Vuelve a generar los indices y utiliza una tabla no "ficticia" en desarrollo para probar la ejecución del código.
Bien. Lo haré te comento después
Muchas gracias víctor por tu ayuda los soluciones indexando antes la tabla sc_cl así:
note: codi toexp
*close tables all
#DEFINE MSJ_LOC "Cliente Repetido.... "
#DEFINE MSJ2_LOC "Proceso Terminado.... "
#DEFINE MSJ3_LOC "Organizando Nro del Cliente.... "
#DEFINE MSJ4_LOC "Ordenando Fechas.... "
#DEFINE MSJ5_LOC "Indexando Datos.... "
***
WAIT WINDOWS MSJ5_LOC at 15,40 TIMEOUT (3)
INDEX ON nombre TAG sc_cl
Select sc_cl
Append From sc_cl_lap
*****continua resto de codigo
Saludos desde barquisimeto.venezuela

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas