Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

abrir carpetas

Estas en el tema de abrir carpetas en el foro de Bases de Datos General en Foros del Web. Bueno taribo, siento ser tan petarda, pero es que no me quiero rendir. Puesto que a ti te funciona y a mi no, lo que ...

  #31 (permalink)  
Antiguo 26/09/2008, 04:01
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: abrir carpetas

Bueno taribo, siento ser tan petarda, pero es que no me quiero rendir. Puesto que a ti te funciona y a mi no, lo que hice fue poner msgbox en toooodas las partes del módulo para saber en qué fallaba. Hago la prueba con la siguiente ruta:

C:\Documents and Settings\Naiara\Escritorio\prueba\CLIENTES\Presupu estos\del 0001 al 0999\0001-0099\0001-0099\0001-0009\0004

Y con el módulo me acaba cogiendo la siguiente ruta:

C:\Documents and Settings\Naiara\Escritorio\prueba\CLIENTES\Presupu estos\del 0001 al 0999\000-099\000-099\00-09\4

Y luego he probado con una ruta que se que me funciona (1200) y en el msg box me acaba saliendo esto:

C:\Documents and Settings\Naiara\Escritorio\prueba\CLIENTES\Presupu estos\del 1000 al 1999\1200-1299\1200-1299\1200-1209\1200

El módulo al final lo dejé así:

Option Compare Database

Public Function RutaCarpeta(NomCarpeta As String) As String
Dim Ruta As String
Dim Digitos(1 To 4) As String

'Guardamos por separado los digitos en el array
For i = 1 To Len(NomCarpeta)
Digitos(i) = Mid(Format(NomCarpeta, "0000"), i, 1)
Next

Ruta = "C:\Documents and Settings\Naiara\Escritorio\prueba\CLIENTES\Presupu estos\" 'del 1000 al 1999\1400-1499\1400-1409\1400

'Si el primer digito del numero pasado como string es un 0, primera carpeta. si es un 1, segunda carpeta
If Digitos(1) = 0 Then
Ruta = Ruta & "del 0001 al 0999\"
MsgBox Ruta
Else
Ruta = Ruta & "del 1000 al 1999\"
End If

'Añadimos la carpeta correspondiente al segundo digito
Ruta = Ruta & Digitos(1) & Digitos(2) & "00-" & Digitos(1) & Digitos(2) & "99\"
MsgBox Ruta
'Añadimos la carpeta correspondiente al tercer digito
Ruta = Ruta & Digitos(1) & Digitos(2) & Digitos(3) & "0-" & Digitos(1) & Digitos(2) & Digitos(3) & "9\"
MsgBox Ruta
'Por ultimo añadimos la carpeta pasada como parametro
Ruta = Ruta & NomCarpeta
MsgBox Ruta
'Y se lo devolvemos a la funcion
RutaCarpeta = Ruta
MsgBox Ruta
End Function
__________________
Cámara Oscura
Etheria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:35.