Ver Mensaje Individual
  #2  
Antiguo 01-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Bienvenido a ClubDelphi, el número de mensajes te delata .

Normalmente a cada usuario se le asigna un código, es decir un número entero, y a partir de ahí haces varias tablas con la información que quieras almacenar.

De momento se me ocurren varias tablas:
Código:
tabla usuarios:
CodigoUsuario  (autonumérico) clave primaria
nombre
apellidos
...

tabla login:
CodigoUsuario  (entero) clave primaria
NombreUsuario  char
pass                char

tabla entradas:
CodigoUsuario  entero clave primaria
entrada  datetime clave primaria
salida     datetime
En cuanto a la relación entre tablas, debes saber que Paradox no implementa la integridad referencial, por tanto tienes que hacerlo a mano. Dicho de otra forma, cuando das de alta un usuario, se dispara el autoincremental "codigoUsuario" y ahora tú tienes que copiar ese código a la tabla login para "relacionar ambas tablas". Otras Bases de datos lo hacen automáticamente al relacionar las tablas, paradox no.

Personalmente no te recomiendo paradox, es un sistema muy antiguo, pero es tu elección, no la mía.

Para actualizar las tablas al entrar un usuario en el sistema, puedes tener una TQuery preparada con la instrucción sql de esta forma:

Código SQL [-]
 update entradas set entrada = :fecha where CodigoUsuario = :codigo
para ejecutarla le pasas los parámetros fecha y código.
Código Delphi [-]
query1.Parambyname('fecha').AsDatetime := now;
query1.Parambyname('codigo').AsInteger := < < CodigoUsuario al hacer el login > >
query1.ExecSql;

Cuando quieras hacer un informe de entradas y salidas, puedes usar algo así:
Código SQL [-]
select entrada, salida 
from entradas 
where entradas.codigoUsuario = 3
Así tienes un listado de las entradas y salidas del usuario 3.

Seguro que otra gente te dará otros puntos de vista.

Saludos y buena suerte con el sistema.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 01-12-2006 a las 21:46:13.
Responder Con Cita