** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - problema con formulario y subformulario
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoproblema con formulario y subformulario

 Responder Responder
Autor
Mensaje
coloradocanyon Ver desplegable
Nuevo
Nuevo


Unido: 18/Octubre/2017
Localización: España
Estado: Sin conexión
Puntos: 20
Enlace directo a este mensaje Tema: problema con formulario y subformulario
    Enviado: 24/Octubre/2017 a las 08:42
Hola a todos y todas, cuando incluyo las siguientes instrucciones, estas pertenecen a una función para activar o desactivar las posibilidades de edición según el tipo de usuario se activan o desactivan:

formulario.AllowAdditions
formulario.AllowDeletions
formulario.AllowEdits

Si el formulario principal contiene un subformulario, estas instrucciones no le afecta al subformulario.

mi idea es averiguar si el formulario principal tiene un subformulario, ¿hay alguna forma de saber si un formulario tiene un subformulario?, si es así, ¿Cómo puedo saber su nombre?.

un saludo y gracias....

Editado por coloradocanyon - 24/Octubre/2017 a las 08:43
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5226
Enlace directo a este mensaje Enviado: 24/Octubre/2017 a las 11:12
Hola!

Podrías poner este código en el evento al abrir del subformulario de forma hace referencia al formulario donde esté ubicado:

Dim strParentNombre As String
      
    On Error Resume Next

    strParentNombre = Me.Parent.Name
    
    If Err.Number = 0 Then
        MsgBox strParentNombre
    Else
        Err.Clear
        MsgBox "No está en el formulario principal"
    End If


Espero que te sirva.
Un Saludo.
Arriba
coloradocanyon Ver desplegable
Nuevo
Nuevo


Unido: 18/Octubre/2017
Localización: España
Estado: Sin conexión
Puntos: 20
Enlace directo a este mensaje Enviado: 24/Octubre/2017 a las 11:43
Hola, agradecer tu respuesta, pero creo que no me he explicado bien.

Antecedentes:
Al iniciar la base de datos, me pide un usuario, dado ese usuario tiene acceso de consulta, edición o administración.

Problema:
Me habilita o no el formulario correctamente, el problema es que si tiene un subformulario, lo deja abierto con posibilidad de modificación.

Objetivo:
al entrar el usuario, y tener permiso de consulta, debiera deshabilitar el formulario y el subformulario.

un saludo y gracias....
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3181
Enlace directo a este mensaje Enviado: 24/Octubre/2017 a las 12:03
Hola.
Otra solución alternativa para saber sí hay subformulario pasaría por un código similar a:

Dim micontrol As Control
For Each micontrol In Me.Controls
If micontrol.ControlType = acSubform Then
  MsgBox (micontrol.Name)
End If
Next

Espero que sirva de ayuda
Ya comentas.
Un saludo a todos
Arriba
coloradocanyon Ver desplegable
Nuevo
Nuevo


Unido: 18/Octubre/2017
Localización: España
Estado: Sin conexión
Puntos: 20
Enlace directo a este mensaje Enviado: 24/Octubre/2017 a las 13:08
He implementado tu código, con relativa suerte

Dim micontrol As Control
For Each micontrol In Me.Controls
If micontrol.ControlType = acSubform Then
miControl.Form.AllowAdditions = False
MsgBox (micontrol.Name)
End If
Next

la instrucción que he incluido me deshabilita el formulario como quiero.

muchas gracias por tu ayuda.

un saludo y gracias....
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable