Indicar El Path de La Base de Datos Usando Un Data Control
Indicar El Path de La Base de Datos Usando Un Data Control
Indicar el path de la
base de datos usando
un data control
Ejemplos con ADO y DAO
Publicado: 18/Sep/2004
Actualizado: 18/Sep/2004
Autor: Guillermo 'guille' Som
3- Una vez que hemos indicado el nombre de la base de datos, tendremos que
indicarle la tabla a la que queremos acceder. Para ello tendremos que
seleccionar la propiedad RecordSource y elegir de la lista desplegable la tabla
a usar.
Estos tres pasos serán los que nos permitan acceder a una base de datos
desde nuestro proyecto de VB6.
Nota:
En el zip con el código completo he incluido una base de
datos de prueba.
Copia esa base de datos (db2000.mdb) en el mismo
directorio del proyecto y úsala para asignarla al control data.
De esa forma será más fácil seguir las indicaciones de este
artículo.
Hecho todo esto, podemos pulsar F5 para ejecutar la aplicación y veremos que
el DataGrid se llena con los datos que tenga la tabla de la base de datos que le
indicamos al control Data.
Para probar que todo esto funciona como debe vamos a compilar el proyecto
(crear el ejecutable) y veamos si siempre funciona.
Para compilar el proyecto y crear el ejecutable, selecciona la opción Make del
menú File (si tienes el VB en español, seguramente tendrá otros nombres).
La solución:
Para que la aplicación vuelva a funcionar, tendríamos que volver a copiar la
base de datos en el directorio en el que estaba (el del proyecto).
Compruébalo moviendo (cortar y pegar) la base de datos al directorio del
proyecto.
El problema (colateral):
Pero... imagínate que lo que quieres hacer, es distribuir esta aplicación y la
base de datos.
Como hemos podido comprobar, la única forma de que funcione es creando un
directorio que se encuentre en el mismo "camino" que el que nosotros tenemos
en nuestro equipo.
¿Cual es la mejor solución?
Creo que sería mejor que el programa pudiera funcionar si tanto el ejecutable
y la base de datos están en el mismo directorio, y lo más importante es: sea
cual sea ese directorio.
Es decir, nos dará igual si el disco en el que está la base y el exe es el disco C,
el E o el X, además de que el directorio puede ser cualquiera...
Nota:
Si tienes varias tablas en la misma base de datos y también
tienes varios controles data y a la vez varios controles
DataGrid enlazados con esos controles data, lo único que
tendrías que hacer es asignar a todos los controles data el
path correcto de la base de datos.
El resto de propiedades no hace falta cambiarlas ya que
seguirán siendo los mismos valores.
4- Con los dos pasos anteriores tendremos en el Toolbox dos nuevos controles,
hacemos doble-click en cada uno de ellos para agregarlos al formulario.
-De las tres opciones que nos muestra, seleccionamos la última: Use
Connection String, pulsamos en el botón Build... y se mostrará otro
cuadro de diálogo.
-Seleccionamos la primera ficha (Provider) y de la lista de proveedores
que muestra seleccionamos Microsoft.Jet.OLEDB.4.0 (si no se
muestra, es que no tienes ese proveedor y la base de datos de ejemplo
no te funcionará)
-Pulsa en Next>> para indicar el nombre de la base de datos, se
mostrará la segunda ficha (Connection).
-Escribe el nombre de la base de datos en la caja de texto que hay bajo
1. Select or enter a database name o pulsa en el botón con los tres
puntos para seleccionar una base (recuerda usar la base de datos que
acompaña al código la cual debe estar en el mismo directorio del
proyecto)
-No escribas nada en usuario y password, déjalos con los valores
predeterminados, ya que usaremos autentificación de Windows para
abrir la base.
-Para comprobar que se puede abrir la base de datos, pulsa en el botón
Test Connection y si todo va bien, te dirá que la conexión ha funcionado
correctamente.
6- Ahora vamos a indicar que tabla queremos usar. Asegúrate que el control
data está seleccionado y en la ventana de propiedades selecciona
RecordSource y pulsa en el botón con los tres puntos para que se muestre el
asistente.
8- Ahora vamos a indicarle al DataGrid que use el control data como fuente de
datos, por tanto selecciona el DataGrid y en la ventana de propiedades
selecciona la propiedad DataSource y de la lista desplegable tienes que
seleccionar el control data que tiene la conexión a la tabla que queremos usar,
en nuestro caso Adodc1.
Con todos estos pasos tendremos una aplicación similar al del ejemplo anterior
y además, con los mismos problemas, es decir, la base de datos que usará el
ejecutable (el cual no tiene ni una línea de código) será la que hemos indicado
en el control data.
Por tanto para que funcione, la base de datos tiene que estar en el path
indicado en tiempo de diseño.
Si hacemos la misma prueba que antes de compilar la aplicación y mover el
ejecutable y la base de datos a un directorio diferente, no funcionará.
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1.Recordset
End Sub
Adodc1.RecordSource = "Table1"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1.Recordset
End Sub
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db2000.mdb;Persist
Security Info=False
Bueno, confío en que con estas explicaciones, (las cuales he preferido
indicarlas en plan "paso a paso para principiantes" porque, casi con seguridad,
todo esto lo necesitarán los que no tengan mucho manejo con el uso de bases
de datos...), te quede más claro porqué algunas veces las aplicaciones que
usan los controles enlazados no funcionan al cambiar el path en el que se
encuentra la base de datos.
¡Que lo disfrutes!
Nos vemos.
Guillermo