• Domingo 22 de Diciembre de 2024, 19:44

Autor Tema:  Path Db + Access  (Leído 7945 veces)

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Path Db + Access
« en: Viernes 3 de Marzo de 2006, 22:42 »
0
Saludos gente

Tengo el siguiente problema, estoy haciendo una app que maneja una base de datos.
El problema es que yo muestro la lista de la base de datos en un MSFlexGrid el cual levanta la informacion de un DATA.
Mi pregunta es: Como puedo hacer para que sea cual fuera el path donde un usuario X instale la App levante la informacion sin tener problemas?
Miren, les pongo el codigo de lo que tengo:

Código: Text
  1. Private Sub Form_Activate()
  2. Data1.Refresh
  3.  
  4. MSFlexGrid1.ColWidth(0) = 3400
  5. MSFlexGrid1.ColWidth(1) = 2200
  6. MSFlexGrid1.ColWidth(2) = 900
  7. MSFlexGrid1.ColWidth(3) = 1150
  8.  
  9. End Sub
  10.  
En ese form tengo el MSFlexGrid. Mediante el Data1.refresh traigo toda la info actual y mediante los enlaces correspondientes muestro todo en el FlexGrid.

Como habran notado ya, mi duda es que poner el la propiedad "DATABASENAME" del control DATA1... para que no tenga problemas de path cdo lleve la aplicacion a otra maquina que no tenga esa ruta...

Ya he probado con:
App.path & "/XX/ZZ/1.mdb"

Pero no logro hacerlo funcionar.

Espero me ayuden.
Gracias!  :hola:
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Path Db + Access
« Respuesta #1 en: Sábado 4 de Marzo de 2006, 00:26 »
0
El problema que veo es que tienes equivocada la ruta de la base de datos.
Coloca este código en Sub Form_Load lo más arriba posible.
Código: Text
  1. Data1.DatabaseName = App.path & "\XX\ZZ\1.mdb"
  2.  

Equivocas "/" por "\"

 :comp:

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Re: Path Db + Access
« Respuesta #2 en: Sábado 4 de Marzo de 2006, 00:38 »
0
Gracias por tu respuesta amigo cpmario, pero creo que no me has entendido o quizas me explique mal.

Si bien tipee mal las barras ("/"  y  "\") me refiero a que
Código: Text
  1. Data1.DatabaseName = App.path & "\XX\ZZ\1.mdb"
  2.  
"\XX\ZZ\1.mdb" es la ruta donde yo tengo la carpeta con los codigos fuente.

Ejemplo aun mas claro...
Mira es asi: C:\Windows\VB\DB-Musica\1.mdb
Aca tengo los frm, vbp, bas etc... a lo que voy es que cdo termine la app y haga el instalador el usuario que la instale no va a tener esa misma ruta... no se como ira a instalarlo el ni en que carpeta, me explico?

Gracias por tu respuesta cpmario.
Un saludo para vos.
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Path Db + Access
« Respuesta #3 en: Sábado 4 de Marzo de 2006, 02:56 »
0
Vamos por partes:

App.path te dice donde está el ejecutable de tu programa en cualquier equipo de computo. Por ejemplo: "C:\Windows\VB"

Tu base de datos estará en App.Path & "\DB-Musica\1.mdb"

Entonces
Código: Text
  1. Data1.DatabaseName = App.Path & "\DB-Musica\1.mdb"
  2.  
Debiera funcionar si colocas esta línea de código en Sub Form_Load lo más arriba posible.

--------------------------------------------------------
Por otra parte yo uso este método también

Primero, siempre coloco las bases de datos en el directorio del ejecutable y
el siguiente código lo coloco en Sub Form_Initialize() de la forma principal

Código: Text
  1.     ChDrive CurDir(App.Path)
  2.     ChDir App.Path
  3.  
Para que el directorio de trabajo sea el de la aplicación.

Y en en cuadro de propiedades al datacontrol le escribes solo el nombre del archivo sin el path por ejemplo: DatabaseName= 1.mdb
Te adjunto un pequeño proyecto para demostrártelo.
-------------------------------------------------------


 :comp:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Re: Path Db + Access
« Respuesta #4 en: Sábado 4 de Marzo de 2006, 03:51 »
0
Gracias.
En cuanto lo pruebe te aviso como me fue.!!!  :hola:
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.

fap1603

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Re: Path Db + Access
« Respuesta #5 en: Sábado 4 de Marzo de 2006, 04:01 »
0
a ver, t explico, lo que te han dicho es correcto, pero debes tener en cuenta que una cosa es como toma la ruta de la ddbb en tiempo de diseño y otra en tiempo e ejecucion, yo tube un propblema arecido al tuyo, y era por eso, para generar el exe debes poner app.path y lo demas, pero para usarla en tiempo de diseño, debes especificar la ruta completa. Pruyeba como te digo y ojala eso te solucione el problema.
Saludos,

Francisco Ayala Pinazo
Lima - Perú

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Re: Path Db + Access
« Respuesta #6 en: Sábado 4 de Marzo de 2006, 17:14 »
0
Gracias nuevamente, les comento como me fue.

Hice lo que me dijiste cpmario:
En el BataBaseName puse solamente 1.mdb
Y agregue
Código: Text
  1. Data1.DatabaseName = App.Path & "\DB-Musica\1.mdb"
  2.  
en el Load lo mas arriba de todo. Pero cdo lo ejecute, primero me daba error el Data1.Refresh y tb el MSFlexGrid.

Asi que probe con esto otro:
   
Código: Text
  1. ChDrive CurDir(App.Path)
  2.    ChDir App.Path
  3.  
en Sub Form_Initialize() de la forma principal, dejando en el BataBaseName solamente 1.mdb.
Probe ahi, y ya funciona... es medio extraño... Ahora el MSFlexGrid anda bien y trae los datos bien.

Mi pregunta es, ahora ya no tendre problemas cdo luego de finalizado el programa, genere mediante el empaquetador el instalador y lleve mi App a una maquina que no tenga la ruta que tienen en mi pc?

Gracias a todos.  :hola:
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Path Db + Access
« Respuesta #7 en: Lunes 6 de Marzo de 2006, 21:37 »
0
Precisamente el último código evita que ese tipo de problema suceda.
 :comp:

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Re: Path Db + Access
« Respuesta #8 en: Martes 7 de Marzo de 2006, 01:13 »
0
Gracias cpmario.
Un saludo para ti amigo.
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.