Access - Bloqueo selectivo reg en subformulario

   
Vista:

Bloqueo selectivo reg en subformulario

Publicado por Gema (26 intervenciones) el 08/02/2011 23:25:38
Hola:
¿Se puede bloquear un solo registro de subformulario?

Tengo un formulario (clientes) y un subformulario (ventas filtradas por cada cliente).
En ese subformulario hay personas que registran ventas del cliente (o pedidos) y que quiero que se puedan modificar mientras esos pedidos no estén ya facturados.

Lógicamente, en esa tabla de ventas hay un campo que indica el nº de factura.
Si ese número está en blanco quiere decir que aún no se ha facturado, pero si ese campo contiene un número de factura quiere decir que ya está facturado y que no se puede modificar el ese registro de venta.

(Unas personas introducen las ventas (o pedidos) y otras personas diferentes facturan mediante otro formulario aparte)

Sé bloquear y desbloquear “a mi antojo” los campos del formulario principal, incluso bloquear o desbloquear por entero el subformulario, pero tras mucho probar y leer en este foro no consigo la forma de bloquear determinados registros del subformulario cuando el campo “NFac” es diferente a nulo.

¿Se puede hacer?
Y por supuesto y por favor, si es posible ¿me podéis ayudar?.

Enormes gracias por vuestras respuestas.

Saludos: GEma.
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

RE:Bloqueo selectivo reg en subformulario

Publicado por mi menda (1111 intervenciones) el 09/02/2011 11:42:07
Hola

Prueba en el evento Al activar registro del subformulario

Me.AllowEdits = Iif(IsNull(NFac),True,False)

Un saludo
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

RE:Bloqueo selectivo reg en subformulario

Publicado por Gema (26 intervenciones) el 09/02/2011 15:02:50
Gracias mi menda:

No me funciona. Se queda igual, permitiendo cambios.

Muchas Gracias y saludos: GEma.
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

RE:Bloqueo selectivo reg en subformulario

Publicado por Gema (26 intervenciones) el 12/02/2011 21:21:15
Hola a tod@s:

Como decía, funciona perfectamente y no permite modificar el registro, sin embargo haciendo pruebas veo que SI permite la eliminación de ese registro.

Por las explicaciones que he dicho anteriormente, el formulario debe de permitir tanto las modificaciones como la eliminación de registros SALVO que el campo NFac no sea nulo o " ".

Plis, ¿alguna solución para que tampoco permita la eliminación del registro en el caso de que el NFac tenga datos?

Muchas Gracias y saludos: Gema.
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

RE:Bloqueo selectivo reg en subformulario

Publicado por mi menda (1111 intervenciones) el 12/02/2011 21:33:01
Hola

Me.AllowEdits = IsNull(NFac)
Me.AllowDeletions = IsNull(NFac)

Un saludo
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

OK y gracias por tu ayuda

Publicado por Gema (26 intervenciones) el 12/02/2011 21:56:25
Funciona a la perfección. Bueno, ya lo sabías ¿verdad?

Te agradezco enormemente tu ayuda. Ya me la has prestado (y algunos más) en varias ocasiones y durante años.

Mil gracias y un enorme abrazo: Gema. :-)
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

RE:Bloqueo selectivo reg en subformulario

Publicado por José Manuel Da Peña (1 intervención) el 02/03/2015 00:20:33
Como sería la sintaxis, si el campo que "manda" es un campo fecha par que solo permita "editar los registros cargados en el día y/o en el día anterior ??
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

RE:Bloqueo selectivo reg en subformulario

Publicado por mi menda (1111 intervenciones) el 10/02/2011 00:19:50
Hola

No se que habrás hecho, pero tiene que funcionar.
¿No te da ningún error?.
Por si acaso ponlo de esta Forma

Me.AllowEdits = Iif(IsNull(NFac) Or NFac ="",True,False)

Un saludo
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

RE:Bloqueo selectivo reg en subformulario

Publicado por quique (293 intervenciones) el 10/02/2011 03:07:04
Solo comentar que la primera letra de ( I ) if(IsNull(NFac) Or NFac ="",True,False
es una ( i ) pero en mayúsculas.
Podrá ser una tontería pero a veces se confunde con una (L).
Quique
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

OK, funciona Bloqueo selectivo

Publicado por Gema (26 intervenciones) el 10/02/2011 15:08:39
Gracias mi menda. He insistido y he vuelto a probar ya que comentabas que debía de funcionar y funciona. El problema estaba en que tenía esto:

Private Sub Form_Current()
Me.AllowEdits = IIf(IsNull(NFac), True, False)
Me.FechaRegistro = Date
End Sub

Al borrar lo de la fecha de registro me ha funcionado perfectamente.

Gracias también a Quique por tu interés y tu comentario.

Saludos: Gema.
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