Access - Funcion que saque todos los controles de todos los

 
Vista:

Funcion que saque todos los controles de todos los

Publicado por jesus (60 intervenciones) el 21/04/2004 10:41:32
Hola a todos,
Necesito hacer una funcion que me devuelva todos los controles de todos los formularios de mi aplicacion. He probado con la colección FORMS pero solo contiene los formularios abiertos y la colección ALLFORMS no tiene objetos formularios, sino AccessObjects; y en ADO no parece que haya ninguna coleccion de formularios.
Si alguien tiene una idea o lo ha hecho antes agradeceria mucho su colaboracion.
Gracias de antemano.
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
Imágen de perfil de Alejandro

Funcion que saque todos los controles de todos los

Publicado por Alejandro (4142 intervenciones) el 05/05/2023 16:15:51
Sí, Javy, Access tiene una opción para reemplazar objetos existentes al importar. Al importar objetos de una base de datos a otra, puedes seleccionar la opción "Reemplazar objetos existentes" en el cuadro de diálogo "Importar objetos" para que Access sobrescriba los objetos existentes en la base de datos de destino en lugar de agregar un sufijo "+1" al nombre.

Para hacer esto, sigue estos pasos:

1. Abre la base de datos de destino y haz clic en "Archivo" en la cinta de opciones.

2. Selecciona "Obtener datos externos" y luego "Importar".

3. Selecciona la base de datos de origen que contiene los objetos que deseas importar.

4. En el cuadro de diálogo "Importar objetos", selecciona los objetos que deseas importar y asegúrate de que la opción "Reemplazar objetos existentes" esté seleccionada.

5. Haz clic en "Aceptar" para importar los objetos y sobrescribir los existentes en la base de datos de destino.

Ten en cuenta que si seleccionas la opción "Reemplazar objetos existentes", Access sobrescribirá cualquier objeto con el mismo nombre que el objeto que estás importando. Asegúrate de tener cuidado al utilizar esta opción para evitar la pérdida de datos o información importante.
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
Imágen de perfil de Alejandro

Funcion que saque todos los controles de todos los

Publicado por Alejandro (4142 intervenciones) el 05/05/2023 16:17:45
Puedes usar la colección AllForms de Access para obtener una lista de todos los objetos formulario en tu base de datos. Luego, puedes recorrer cada formulario y obtener una lista de sus controles utilizando la colección Controls de cada formulario.

Aquí te dejo un ejemplo de código que debería funcionar para tu necesidad:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Function ObtenerControlesDeFormularios() As Collection
    Dim colControles As New Collection
    Dim frm As AccessObject
    Dim ctl As Control
 
    For Each frm In CurrentProject.AllForms
        ' Abrir el formulario para que esté disponible en la colección Controls
        DoCmd.OpenForm frm.Name, acDesign, , , , acHidden
 
        ' Recorrer los controles del formulario y añadirlos a la colección
        For Each ctl In Forms(frm.Name).Controls
            colControles.Add ctl
        Next ctl
 
        ' Cerrar el formulario para liberar recursos
        DoCmd.Close acForm, frm.Name, acSaveNo
    Next frm
 
    Set ObtenerControlesDeFormularios = colControles
End Function

Esta función devuelve una colección de todos los controles de todos los formularios en tu base de datos. Ten en cuenta que si tienes muchos formularios y controles, esto puede tardar un tiempo en ejecutarse y requerir muchos recursos de memoria. También puede ser necesario ajustar la función para manejar casos especiales, como los subformularios.
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