Vfp con access

hola buen día, mi inquietud es la siguiente, quiero calcular las horas trabajadas, estoy trabajando con vfp y access pero los campos donde se guardan las horas son tipo fecha y hora, es decir se guarda la fecha junto con la hora como por ejemplo:

"03/10/2013" 08:27:00 am

como hago para tomar solo las horas...

1 Respuesta

Respuesta
1

Si pudiste abrir access con fox y logarte supongo poner la inf de accces en un cursor de fox para sacar la fecha de date time solo usa date(campodeacces)para tomar las horas no es tan sencillo por que estas no funcionan igua que las fechas solo te queda hacer un substraer subs(campofecha, 14,8) tomando en cuenta las comillas como muestras en tu pregunta.

Hola que tal buen día, este es mi código

SQLEXEC(lnNHandle,"SELECT Checktime FROM Checkinout where logid=197 ","cursorA")
SELECT cursorA
A=subs(cursorA.Checktime,14,8)

la tabla checktime es de tipo datetime guardo los datos en el cursorA y hago la sentencia de arriba donde lo estoy guardando en una variable llamada A pero me sale un error...como podría hacer o sera que estoy haciendo la sentencia mala?

Me gustaría ver la estructura de tu cursor prueba con selec cursorA Displ struc para saber como vino en tipo de datos

lcArchivoMDB="c:\standard\AccessTest.Mdb" && Mi base de Access


lcConnStrin="DSN=MS Access Database;Dbq="+lcArchivoMDB+";No obstante=;Pwd=;"
lnNHandle = SQLSTRINGCONNECT(lcConnStrin) && conexión


SQLEXEC(lnNHandle,"select Checktime from Checkinout ,"cursorA")
SELECT cursorA

este es mi código completo el cual estoy extrayendo el campo datetime, entonces no encuentro la manera de trabajar solo con la hora, probe lo que me dijiste de esta manera

SELECT cursorA Displ struc y me da error

SELECT cursorA

Displ struc

Son dos ordenes separadas

mi amigo logre hacer el calculo que quería tomando solo la parte de la hora pero como caracteres y luego los pase a numérico, ahora bien tengo un detalle en cuanto hago una consulta como esta:

SQLEXEC(lnNHandle, "select CheckTime from Checkinout where CheckTime between '10/06/2013' and '10/06/2013' " ,"cursorA")

veraz estoy seleccionando el campo CheckTime que es mi campo datetime el cual necesito tomar un intervalo de fecha de un trabajador, pero la sentencia de arriba esta mala como hago para hacer la consulta tomar por ejemplo los datos del 11/11/2011 hasta 12/12/2012 de la tabla datetime, nota: la fecha en el campo se guarda con el formato indicado arriba + la hora..

No conozco mucho de access pero en fox lo haría así

select CheckTime from Checkinout where CheckTime between ctod( '10/06/2013') and ctod('10/06/2013') into cursor tmp consulta

Como vez cambio el carácter a fecha con ctod

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas