** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Ruta de búsqueda Archivo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoRuta de búsqueda Archivo

 Responder Responder
Autor
Mensaje
Weapon Ver desplegable
Habitual
Habitual
Avatar

Unido: 18/Octubre/2006
Localización: España
Estado: Sin conexión
Puntos: 116
Enlace directo a este mensaje Tema: Ruta de búsqueda Archivo
    Enviado: 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
Arriba
Weapon Ver desplegable
Habitual
Habitual
Avatar

Unido: 18/Octubre/2006
Localización: España
Estado: Sin conexión
Puntos: 116
Enlace directo a este mensaje Enviado: 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
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14738
Enlace directo a este mensaje Enviado: 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

Mi web
Arriba
Weapon Ver desplegable
Habitual
Habitual
Avatar

Unido: 18/Octubre/2006
Localización: España
Estado: Sin conexión
Puntos: 116
Enlace directo a este mensaje Enviado: 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
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 11/Noviembre/2019 a las 14:20
En la Tabla(en modo diseño) esos dos campos que son?? Texto o numero???
Arriba
Weapon Ver desplegable
Habitual
Habitual
Avatar

Unido: 18/Octubre/2006
Localización: España
Estado: Sin conexión
Puntos: 116
Enlace directo a este mensaje Enviado: 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
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 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'"




Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 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


Editado por rokoko - 11/Noviembre/2019 a las 15:39
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14738
Enlace directo a este mensaje Enviado: 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

Mi web
Arriba
Weapon Ver desplegable
Habitual
Habitual
Avatar

Unido: 18/Octubre/2006
Localización: España
Estado: Sin conexión
Puntos: 116
Enlace directo a este mensaje Enviado: 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
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14738
Enlace directo a este mensaje Enviado: 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

Mi web
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable