Visual Basic y Access

Iniciado por kichan, 3 Noviembre 2005, 20:43 PM

0 Miembros y 1 Visitante están viendo este tema.

kichan

hola, me gustaria que alguien me ayudara,
resulta que tengo una aplicacion Visual basic la cual interactua con una base de datos access .pero al linkear la el programa con la base de datos ,por ejemplo la linkeo con c:\windows\escritorio\base.mbd 
pero al crear el ejecutable, e instalarlo en un sistema windows xp o 2000 , como suponen esto se pierde y el programa no se conecta a la base de datos por error en la susodicha direccion,
habria alguna manera de poder realizar esto, de forma variable, es decir que el sistema elija donde se almacena la base de datos, para que no hayan problemas de conexion.

gracias--

Xpeed

#1
si, con la api de windows seguro hay algun tipo de funcion, pero no la sé xD, sin embargo, con un control SysInfo seria relativamente sencillo, este en su propiedad .OsPlataform devuelve numericamente el tipo de sistemas operativos, por ejemplo ejecutarlo en un win NT devolveria el número 2 ... en un 98 CREO que es 1 , en fin seria cuestion de investigar y leer solo un poco,

ya con esto pones en un if o en un select case que segun sea el sistema operativo (1,2,3 etc) pues la direccion de la base de datos o de la aplicacion cambia...

edito: sobra decir que dicho control lo debes agregar en "Proyecto > Componentes > Microsoft SysInfo control 6.0" o algo así...


un saludo.

inodoro pereyra

yo creo que es de mas facil solucion, si pones la base en el mismo directorio que el archivo lo unico que tenes que hacer es concatenar el nombre del archivo con la propiedad path del objeto app.
algo asi seria.
conexion.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Datos.mdb"
el objeto path no lo tenes que agregar ni nada.. es asi de sencillo...
bye ;D
Te largan a la cancha sin preguntarte si querés entrar. Por si fuera poco, de golero; toda una vida tapando agujeros. Y si en una de esas salís bueno, se tiran al suelo y te cobran penal

el_chente23

Con la funcion GetWindowsDirectory de la api de windows obtienes el directorio de windows, no estoy seguro si funciona para todos los windows, no veo por que no.

Saludos

noob_Setup

buenas

enprimer lugar debes declarar el srtring conection para poder llamarlo al iniciar el sistema
quedaria algo asi

    StrConBaseAccess = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;"
    StrConBaseAccess = StrConBaseAccess & "Data Source=" & App.Path & "\Clases.mdb"
    ' IngresoSistema
   
    FrmInicial.Show



luego aolo debes llamar a los valores del modulo de conexion para hacer las consultas o cambios a tu base

saludos