Realizar actualice campo cuando se acabe plazo en access

La pregunta que voy a realizar no se si será posible de realizar en access, tengo una campo si no llamado O_alejamineto y acontinuación otros campos llamados Desde(tipo fecha) y Hasta(tipo fecha) pues bien mi pregunta es.

Se podría realizar que si yo activo ese campo y pongo las fechas cuando llegue al tope y deje de estar activa se borrara el check de la casilla O_alejamiento y las fechas?

1 Respuesta

Respuesta
1

Echa un vistazo a este ejemplo. Tendrás que adaptar un poco el código a tu BD, pero es sencillo: https://www.mediafire.com/?qs2gylpi2ebr9z4

Por cierto, el código te lo he puesto en un botón, pero podría ponerse en otra parte. Por ejemplo, en el evento "Al cargar" de un formulario de inicio. De esta manera se te ejecutaría cada vez que abrieras la base de datos (o cada vez que abrieras ese formulario de inicio).

En ese caso, tendrías que eliminar la línea de etiqueta Mensaje: y la siguiente línea del msgbox, y también cambiar la línea del recordcout the manera que:
If rst.recordcount=0 then exit sub

¡Gracias! Voy a ponerme con ello y ahora mismo para adaptarlo a mi bd. 

Hola buenas funciona correctamente pero al pasarlo a mi bd no me deja poner la referencia Microsoft DAO 3.6 Object Library me dice que entra en conflicto con modulo o biblioteca.

¿Y en cuanto a ponerlo en un formulario al cargar el código quedaría así?

Private Sub cmdActualizaDatos_Click()
Dim miSql As String
Dim rst As DAO.Recordset
miSql = "SELECT O_Alejamiento, Desde, Hasta FROM TDatos" _
& " WHERE O_Alejamiento=True AND Hasta<#" & Format(Date, "mm/dd/yy") & "#"
Set rst = CurrentDb.OpenRecordset(miSql)
IIf rst.recordcount=0 then exit sub
With rst
.MoveFirst
Do Until .EOF
.Edit
.Fields(0).Value = False
.Fields(1).Value = Null
.Fields(2).Value = Null
.Update
.MoveNext
Loop
End With
Set rst = Nothing
End Sub

Quiero decir que lo he colocado así en la prueba que me diste y funcionó. solo saber si es correcto.

La librería DAO sólo es necesaria registrarla si utilizas Access 2003. Si utilizas un Access superior no necesitas registrarla porque ya está incorporada (cambiaron el motor de la base de datos) en las librerías registradas por defecto. Así que, si usas 2007, 2010 o 2013, olvídate de registrar librerías.

El código sirve exactamente igual. Puestos a ser puristas, el Private Sub te debería quedar asociado al evento que hayas utilizado. Es decir, que si tú me escribes

Private Sub cmdActualizaDatos_Click()

Es que lo estás asignando al evento "Al hacer click" de un botón (supongo que es botón por el nombre, es decir, cmd...).

Si lo asignas al cargar un formulario debería empezar por

Private Sub Form_Load()

Pero lo que es el código debería ser el mismo en cualquier evento.

Si si esta Form_load () lo cogí del antiguo para pegarte lo, error mio.

¿Sabrías decirme donde puedo aprender o ver un ejemplo de como manejar el calendario para que según elijo una fecha me habrá una tabla con horas? Es para la reserva de aulas por día y hora.

Es que encontré un ejemplo de una aplicación pero con el 2010 no me funciona me error en los tipos del calendario

Pues lo cierto es que no te puedo indicar ningún ejemplo. Echa un vistazo si, en tus controles ActiveX, tienes alguno que suene a Calendario. Eso sí, si lo tienes tendrás que buscar información sobre cómo utilizarlo.

Por cierto, te agradeceré que valores la respuesta ;-)

Lo que busco es algo parecido a ti ejemplo de Planing mensual pero que me los días como tu ejemplo pero con horas 9:00, 10:00 etc, ¿se podría adaptar tu ejemplo a algo así?

No es lo suyo. No está preparado para eso. Ya llevó bastante tiempo hacerlo y sería una pesadilla intentar adaptarlo😞

http://www.filebig.net/files/RJpZEqBz6p 

Este es el ejemplo que encontré y estoy intentando saber como seria hacer algo parecido pero uso el access 2010 y me error.

Te ruego que plantees tu duda en otro hilo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas