Elaborar un programa para gestión de información. Programación en Visual Basic

Acabo de empezar a programar con visual basic (6) y tengo que hacer un programa que gestione, saque información, consultas, etc con bb. Dd de access 2000 y había pensado en hacerlo con ADO. Desearía saber de que partes se compone la aplicación( o sea 1 programa, necesito 1 bd de datos, y una conexión ADO), ¿y que mas?.

1 respuesta

Respuesta
1
En pocas Palabras. Lo primero es, decir que debes tener añadida la referencia a la librería "Microsoft ActiveX Data Objects library 2.7" en el menu Proyecto\Referencias\.
Una vez hecho esto. El siguiente paso es crearte un objeto Conexión. En el modulo principal de tu programa o en el formulario declaras un objeto conexión así::
"public [NombreConexion] as New ADODB.Connection"
Para poder trabajar con dicha conexión debes abrirla y configurarla.
Estos son los pasos, a grandes rasgos:
1.-[NombreConexion].ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ruta_del_Fichero_de_base_datos\fichero.mdb;Persist Security Info=False"
Esta Establece una propiedad para decir q las consultas seran desde el cliente
2.- [NombreConexion].CursorLocation = adUseClient
Y aqui abres la susodicha conexion
3.- [NombreConexion].Open
Bien una vez Abierta la conexión lo siguiente es ver el método de ver los datos.
Existen otros dos objetos en la librería de ADO indispensables :
1.- El objeto "Command"
2.- El objeto "Recordset"
Se pueden usar los dos para acceder a una tabla. Pero yo personalmente uso el Command
Un objeto command se usa tal q cual::
Dim ObjetoComando as new ADODB.Command
Acá se define la conexion q utilizará este command
ObjetoComando.ActiveConecction = [NombreConexion]
Esta propiedad es el Texto de la consulta, le pasas una cadena con la consulta sql que quieras admite prácticamente todas las sentencias SQL que se trague la base de datos que utilices "Insert, updates, transacciones ..."
ObjetoComando.CommandText = "Select * from [tabla]"
Y por fin la ejecutas
Objetocomando. Execute
Aquí entra en juego el Objeto Recordset. Porque Dicho objeto es una especie de Vista. Pj. En el ejemplo de antes el execute no seria así porque no serviría de nada puesto que el resultado de la consulta no iría a ninguna parte.
La ejecución del command devuelve un cursor (Recordset) con el resultado de la consulta que hayas echo.
Por lo tanto la orden para ejecutar sería:
Set [NombreRecordset] = OjetoComando.Execute
(Previamente has tenido que declarar dicho cursor con:: "dim [NombreRecordset] as new ADODB.Recordset")
El resultado de la consulta lo tenemos ya en [NombreRecordset]
Los objetos recordset tienen una serie de propiedades para desplazarse por el cursor como son .movenext .movelast etc.
Si queremos ver los valores de los campos del cursor es sencillo.
Un Recordset tiene una colección de llamada Fields que contiene los campos de la tabla que has consultado.
Por lo tanto acceder a ellos es::
(Aquí indice puede ser un numero con la intentar que ocuparía el campo o el nombre del campo)
[NombreRecordset].Fields([indice]).value
O También
[NombreRecordset]![NombreDelCampo]
Ok. Si tu programa no será muy complejo y el manejo de datos quieres que sea más sencillo, lo mejor es que uses los controles de ado que tiene el VB. Como son el que hay en Proyecto\Componentes "Microsoft ADO Data Control 6.0". El cual solo tienes que configurarle la propiedad conectionstring. Al modificar esta propiedad te saldrá un asistente para crear la conexión. Tu la que tienes que usar es la de abajo. La que pone "Usar Cadena de Conexión" y darle al botoncillo que pone generar. Escoges el proveedor jet 4.0 y en el siguiente paso escoges el fichero de base de datos. Y en la propiedad recordsource le introduces la sentencia sql.
Si has leído todo este mogollón de letras ya sabes como furulan las tripas del ado. Si tras leer toda esta bazofia dices que lo que tu querías era algo más sencillito. Dímelo y te hablare un poco sobre los controles. Son más sencillos de utilizar pero esto te da muchísima más libertad.
Si tienes alguna dudilla pregunta.
Un Saludo ;) (Y perdón si es sio mu pesado)
Gracias pero ahora tengo que digerir lo que me has dado y ponerme. Si tengo problemas y si no te importa me tomare la libertad de consultarte. Muchas gracias.
Clio7

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas