Guardar path de mi DB

-=Aldo=-
05 de Febrero del 2004
Hola, tengo un problema con mi aplicacion que usa DB. El problema es que no qué pasa si se cambia el path de la base de datos?: Le pongo el app.path & "/midb.mdb" no? pero bueno, el problema es que si le pongo así no me devuelve "N:/ miaplicacion/midb.mdb". El disco N: es un disco publico (estoy trabajando en una facultad, mi pasantia para mas datos) y en vez de devolverme lo que indique arriba me devuelve "//Policarpo/Publico/miaplicacion/midb.mdb", y ahì se produce un error porque dice que no encuentra la base de datos. Entonces le di al usuario la posibidad (mediante un commondialog) de buscar la base de datos y "abrirla", lo que hago es guardar en una variable global el path y funciona, listo!. Pero cada vez que inicio la aplicacion tengo que pedirle que la busque?!. Alguien me puede ayudar para agregar un procedimiento Sub Main que lea desde el registro el ultimo path de la base de datos? O si alguien tiene otra idea...He pensado guardarlo en un archivo pero no se si sea seguro...

Thessen
05 de Febrero del 2004
No se si funcionará igual como tu lo pones, pero de siempre he visto las rutas de archivo escritas con no con /. Quiza ese sea tu problema.

-=Aldo=-
05 de Febrero del 2004
gracias Thessen, pero no es ese el problema, te explico porque, solo puedo navegar desde Linux, y no se como hago para escribir la barra invertida, por eso la pongo asi, pero sólo aqui, en Windows, y en VB por supuesto, escribo el codigo ascii (Alt + 92). Sólo lo pongo así al escribir el post. Gracias de todos modos

Thessen
05 de Febrero del 2004
Pues resuelta la duda... me temo que no se que es lo que te pasa, las Bases de Datos no son mi fuerte. Pero estoy practicamente seguro de que por aqui habra alguien que te ayude. Un saludo y suerte.

Bartolom
05 de Febrero del 2004
Haz lo siguiente:

En la carpeta de tu aplicación crea un archivo de texto que se llame por ejemplo RutaBase.txt. Luego, en el el formulario principal crea una etiqueta, por ejemplo Label2, que sea invisible. Luego, en el evento Load de tu formulario principal, escribe lo siguiente:

Private Sub Form_Load()
Dim Etiqueta As String

'Asignar texto a etiqueta
ChDir App.Path
Open "RutaBase.txt" For Input As #1
Line Input #1, Etiqueta
Close #1
Label2.Caption = Etiqueta
End Sub

Con esto, cada vez que cargues tu formulario, se escribirá en el Label la ruta que esté en el archivo de texto.

Luego viene la segunda parte. En el evento Click del botón que uses para guardar tu variable global (eso que usas en el commondialog), le agregas el siguiente código, después de que la variable global haya capturado el Path: Asumiendo que tu form principal se llame FormPrincipal y tu variable global se llame VarGlobal (tú cambias estos nombres por los tuyos)


Chdir App.Path
Open "RutaBase.txt" For Output As #1
Print #1, VarGlobal
Close #1
Open "RutaBase.txt" For Input As #1
Line Input #1, Etiqueta
Close #1
FormPrincipal.Label2.Caption = Etiqueta

Ah, al principio del evento click donde incluyas este código debes declarar la variable etiqueta como string

Dim Etiqueta As String

Con esto, siempre la ruta te quedará registrada en el archivo de texto, se podrá modificar, y cuando quieras llamarla, basta con que llames al Label2.Caption que es donde estará escrita.

Saludos!
Bartolom
Chile


-=Aldo=-
05 de Febrero del 2004
Si, gracias Bartolom, ya habìa pensado en eso, y lo voy a hacer... Sólo que quería cambiar un poco y hacerlo "mas elegante", porque sé que hay programas que hacen eso..pero bueno, voy a hacerlo como me digiste. Pero de todos modos si alguiens sabe como guardar y leer del registro, cualquier ayudita para proyectos futuros será bien recibida=)