type en una tabla de base de datos

48 views
Skip to first unread message

Oswal Noguera

unread,
Jun 18, 2017, 10:43:38 PM6/18/17
to Comunidad de Visual Foxpro en Español
muchachos una pregunta, que type puedo usar para solo tiempo en una tabla, que solo me de la hora nada mas 00,00,00, 
ejemplo:

 yo en la tabla asistencia tengo:
Nombre   -  type

Fecha - date   :   es la clave principal
CedulaEmpleado -  INTEGER
Hora de Salida - este quiero colocarlo solo que me de la hora vez y no usar el datetime. 
Hora de Entrada - PARA ESTE QUIERO LO MISMO

qUIEN ME PUEDE ACLARAR ESA DUDA SI SE PUEDE. O NO PORFAVOR. CON PACIENCIA Y CON CODIGO ENTIENDO CON TEORIA NO MUCHO.



Fidel Charny

unread,
Jun 19, 2017, 6:04:43 AM6/19/17
to Comunidad de Visual Foxpro en Español
Para guardar ese formato tienes que usar un campo Character.
Sin embargo, no es práctico, al menos por dos motivos (no agrego más porque supongo que son tiempos capturados de un reloj)
1) No es operativo. Tienes que crear un sistema de cálculo alrededor de tu formato.
2) No te servirá para el caso de turnos rotativos.

Ventajas del datetime:
Puedes operar directamente (resta), con el detalle de que el tiempo vendrá en segundos, con lo cual, puedes manejar el caso de turnos rotativos.
Con TTOD(DATETIME()) puedes extraer fácilmente la fecha de un datetime.
Con TTOC(Datetime(),2) puedes extraer fácilmente la hora de un datetime.

Tienes este artículo en el blog de la comunidad que tiene todas las soluciones
Trabajar con fechas y horas en Visual FoxPro


Oswal Noguera

unread,
Jun 21, 2017, 12:40:59 AM6/21/17
to publice...@googlegroups.com
okey eso TTOC (datetime(),2) eso lo coloco en el indexes de la tabla o lo coloco en el formulario

Fidel Charny

unread,
Jun 21, 2017, 7:50:31 AM6/21/17
to Comunidad de Visual Foxpro en Español
Primero trata de ver el resultado de las funciones en la ventana de comando, al menos, para entender de qué estamos hablando.
Luego, necesitas frecuentar la ayuda de Visual Fox que es muy completa.

Lo que hagas con los índices depende del uso posterior. Lo que es seguro es que un índice basado en TTOC(campo_datetime,2) no te servirá para nada. En todo caso, podrías utilizar TTOC(Campo_datetime,1) que devuelve un string de 14 dígitos aaaammddhhmms.

Luego, fijate que las respuestas que puedas conseguir de un foro, depende estrictamente de tu planteo. Y en tu planteo faltan 2 cosas fundamentales:
1) De dónde surgen los datos (horarios de entrada salida)
2) Cual es la finalidad de la tarea.
Si la finalidad de la tarea es controlar el horario de entrada salida del personal, lo que parece básico es saber si tienes información de que una marca es de entrada o de salida, o la tienes que detectar de acuerdo a la última marca hecha por un empledado. También contemplar si alguien se olvidó de marcar (o no había energía eléctrica a la hora de marcar, o se paró el reloj, etc).
Reply all
Reply to author
Forward
0 new messages