¿Fallo de access o mio?

Muy buenas, tengo un problema y a ver si puedes ayudarme. El caso es que hice una aplicación en la que utilizo access. Y el caso es que mientras ejecuto la aplicación desde visual basic todo me funciona correctamente, pero a la hora de crear el ejecutable (que lo hago con el Inno Setup) añado la base de datos y cuando lo instalo en el equipo este ejecutable me crea un icono en el escritorio, otro me aparece con los programas y otro que pone en el directorio C:\Archivos de ... Bueno en el directorio hace una carpeta donde pone el ejecutable, la base de datos, etc.
Mi problema es que si abro el programa desde el icono del escritorio, no me funciona la base de datos, puesto que no la encuentra, pero si lo hago desde el directorio funciona correctamente. Y si yo hago un acceso directo de la aplicación desde la carpeta y lo pongo en el escritorio también me funciona.
¿Sabes alguna solución para que el icono que me crea el ejecutable en el escritorio me funcione bien?
Espero haberme explicado con claridad.
Un saludo y muchas gracias.

2 Respuestas

Respuesta
1
Creo que tu problema radica en que en la ruta donde le especificas que base de datos Access abrir estás utilizando la constante VB app. Path. Así, el programa siempre te va a buscar la base de datos desde el directorio en el que te encuentres ejecutando la aplicación. Por eso no te funciona el acceso directo que tienes en el escritorio, porque va a buscar el fichero mdb al propio escritorio, y no lo encuentra. Todos estos problemillas de configuración de aplicaciones los puedes solucionar haciendo uso de ficheros ini de configuración en los que almacenes las rutas de tus fuentes de datos, etc.
Muchas gracias, ¿pero me podías explicar un poco como puedo hacer con los ficheros ini?
Lo siento, soy novato en esto
Gracias
Muchas gracias por todo.
Tienes que familiarizarte con el uso de la API de windows desde VB. La API son conjuntos de funciones que tienes disponibles para usar en tus programas. Concretamente para obtener datos de ficheros ini debes utilizar la función getprivateprofilestring y las demás relacionadas con ella. El tema es amplio como para explicarlo desde aquí, pero te aseguro que no es complicado. Busca desde google con el nombnre de la función, o desde msdn. Microsoft.com, o desde www.allapi.net, etc. Encontrarás multitud de ejemplos al respecto.
Suerte y saludos!
Respuesta
1
Chequea si efectivamente lo que te puso en el escritorio y en el menu de inicio son acceso directos.
Ya que en una de esas, te copio el exe, y al estar buscando la base con app. Path no te la va a encontrar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas