Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

[SOLUCIONADO] Dudas sobre Módulo en Acces para procedimientos iguales en diferentes formularios

Estas en el tema de Dudas sobre Módulo en Acces para procedimientos iguales en diferentes formularios en el foro de Bases de Datos General en Foros del Web. Hola Genios de la Programación. Voy aprendiendo de a poco a trabajar con Acces. Tengo la duda si usar Módulo (y cómo si es necesario) ...
  #1 (permalink)  
Antiguo 16/04/2018, 09:39
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Dudas sobre Módulo en Acces para procedimientos iguales en diferentes formularios

Hola Genios de la Programación.
Voy aprendiendo de a poco a trabajar con Acces.
Tengo la duda si usar Módulo (y cómo si es necesario) porque tengo 2 procedimientos de eventos iguales para diferentes formularios.

Código:
'PARA EDITAR REGISTRO CLIENTE
Private Sub btEditarCliente_Click()
  Nombre.BorderStyle = 1: Apellido.BorderStyle = 1: Direccion.BorderStyle = 1: 
  Telefono.BorderStyle = 1: 'Ponerle el borde a los campos de texto
  Nombre.Locked = False: Apellido.Locked = False: Direccion.Locked = False: 
  Telefono.Locked = False      'Desbloquear la edición para los campos de texto
  btAceptarCambiosNuevoCliente.Visible = True  'Mostrar el botón "Aceptar"
  btAceptarCambiosNuevoCliente.SetFocus 'Envio el enfoque (para que haga clic) al 
  botón "Aceptar"
  btEditarCliente.Visible = False 'No se muestra el botón "Editar"
  btCrearPedido.Visible = False 'No mostrar el botón "Crear Pedido"
End Sub
Mi intención es llamar a ese procedimiento desde diferentes formularios sin necesidad de repetir todas esas líneas de código.

¿Algún consejo por favor?

Lo que hice fue desde un Módulo:

Código:
'PARA EDITAR REGISTRO CLIENTE
Sub btEditar()
  MsgBox "Mensaje: Accede al procedimiento en Módulo"
  Nombre.BorderStyle = 1: Apellido.BorderStyle = 1: Direccion.BorderStyle = 1: 
  Telefono.BorderStyle = 1: 'Ponerle el borde a los campos de texto
  Nombre.Locked = False: Apellido.Locked = False: Direccion.Locked = False: 
  Telefono.Locked = False      'Desbloquear la edición para los campos de texto
  btAceptarCambiosNuevoCliente.Visible = True  'Mostrar el botón "Aceptar"
  btAceptarCambiosNuevoCliente.SetFocus 'Envio el enfoque (para que haga clic) al 
  botón "Aceptar"
  btEditarCliente.Visible = False 'No se muestra el botón "Editar"
  btCrearPedido.Visible = False 'No mostrar el botón "Crear Pedido"
End Sub
Y en el evento del botón editar:

Código:
Private Sub btEditarCliente_Click()
Call btEditar
End Sub
Pero algo estoy haciendo algo mal, porque si borro todas las líneas menos la del aviso de "msgBox" desde Módulo: funciona, pero si dejo todo el código no funciona. Me sale un aviso de advertencia con el uso de las variables, por ejemplo, la variable "Nombre" corresponde al nombre de un cuadro de texto y coloqué esto:

Código:
Nombre As String
Así mismo sigue sin funcionar.
  #2 (permalink)  
Antiguo 16/04/2018, 14:28
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años
Puntos: 2
Respuesta: Dudas sobre Módulo en Acces para procedimientos iguales en diferentes form

Gracias a un compañero de la web. La solución es pasar los parámetros al módulo.
Algo así:

Sub btEditar(ControlNombre As Control, ControlApellidos As Control, ...)
ControlNombre.BorderStyle = 1
[...]

Call btEditar(Nombre, Apellidos, ...)

Saludos!!

Etiquetas: campos, cuadro, dudas, formularios, iguales, procedimientos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:33.