Imprimir página | Cerrar ventana

Ruta de búsqueda Archivo

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84810
Fecha de impresión: 27/Marzo/2026 a las 02:21


Tema: Ruta de búsqueda Archivo
Publicado por: Weapon
Asunto: Ruta de búsqueda Archivo
Fecha de publicación: 10/Noviembre/2019 a las 17:17
Buenas tardes, no se si estoy haciendo bien lo siguiente. Estoy intentando que dos variables tomen datos de dos campos de un formulario de Access "FRegistro_NUEVOS" y crear una ruta y abrir el explorador en la carpeta concreta, creo que puede ser un error en la sintaxis o en la declaración de variables.

  Dim Archivador1 As Variant
  Dim NºApartado1 As Variant
    Archivador1 = [Forms]![FRegistro_NUEVOS]![Archivador]
    NºApartado1 = [Forms]![FRegistro_NUEVOS]![NºApartado]
    '.....
Application.FollowHyperlink "C:\Conserjería\Comunidad\Conserjería\Archivo\Archivo Datos\" & Archivador1 & " \" & NºApartado1 \ """"


Este es el error que me sale

Se ha producido el error '13' en tiempo de ejecución:
No coinciden los tipos


Gracias por vuestra ayuda


-------------
Saludos desde Torrejón de Ardoz, Madrid, España!!

Domingo



Respuestas:
Publicado por: Weapon
Fecha de publicación: 10/Noviembre/2019 a las 17:23
El valor de los campos son del tipo "01.000" numérico



-------------
Saludos desde Torrejón de Ardoz, Madrid, España!!

Domingo


Publicado por: xavi
Fecha de publicación: 10/Noviembre/2019 a las 19:22
Varias cosas

1. ¿Es necesario declarar como variant?
2. ¿Necesitas verdaderamente esas variables? 
3. ¿Evalúas que los controles tienen datos?
4. ¿Has probado a concatenar la ruta y mostrarla en la ventana de inmediato por si estuviera mal? 
5. ¿Has comprobado que la ruta resultante existe?

Por otro lado llamarle a una variable NºApartado1 es jugársela mucho...




-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Weapon
Fecha de publicación: 11/Noviembre/2019 a las 14:01
Gracias por tu preocupación xavi
 
2. He pensado probablemente que había que declarar las variables
3. la ruta se tiene que construir con los datos que contengan los campos "Archivador" y "NºApartado"
4. Lo siento xavi pero no se emplear la "Ventana inmediato"
5. La ruta resultante existe.

    Archivador1 = [Forms]![FRegistro_NUEVOS]![Archivador]
    NApartado1 = [Forms]![FRegistro_NUEVOS]![NºApartado]
    '.....
Application.FollowHyperlink "C:\ConserjerÍa\Comunidad\ConserjerÍa\Archivo\Archivo Datos\" & Archivador1 & " \" & NApartado1 \ """"

-------------
Saludos desde Torrejón de Ardoz, Madrid, España!!

Domingo


Publicado por: rokoko
Fecha de publicación: 11/Noviembre/2019 a las 14:20
En la Tabla(en modo diseño) esos dos campos que son?? Texto o numero???


Publicado por: Weapon
Fecha de publicación: 11/Noviembre/2019 a las 15:08
Hola rokoko, el formato de campo es texto



-------------
Saludos desde Torrejón de Ardoz, Madrid, España!!

Domingo


Publicado por: rokoko
Fecha de publicación: 11/Noviembre/2019 a las 15:23
Pues uno de los fallos puede ser ese.... el texto tiene que ir entre comillas simples

Prueba asi.    String es para texto

Dim Archivador1 As String
Dim NApartado1 As String

Archivador1 = [Forms]![FRegistro_NUEVOS]![Archivador]
NApartado1 = [Forms]![FRegistro_NUEVOS]![NApartado]


Application.FollowHyperlink "C:\ConserjerÍa\Comunidad\ConserjerÍa\Archivo\Archivo Datos\" & "' Archivador1 '" & "\" & "'NApartado'"

Como te a dicho Xavi, en programacion olvidate de simbolos raros, tildes etc.........son un quebraderode cabeza.

Esta escrito sin probar, mas o menos asi deberia ser....
Para comprobar la ruta si no sabes lo que es ventana inmediato prueba con un msgbox
MsgBox  "C:\ConserjerÍa\Comunidad\ConserjerÍa\Archivo\Archivo Datos\" & "' Archivador1 '" & "\" & "'NApartado'"






Publicado por: rokoko
Fecha de publicación: 11/Noviembre/2019 a las 15:37
Rectifico lo he probado y me funciona asi


Dim varArchivador As String
Dim varApartado As String

varArchivador = [Forms]![FRegistro_NUEVOS]![Archivador]
varApartado = [Forms]![FRegistro_NUEVOS]![NApartado]

Application.FollowHyperlink "C:\ConserjerÍa\Comunidad\ConserjerÍa\Archivo\Archivo Datos\" & varArchivador & "\" & varApartado


Si los datos que pillas(campos) estan en el mismo formulario donde ejecutas el codigo te valdria tambien asi

Application.FollowHyperlink "C:\ConserjerÍa\Comunidad\ConserjerÍa\Archivo\Archivo Datos\" & Me.Archivador & "\" & Me.NApartado

Lo que esta en negrita deberias poner el nombre de tus campos


Publicado por: xavi
Fecha de publicación: 11/Noviembre/2019 a las 19:23
Prueba esto y nos dices que pasa:

    Dim strArchivador       As String
    Dim strNApartado        As String
    
    Dim strRutaCompleta     As String
    
    strArchivador = [Forms]![FRegistro_NUEVOS]![Archivador]
    strNApartado = [Forms]![FRegistro_NUEVOS]![NApartado]

    strRutaCompleta = "C:\ConserjerÍa\Comunidad\ConserjerÍa\Archivo\Archivo Datos\" & strArchivador & "\" & strNApartado
    If Len(Dir(strRutaCompleta, vbDirectory)) = 0 Then
        MsgBox "La ruta generada no es válida. Comprueba la ventana de immediato (ctrl+g)", vbCritical
        Debug.Print strRutaCompleta
        Stop
    Else
        Application.FollowHyperlink strRutaCompleta
    End If


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Weapon
Fecha de publicación: 12/Noviembre/2019 a las 11:55
Finalmente he adaptado lo indicado por "rokoko" y funciona correctamente.

Dim varArchivador As String
Dim varApartado As String

varArchivador = [Forms]![FRegistro_NUEVOS]![Archivador]
varApartado = [Forms]![FRegistro_NUEVOS]![NApartado]

Application.FollowHyperlink "C:\ConserjerÍa\Comunidad\ConserjerÍa\Archivo\Archivo Datos\" & varArchivador & "\" & varApartado

Gracias por vuestra inestimable ayuda
Un abrazo


-------------
Saludos desde Torrejón de Ardoz, Madrid, España!!

Domingo


Publicado por: xavi
Fecha de publicación: 12/Noviembre/2019 a las 15:40
O sea, no has hecho nada más que cambiar el nombre de las variables.

No compruebas la cadena si es correcta ni si existe. Si a ti te vale ya está.


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web



Imprimir página | Cerrar ventana