Area Interactiva - Formación a distáncia - Office
Lee, imagina y escribe. En www.SigueLaHistoria.com tú eres el autor
En Área Interactiva cursos gratis Office (Word, Excel, Access, Power Point...)
  Principal
  ¿Quien somos?
  Novedades
  Boletín novedades
  Contacta
  Noticias areaint
  Cursos MailxMail
  Mapa de la web
   
Recursos
  Cursos gratis
  Sigue la historia
   
   
   
   

 

Curso de Access 97 - Introducción a Access y Visual Basic

Pág. 2 de 2

 

 

 

   Por si has pensado en pedir hora con el psiquiatra, vamos a explicar un poco lo que hace el código: al pulsar click, se genera el procedimiento agregar_registro_Click(). Este nombre viene del nombre que le dimos al botón en el momento de crearlo. Quizá tú tengas otro nombre. Ten cuidado con este detalle. A continuación comienza la rutina del programa con la orden Private_Sub. La acción que realiza, la observamos en DoCmd.GoToRecord , , acNewRec. La orden DoCmd viene del inglés Do Command, o ejecutar comando, y se utiliza a menudo en Access para realizar acciones. La acción en sí, será GoToRecord, es decir, Access se desplazará a un registro concreto, pero, ¿cual?. La orden acNewRec es la orden para añadir un nuevo registro.

 

    También te habrás dado cuenta que Access añade código extra. Es un código auxiliar que permite gestionar posibles errores.

 

Cambio del foco del cursor

 

   Si pruebas el botón recién creado, observarás que al añadir un nuevo registro, el foco continúa en el mismo registro. Para comenzar a introducir datos, el usuario debería pulsar un click en el interior del primer campo, o del campo que nos interese. Veamos como modificar el programa para que el cursor se sitúe en el campo deseado:

 

- Accede al código del programa y añade la siguiente línea:

 

DoCmd.GoToRecord , , acNewRec
IdCliente.SetFocus

    IdCliente_ se refiere al nombre del campo. Seguramente al teclear Set te habrá aparecido un pequeño menú rápido para seleccionar la orden deseada.

 

- Comprueba el funcionamiento del formulario y añade un nuevo registro. El cursor debería situarse en el campo IdCliente.

 

Protección de un campo

 

   Podríamos proteger el contenido de un campo ante cualquier metedura de pata colocando la propiedad Permitir ediciones en No, pero entonces no podríamos introducir ni modificar datos.

 

- Accede a las propiedades del formulario y cambia la propiedad Permitir ediciones en no.

- Desactiva el asistente para creación de controles (varita mágica) y crea un nuevo botón:

 

 

- Accede a las propiedades del nuevo botón y al generador de código. Escribe la siguiente línea de código:

 

Private Sub Comando45_Click()
Me.AllowEdits = True
IdCliente_.SetFocus
End Sub

    Cuidado con el nombre del botón que acabas de crear. En nuestro ejemplo se llama Comando45 porque no le hemos puesto ningún nombre. La propiedad AllowEdits (permitir ediciones), coloca en Verdadero esa propiedad del formulario, es decir, que temporalmente volvemos a tener el formulario listo para editar sus campos. Con el fin de que el foco vuelva al primer control del formulario, repetimos la línea de la posición del foco en el primer campo. Si ahora intentas cambiar algún dato, Access no lo permitirá. Pero si pinchas en el nuevo botón, Access pasará al modo Permitir ediciones Sí del campo en cuestión.

 

- Crea un tercer botón (éste con al asistente activado)...

 

 

- Y asígnale el siguiente código:

 

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
MeAllowEdits = False
MsgBox "El registro se ha guardado"

    Con esto lo que pretendemos es que al pinchar en el botón, la propiedad Permitir edición vuelva a estar en No, y que, además, Access nos avise con un mensaje. La orden MsgBox hace que aparezca un cuadro con un mensaje personalizado. Pruébalo todo (os prometo que funciona).

 


|Anterior|