Enlazar tablas en foxpro

HOLA soy Brenda!
Estoy haciendo un progrmama relacioando la tabla checador a una temporal, el propósito es actualizar mi tabla temporal con los datos que corresponden a la fecha que indico desde un text. Cuando introduzco mi variable no hace nada y sin ella me compara toda la tabla. El código que tengo en mi botón actualizar toda la tabla es:
nfecha = thisform.text1.value
select checador
Go Top
Do While !Eof()
Select tempo
Replace tempo.fecha With checador.fecha FOR tempo.empleado == checador.empleado
Replace tempo.entrada With checador.entrada FOR tempo.empleado == checador.empleado
Replace tempo.salida With checado.salida FOR tempo.empleado == checador.empleado
Select checador
Skip
enddo
Thisform.refresh
No se donde ejecutar mi variable, ya intente colocando if, while y nada.
¿Me puedes ayudar?
Gracias

1 Respuesta

Respuesta
1
¿Bueno en primer lugar la variable que tu lees es del mismo tipo que el que tiene la tabla checador?
asumo que estas utilizando vfp6 en adelante
segundo porque no hacer una consulta sql, si estas trabajando con tablas se puede hacer, por ejemplo
select * from checador where checador.fecha=nfecha into cursor datos && las dos son tipo fecha
select * from checador where ttod(checador.fecha)=nfecha into cursor datos && el tipo de datos del checador es datetime
la instruccion que uses te regresara en un cursor la informacion que cumpla con la condicion where es decir que sea solo de la fecha que indiques y despues puedes hacer el barrido si lo deseas o bien puedes hacer un append from
select temporal
append from dbf(datos)
Claro que esto no te termitira ponerles una barra de progreso en el caso de que la información recopilada sea mucha
Asumo que estas usando vfp 6 en adelante
primero que nada verifica que la el campo de fecha sea fecha o datetime ya que no pudras hacer una comparacion entre fecha y datetime
segundo crea un cursor donde extraigas de la tabla checador la fecha que deseas
select * from checador where fecha = nfecha into cursor datos && tipos iguales
select * from checador where ttod(fecha)=nfecha into cursor datos && tipos distintos
la instruccion que selecciones te regresar una "tabla temporal" llamada datos con todos los registros que cumplan con la condicion where.
una vez que tienes la informacion entonces puedes hacer el barrido que describistes en tu pregunta o bien realizar un append from
select temporal
append from dbf('datos')
Cualquiera de los dos formas harán lo mismo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas