¿En microsoft access se puede hacer alguna función para que cada día sea nuevo?

Quiero saber si en access uno puede hacer alguna función o prcedimiento que cuando sea un día nuevo, exista una unción que cambie el estado de algún campo en especial de una tabla, como por ejemplo, que si existe un campo con una fecha final y si esta no esta terminada al cumplir con los días reglamentarios esta pase a un estado de vencida.

2 Respuestas

Respuesta
1
Se puede hacer todo con access. El problema suele ser que nos complicamos y hay caminos fáciles y difíciles.. pero el resultado es el mismo. La pregunta que me haces no la entiendo. Es importante conocer el objetivo que persigues.. y la forma de hacerlo seguro que son varias... Ahí está la imaginación.. Dame más datos
Ok esoy haciendo un proyecto para la U y tengo que colocar las actividades de cualquier usuario y cada una de esta tien su fecha de finalización, todo esto lo hago en anbiente web usando ASP, entonces para que ASP no tenga que hacer lo que te voy a pedir, para que la base de datos lo haga, quiero que si la fecha de terminación de cualquier actividad sobrepasa la actual. Porque el usuario no la termino, en el STATUS de la actividad aparezca una 'V', de vencida, espero me entiendas, atentamente Jorge
PD. Gracias!
No te creas que lo entiendo bien.
Me imagino que tienes un formulario tipo tabla, con todos los alumnos por orden alfabético. Abajo un botón que diga " VER ACTIVIDADES ALUMNO VENCIDAS ". Y por tanto se abra un nuevo formulario que veas las actividades del alumno, vencidas ( depende de la fecha ).
Y otro botón en la tabla alfabética que diga " ACTIVIDADES REALIZADAS "
Si es así.. es muy fácil. Cada botón abre un formulario basado en una consulta con la fecha condicional > fecha () ( fecha de hoy ) y un marcador.
No es necesario ni código para hacerlo.
¿Es eso lo que quieres?
Respuesta
1
Voy a suponer que tienes una tabla con varios campos, entre ellos, uno llamado FechaTope y otro llamado Estado.
Entiendo que lo que tu quieres hacer es comparar cada día la fecha de HOY con cada uno de los registros de la tabla y poner en su caso, el estado de ese registro en 'vencido' si el campo FechaTope contiene una fecha anterior a HOY.
Función sencilla para hacer eso(procedimiento en este caso):
Public Sub CambiarEstado()
Dim Base As Database
Dim Tabla As Recordset
Set Base = CurrentDb
Set Tabla = Base.OpenRecordset("Tabla")
Do While Not Tabla.EOF
If Tabla!FechaTope < Date Then
Tabla.Edit
Tabla!Estado = "Vencida"
Tabla.Update
End If
Tabla.MoveNext
Loop
End Sub
Como puedes ver lo que hago es recorrer la tabla en su totalidad comprobando cada registro y actualizando su estado, si procede. Puedes utilizar este código tal como esta, cambiado, lógicamente, los nombre de las tablas y los campos, por los que tu uses.
Esto deberías ejecutarlo todos los días al comenzar la jornada, lanzando la ejecución a mano, o programandola para que se ejecute cada vez que inicies la base de datos.
Hola tu idea me parece bien pero yo de access no se muy bien donde colocar este procedimiento, veras abrí la BD entre en la opción de modulo y cuando mande a compilar me salio que database no lo entiende y que el método edit tampoco, eso es para visual basic o access!, de todas formas muchas gracias
Atentamente, Jorge
Pero sirve también para VB con mínimos cambios, y para versiones superiores de access.
No he trabajado con versiones anteriores a 97.
No es posible que en un modulo de access te de ese tipo de error a menos que hayas instalado solo una parte de Access, e incluso así me resulta extraño. Crea un modulo y pega ese código ahí. No deberías tener problemas.
Ok gracias lo que hice fue que cree un .vbs y en el task manager del servidor lo puse que se cargara cada cierto tiempo e hiciera la coparacion, muchas gracias por el inters

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas