Access - Bloqueo de filas de un form mostrado en formato DataSheet (Hoja de datos)

 
Vista:
sin imagen de perfil

Bloqueo de filas de un form mostrado en formato DataSheet (Hoja de datos)

Publicado por Juan (9 intervenciones) el 06/03/2014 13:03:08
Estoy desarrollando un formulario donde me muestre la información de una tabla y me permita editar cambios en los datos de esta. Esta funcionalidad me la da directamente el Accesss.

Además, deseo añadir una funcionalidad que impida la edición de los campos de ciertos registros de esta tabla (pej: Los creados el año pasado).

Hasta ahora lo he resuelto añadiendo el siguiente código de evento al Form:
1
2
3
4
5
6
7
8
9
10
11
Private Sub Form_Current()
 
    Dim Bloquear As Boolean 'Variable intermedia para facilitar la lectura del código
 
    'Recojo el valor (true/false) del campo de control de bloqueo
    Bloquear = FuncionDeterminarBloqueo() 'TRUE=> Sí Bloquear; FALSE=> No Bloquear
 
    'Bloquear/desbloquear los campos del registro en curso
    Me.Fx_inicio.Locked = Bloquear
    Me.Fx_fin.Locked = Bloquear
End Sub

Como veis, la función FuncionDeterminarBloqueo() me indica si debo bloquear o no la fila en curso del Formulario.
Las dos ultimas filas me permite bloquear/desbloquear los campos del Datasheet de la fila en curso. Este método me obliga a indicar en código cada una de las columnas del DataSheet.

Las preguntas son:
1.- ¿Hay alguna manera más directa de bloquear todos los campos de la fila ?
2.- Si lo anterior no es posible, y con objeto de evitar tener que indicar por código cada uno de los campos. ¿Existe alguna manera de escribir un bucle que me permita recorrer los campos del DataSheet, y aplique la propiedad Locked a todos los campos de la fila en curso?

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

Bloqueo de filas de un form mostrado en formato DataSheet (Hoja de datos)

Publicado por deneg_nhj (348 intervenciones) el 07/03/2014 01:35:51
Puedes utilizar

Me.AllowEdits = Bloquear

Saludos!

deneg_nhj
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar