Access - Recorrido por los registros de un Subformularios

 
Vista:

Recorrido por los registros de un Subformularios

Publicado por Josep (8 intervenciones) el 11/07/2007 13:43:05
Hola, buenos dias. Tengo un pequeño problema, y es que no sé como hacer un recorrido por todos los registros de un subformulario.
Para que lo entendais un poco, lo que quiero es crear carpetas (ese no es el problema), pero que por nombre tengan el valor de un determinado campo del subformulario, y todo ello automaticamente, es decir sin tener que elegir manualmente el registro en el que se encuentra el valor.
Por ejemplo, si en el subformulario hay cinco registros, con un determinado campo (campo1), poder crear cinco carpetas cuyos nombres se el valor del cmpo1 en cada uno de los cinco registros.
Gracias por la ayuda.
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

Automatización de creación de carpetas con nombres de registros del subformulario

Publicado por Alejandro (4142 intervenciones) el 15/08/2023 19:01:49
Para lograr la automatización de la creación de carpetas con nombres basados en un campo del subformulario, puedes seguir estos pasos:

1. Identificar el campo del subformulario:
Asegúrate de que tienes un subformulario en tu formulario principal y que contiene el campo del que deseas extraer los nombres para las carpetas.

2. Crear un botón para iniciar el proceso:
Agrega un botón al formulario principal (o al subformulario si lo prefieres) que los usuarios puedan hacer clic para iniciar el proceso de creación de carpetas.

3. Agregar código VBA:
Abre el editor de código VBA en Access siguiendo estos pasos:
a. En el modo de diseño del formulario, haz clic con el botón derecho en el botón que creaste y selecciona "Crear un evento" > "En clic".
b. Esto abrirá el editor de código. Escribe el siguiente código para recorrer todos los registros del subformulario y crear carpetas con nombres basados en el campo especificado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Private Sub NombreDeTuBoton_Click()
    Dim rs As DAO.Recordset
    Dim strCampo As String
    Dim strRutaBase As String
    Dim strRutaCompleta As String
 
    ' Cambia "NombreDelSubformulario" por el nombre real de tu subformulario
    Set rs = Me.NombreDelSubformulario.Form.RecordsetClone
 
    ' Cambia "NombreDelCampo" por el nombre real del campo que contiene los nombres
    strCampo = "NombreDelCampo"
 
    ' Cambia "C:\Ruta\Base" por la ruta base donde deseas crear las carpetas
    strRutaBase = "C:\Ruta\Base\"
 
    rs.MoveFirst
 
    Do While Not rs.EOF
        strRutaCompleta = strRutaBase & rs.Fields(strCampo).Value
 
        ' Crea la carpeta
        MkDir strRutaCompleta
 
        rs.MoveNext
    Loop
 
    rs.Close
    Set rs = Nothing
 
    MsgBox "Carpetas creadas correctamente.", vbInformation, "Proceso completado"
End Sub

4. Ajustar los valores de configuración:
Asegúrate de reemplazar "NombreDelSubformulario", "NombreDelCampo" y "C:\Ruta\Base\" con los nombres y rutas reales que correspondan a tu base de datos y necesidades.

5. Probar y ejecutar:
Guarda el código y cierra el editor de código. Luego, ejecuta el formulario y haz clic en el botón que creaste para iniciar el proceso de creación de carpetas.

Este código recorrerá todos los registros del subformulario, tomará el valor del campo especificado en cada registro y creará una carpeta con ese nombre en la ubicación deseada. Asegúrate de que la ruta base y los nombres de los campos sean correctos para adaptarlos a tu base de datos.
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