Access - Bloquear campos

 
Vista:
sin imagen de perfil
Val: 15
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Bloquear campos

Publicado por Angel (90 intervenciones) el 17/04/2009 23:13:01
Hola, quisiera que me ayudarais con un formulario que tiene un único registro, no permite editar más registros y quiero que se comportede la siguiente manera:

Cuando un usuario quiera meter información en alguno de esos campos, que una vez introducida y confirmada la modificación los bloquee, y que permanezcan bloqueados definitivamente, una vez incluso vuelvan a meter datos en otros campos del mismo registro, con los que deberá ocurrir lo mismo de nuevo.
Para que os situeis es como una especie de formulario en el que los usuarios van solicitando días líbres, (esas fechas han de ser las que queden bloqueadas definitivamente), y así sucesivamente a lo largo del año. Por supuesto si veis que hay otra forma más fácil de hacerlo no dudeis en sugerirlo. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 15
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

RE:Bloquear campos

Publicado por Angel (90 intervenciones) el 17/04/2009 23:50:02
Hola de nuevo. Estuve mirando como hacerlo y me funciona con esto en el evento después deactualizar de cada campo:

Private Sub NAVIDAD_4_AfterUpdate()
MsgBox "¿QUIERES GUARDAR EL DATO?"
Me.NAVIDAD_4.Locked = True 'en este caso se bloqueara
Me.NAVIDAD_4.BackColor = 12632256
End Sub

Pero estoy viendo que tendré que poner esto mismo a 30 controles por formulario y esto multiplicado por casi 50 formularios. ¿Habrá una forma menos aparatosa de hacerlo? Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 28
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Bloquear campos

Publicado por Jefferson (382 intervenciones) el 18/04/2009 06:13:49
Mucho me temo que tendras que hacerlo a mano.
No conozco ningun metodo que haga repetir tu codigo en todos los campos...??
Eso hasta que no llegue alguien y nos sorprenda...!

lo que podrias hacer seria crear Arrays, como ...????
Aparte que con el codigo que tienes, realmente no se porque la pregunta MsgBox "¿QUIERES GUARDAR EL DATO?" si de todas formas no le das opcion de decidir si o no....

se me ocurrio crear una funcion y luego llamarla en el evento Despues de Actualizar de cada campo

Option Compare Database
Dim i As Integer
Private Function Bloquear()
Dim pregunta As String
pregunta = MsgBox("Seguro desea introducir estos datos" , vbYesNo, "AVISO")
For i = 1 To 10
If Not IsNull(Me.Controls("Fecha" & i)) Then
If pregunta = 6 Then
Controls("Fecha" & i).Locked = True
Controls("Fecha" & i).BackColor = 12632256
DoCmd.RunCommand acCmdSaveRecord
End If
If pregunta = 7 Then
Fecha1.SetFocus
Me.Undo
End If
End If
Next i
End Function

Otro problema seria que al abrir el form los campos iban a aparecer desbloqueados, bueno solamente los que tienen fecha deberian estar bloqueados, por eso en el evento

For i = 1 To 10
If Not IsNull(Me.Controls("Fecha" & i)) Then
Me.Controls("Fecha" & i).Locked = True
Me.Controls("Fecha" & i).BackColor = 12632256
End If
Next i

De todas formas te dejo el ejemplo en la direccion URL

Espero haberte ayudado
Desde Venezuela
Jefferson
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

RE:Bloquear campos

Publicado por Angel (90 intervenciones) el 18/04/2009 08:14:02
Hola Jeffeson, gracias por el trabajo, voy a aplicarlo y te cuento.El MsgBox como dices tendrá opciones, lo que ocurre es que todavía estaba en proceso de aplicarlo o no, dependiendo de resolver este problema que nos ocupa. Como te digo voy a implementarlo durante esta mañana y te cuento. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enrique Ramírez
Val: 37
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Bloquear campos

Publicado por Enrique Ramírez (629 intervenciones) el 19/04/2009 06:54:16
Tengo un formulario muy sencillo en el cual le capturas fechas (dias de permiso que pide el empleado), si el dia no ha sido pedido anteriormente te lo captura, si ya fué pedido ese día te muestra un mensaje y no te deja capturar el dia ademas cuando sucede esto te muestra los dias que ya pidio durante el año.
No necesitas tener chorrocientos campos ni chorrocientas validaciones.
Si te interesa enviame tu correo y te lo mando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

RE:Bloquear campos

Publicado por Angel (90 intervenciones) el 19/04/2009 19:49:21
Hola Enrique, la verdad es que me interesaria mucho echarle un vistazo a esa BD, por si cuadra con lo que traigo entre manos. No he visto la opción de enviarte mi dirección a través de la web, como en otras, así que te la dejo por aquí:
[email protected]

GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar