Access - Crear Directorios con un botón

 
Vista:

Crear Directorios con un botón

Publicado por Mich (1 intervención) el 18/05/2007 20:24:32
Hola,

Llevo algún tiempo desarrollando bases de datos en Access y la verdad es que cada vez me impresiona más todo lo que puede hacer. Ahora estoy empezando a aprender VB y empiezo a tocar algo del código de las bases de datos. Actualmente me encuentro atascado con lo siguiente:

Tengo un formulario llamado obras con varios campos, entre ellos: cod_obra; nom_obra; fecha_inicio; serie_obra...

Pues bien una vez que relleno el formulario introduciendo un nuevo registro me gustaría añadir un botón que creara unos cuantos directorios con los campos que necesito. Lo que quiero es que al pulsar el botón creara varios directorios y copiara un archivo que tengo en otro directorio. Concretamente que creara:

\\Servidor\Obras\<<año del campo fecha_inicio>>\<<serie_obra>>\<<cod_obra>>seguido del campo<<nom_obra>>\

y luego otros dos dentro de este:

\\Servidor\Obras\<<año del campo fecha_inicio>>\<<cod_obra>>seguido del campo<<nom_obra>>\Codificados
\\Servidor\Obras\<<año del campo fecha_inicio>>\<<cod_obra>>seguido del campo<<nom_obra>>\No Codificados

Por último que copiara un archivo (que tengo en la ruta (c:\\plantillas\plantilla.dxf") a esos directorios quedando su ruta así:
\\Servidor\Obras\<<año del campo fecha_inicio>>\<<cod_obra>>seguido del campo<<nom_obra>>\codificados\plantilla.dxf

Probé esto que añado abajo y me creó los directorios, el problema es que no sé cual es la sintaxis para utilizar los datos de los campos ni además, del registro actual.

Private Sub Comando68_Click()

MkDir "\\Servidor\Obras\2007\Probando"
MkDir "\\Servidor\Obras\2007\Probando\Codificados"
MkDir "\\Servidor\Obras\2007\Probando\No Codificados"

Exit_Comando68_Click:
Exit Sub

End Sub

Muchas gracias....
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

Crear directorios y copiar archivos utilizando datos de campos

Publicado por Alejandro (4142 intervenciones) el 10/08/2023 19:35:40
Puedes lograr lo que necesitas utilizando código VBA en el evento del botón. Aquí tienes un ejemplo de cómo podrías hacerlo:

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
32
33
34
35
36
37
38
39
40
41
42
43
Private Sub Comando68_Click()
    Dim carpetaBase As String
    Dim carpetaAño As String
    Dim carpetaSerie As String
    Dim carpetaObra As String
    Dim carpetaCodificados As String
    Dim carpetaNoCodificados As String
    Dim rutaPlantilla As String
 
    ' Obtener los valores de los campos del formulario
    Dim codObra As String
    Dim nomObra As String
    Dim fechaInicio As Date
    Dim serieObra As String
    codObra = Me.cod_obra
    nomObra = Me.nom_obra
    fechaInicio = Me.fecha_inicio
    serieObra = Me.serie_obra
 
    ' Construir las rutas de las carpetas y archivos
    carpetaBase = "\\Servidor\Obras\"
    carpetaAño = Year(fechaInicio)
    carpetaSerie = serieObra
    carpetaObra = codObra & nomObra
    carpetaCodificados = carpetaObra & "\Codificados\"
    carpetaNoCodificados = carpetaObra & "\No Codificados\"
    rutaPlantilla = "c:\plantillas\plantilla.dxf"
 
    ' Crear los directorios
    MkDir carpetaBase & carpetaAño
    MkDir carpetaBase & carpetaAño & "\" & carpetaSerie
    MkDir carpetaBase & carpetaAño & "\" & carpetaSerie & "\" & carpetaObra
    MkDir carpetaBase & carpetaAño & "\" & carpetaSerie & "\" & carpetaCodificados
    MkDir carpetaBase & carpetaAño & "\" & carpetaSerie & "\" & carpetaNoCodificados
 
    ' Copiar el archivo a la carpeta de codificados
    FileCopy rutaPlantilla, carpetaBase & carpetaAño & "\" & carpetaSerie & "\" & carpetaCodificados & "plantilla.dxf"
 
    MsgBox "Directorios creados y archivo copiado correctamente.", vbInformation, "Éxito"
 
    Exit_Comando68_Click:
    Exit Sub
End Sub

Asegúrate de que el nombre de tu botón y los nombres de los campos del formulario coincidan con los que has utilizado en el ejemplo.

Este código construirá las rutas de los directorios y la ruta del archivo utilizando los datos de los campos del formulario y luego creará los directorios y copiará el archivo en la ubicación correspondiente.

Recuerda adaptar las rutas y nombres de los campos según tu estructura y necesidades específicas. Además, ten en cuenta que este código asume que el botón se encuentra en el formulario "obras" y que estás utilizando el evento `Click` del botón para ejecutar esta acción.
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