Tengo un formulario en el que no se permiten ediciones. El problema es que
cuando paso campo por campo por un registro, se cambia automáticamente a
permitir ediciones. He comprobado que eso pasa cuando tengo metido este
código al recibir el foco en un campo:
Private Sub NIF_GotFocus()
Me.CODIGO_POSTAL = PERCEPTOR.Column(3)
Me.NIF = PERCEPTOR.Column(2)
End Sub
De nuevo gracias por su ayuda.
Lo que es seguro es que, ese código, nada tiene que ver con que se
cambie automáticamente a permitir ediciones.
Saludos,
CarCar (desde Tenerife, España)
MVP Access
Gracias por tu respuesta
"CarCar" escribió:
Si quieres modificar esos campos, pero mantener el bloqueo en la edición,
tal vez te sea más sencillo activar la propiedad Bloqueado de los cuadros de
texto, combinados y listas.
--
Un saludo,
Patxi Sanz
patxisanz[ARROBA]yahoo[PUNTO]es
http://es.geocities.com/patxisanz/index.html
Tudela (NA)
Si la propiedad Permitir ediciones se cambia porque estoy modificando los
campos NIF y CODIGO_POSTAL, lo que he hecho es en el cuadro combinado meter
el codigo "al cambiar", es decir que si no cambio el cuadro combinado no se
ejecuta el codigo y por lo tanto no se cambia la propiedad permitir ediciones.
un saludo y gracias
"Patxi Sanz" escribió:
Si has resuelto tu problema ¡perfecto!.
Pero insisto en que, esas instrucciones, no modifican la propiedad
permitir ediciones.
Saludos,
CarCar (desde Tenerife, España)
MVP Access
- Un formulario con cuadros de texto, cuyo origen son campos de una tabla.
- El formulario, tiene a No la propiedad Permitir Ediciones.
- En el evento Al recibir el enfoque de un control, un poco de código para
modificar el valor de un cuadro de texto que muestra el valor de un campo de
esa tabla.
- Y cuando se ejecuta el formulario y me posiciono en ese control, se
modifica la propiedad Permitir Ediciones a Sí.
Supongo que la razón es la que indiqué antes: si tenemos código para
modificar directamente un valor en un control que tiene como origen un campo
de una tabla, Access, en vez de quejarse diciendo que no se puede modificar
el valor, cambia la propiedad Permitir Ediciones a Sí y ejecuta el código,
cambiando el valor.
=8-O
=8-O
=8-O
=8-O
=8-O
=8-O
...
=8-O
=8-O
=8-O
Gracias por la información, nunca se me hubiera ocurrido hacer la
prueba.
Saludos admirativos,
CarCar (desde Tenerife, España)
MVP Access
On 17 jun, 19:38, "Patxi Sanz" <patxisanz[ARROBA]yahoo[PUNTO]es>
wrote:
Ya solo por curiosidad. Como vuelvo a poner el formulario en solo lectura?
Gracias
"CarCar" escribió:
Me.AllowEdits = False
En el evento adecuado. No se si funcionará en el propio que tienes
ahora.
Saludos,
CarCar (desde Tenerife, España)
MVP Access
--
Un saludo,
Patxi Sanz
Puedes usar DoCmd.RunCommand acCmdSaveRecord para guardar el registro
modificado.
--
Un saludo,
Patxi Sanz
Se ha producido el error 2046 en tiempo de ejecución: La acción o comando
GuardarRegistro no esta disponible ahora.
Saludos
"Patxi Sanz" escribió:
Private Sub NIF_GotFocus()
'Activamos el poder editar los datos de los campos
Me.AllowEdits = True
'Modificamos los campos necesarios
Me.CODIGO_POSTAL = PERCEPTOR.Column(3)
Me.NIF = PERCEPTOR.Column(2)
'Guardamos el registro
DoCmd.RunCommand acCmdSaveRecord
'Y volvemos a desactivar la edición
Me.AllowEdits = False
End Sub
"Patxi Sanz" escribió:
No te quiero cansar más y comprendería que no respondieras. De todas formas,
mil gracias.
"Patxi Sanz" escribió:
- La propiedad NewRecord del formulario devuelve True cuando el registro es
nuevo.
- El evento Después de Insertar se desencadena tras crear un nuevo registro.
- El evento Después de Actualizar se desencadena tras guardar un registro.
Ahora, todo es cuestión de comprobar la propiedad, o activar una variable
creada en el módulo del formulario, para que si estás en un registro nuevo,
no se cambie la propiedad AllowEdits hasta que termines de crear el nuevo
registro.