• Domingo 22 de Diciembre de 2024, 13:14

Autor Tema:  Re: averiguar ruta de un archivo abierto  (Leído 1303 veces)

jpardo84

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: averiguar ruta de un archivo abierto
« en: Domingo 31 de Agosto de 2003, 04:53 »
0
Hola amigos, si alguien sabe y si es posible, tengo una base de datos en acces 97 y quiero saber por còdigo si hay alguna forma de que me muestre en una cadena la ruta en que se encuentra esta base de datos abierta. o sea necesito que se autoaverigua la ruta. Esto porque tengo una aplicaciòn en acces y tiene còdigo de acceso a datos y tengo la ruta de la base de datos fija a C:Mis documentosarchivo.dbm  ¿pero que pasa si cambio el archivo a otra caperta? ya no me funcionarà el còdigo. Entonces quiero definir la ruta en una variable string para asignarle la ruta automàticamente dependiendo de la ubicaciòn donde se encuentre. Eso es todo, para que yo no tengo que digitarla manualmente o lo que es màs engorrroso  el usuario final, le agradezco mucho si alguien me echa una manito.Saludo...

Angel-Mayor

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: averiguar ruta de un archivo abierto
« Respuesta #1 en: Domingo 31 de Agosto de 2003, 05:26 »
0
Mira veo, segun lo que dices que usas una direcciòn fija para hacer la conexion a la BD, yo te recomiendo que uses el app.path, donde la BD funcionara de en la misma carpeta donde tengas el proyecto VB, tal vez no es lo que pides tu en tu duda pero en el futuro te puede servir de algo.

  Bueno lo unico que tienes que hacer es esto..

Primero inicializa el app.path en el evento form_initialize

private sub Form_Initialize()

  ChDir App.path

Ed Sub


ya inicializado ahora haces la conexion a la BD de este modo..

Private Sub Form_Load()

Conexion.Open "provider=Microsoft.Jet.OLEDB.3.5;Data Source=" & app.path & "NombreBD.mdb"

End Sub

Claro tu ahi en la conexion usaras el nombre con el que inicializas la variable de tipo connection, y el nombre de la BD.

En verdad espero que de perdida te sirva de algo esto, aunque no haya sido lo que pides.

OK,:suerte:
Luis Montoya
La Reforma, Sinaloa, Mexico

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: averiguar ruta de un archivo abierto
« Respuesta #2 en: Lunes 1 de Septiembre de 2003, 14:18 »
0
En Access puedes recuperar el nombre y vía de acceso de la base de datos actual mediante la propiedad 'Name' del objeto 'CurrentDb'. Si es desde vb con DAO, mira la misma propiedad del objeto que definas como 'Database'. Si usas ADO, en la cadena de conexión tienes la base de datos, como te indica Angel-Mayor. Luego para recuperar el path :

Dim str1 as String
str1 = CurrentDb.Name
Dim int1 as Integer
int1 = InstrRev(str1,"")
Dim strDbPath as string
strDbPath =  Left(str1, int1)

Suerte.

jpardo84

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: averiguar ruta de un archivo abierto
« Respuesta #3 en: Lunes 1 de Septiembre de 2003, 22:47 »
0
Hola amigo, primero que todo gracias por tu interes. Bueno depronto no te explique bien que el formulario también lo estoy haciendo en Acces 97, y pues no tiene el evento inicializar pero lo intente con el evento Form_Open y nada, cuando escribo la linea de código ChDir App.path y ejecuto el formulario me dice"No se ha definido la variable" y le digo depurar y me resalta el App de la línea de código.
Si tienes otra idea que me pueda ayudar te agradecería, saludos...

jpardo84

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
averiguar ruta de un archivo abierto
« Respuesta #4 en: Lunes 1 de Septiembre de 2003, 22:51 »
0
Hola amigo, primero que todo gracias por tu interes. Bueno depronto no te explique bien que el formulario también lo estoy haciendo en Acces 97, y pues no tiene el evento inicializar pero lo intente con el evento Form_Open y nada, cuando escribo la linea de código ChDir App.path y ejecuto el formulario me dice"No se ha definido la variable" y le digo depurar y me resalta el App de la línea de código.
Si tienes otra idea que me pueda ayudar te agradecería, saludos...