Make your own free website on Tripod.com
Volver a  Uso de Bases de Datos en Visual Basic Ir al Indice manejo b. de datos
Veamos nuevamente los elementos que debemos colocar en la ventana de propiedades para que Control Data pueda devolvernos los datos solicitados.
CONTROL DATA
Nombre
(Aquí colocaremos el nombre con el que identificaremos al control)
DataBaseName
La ubicación y el nombre de la base de datos. Ejemplo a:\tp1
Caption
Conviene eliminar todo lo que haya en caption, dejándolo vacío
Connect
La base de datos con la que nos conectaremos. (En nuestro caso Access 2000)
RecordSource
La tabla correspondiente a la base de datos que utilizaremos. (En nuestro caso Clientes)
CAJA DE TEXTO
DataSource
Aquí colocaremos el nombre que dimos al ControlData
DataField
Aquí colocamos el nombre de Campo de la Tabla indicada en RecordSource de ControlData.
Text
Normalmente eliminamos el texto de la caja dejándola en blanco.
En el próximo ejercicio, utilizaremos 3 cajas de texto. En TbCod, colocaremos el campo Código, en TbApe, colocaremos el campo Apellido y en TbSaldo colocaremos el campo Saldo.
Para no tener que hacer click sobre el ControlData, colocamos cuatro botones a los que llamaremos respectivamente: CmdPrimero, CmdAnterior, CmdSiguiente, CmdÚltimo.
Colocamos un ControlData, con nombre "D", la base de datos es la que usamos en el ejercicio anterior, por lo que debemos ubicarla donde la guardamos y colocar el camino y el nombre en DataBaseName. (Ejemplo A:\tp1). Borramos cualquier nombre que hubiere en Caption. En Connect indicamos la base de datos con qué nos conectaremos (en nuestro caso Access 2000). En RecordSource utilizaremos la tabla Clientes de la Base de Datos indicada anteriormente.
La caja de texto TbCod tendrá como DataSource "D" y como DataField "Código".
La caja de texto TbApe tendrá como DataSource "D" y como DataField "Apellido"
La caja de texto TbSaldo tendrá como DataSource "D" y como DataField "Saldo"
Private Sub Cmd1_Click()
D.Recordset.MoveFirst
End Sub
Private Sub Cmd2_Click()
D.Recordset.MovePrevious
End Sub
En este caso, las funciones del Control Data son cumplidas por cuatro botones. Desde la ventana de propiedades, se puede colocar la propiedad Visible del ControlData en False (en forma predeterminada está en True). Con esto el control queda invisible.
Private Sub Cmd3_Click()
D.Recordset.MoveNext
End Sub
Private Sub Cmd4_Click()
D.Recordset.MoveLast
End Sub
Podemos acceder al contenido individual de cada uno de los campos colocando:
NombreData.Recordset !NombreCampo
o en su forma más antigua NombreData.Recordset ("NombreCampo").
El objeto data posee 2 propiedades para indicar el principio y el final de los registros. La primera es BOF que significa "comienzo de archivo" (Begin of File). Tendrá como valor True si nos encontramos al principio del archivo. La otra propiedad es EOF (End of File o final de archivo):Valdrá True (Verdadero) cuando nos encontremos más allá del último registro. Estas propiedades se utilizan para recorrer una tabla.
A continuación haremos un ejercicio donde se utlizará un ListBox que llamaremos LbAp, también existirá un botón CmdAgregar y un ControlData de nombre D. Utilizaremos la base de datos del ejercicio anterior y debemos incluirla en DataSourceName. No incluiremos datos en la ventana de propiedades referidos a a la lista ya que todos los datos serán incluidos desde el código.
Al oprimir el botón agregar, se limpia la lista de cualquier dato anterior que hubiere en ella, luego se mueve el controldata al primer registro. Un ciclo while recorrerá todos los Apellidos de la tabla "Clientes" de la Base de Datos a la que se encuentra conectado el ControlData D. Al llegar a el último registro (EOF) el cliclo while se detendrá. Cada apellido quedará impreso en la listaLbAp..
Private Sub CmdAgregar_Click()
LbAp.Clear
'Limpia la lista de datos anteriores
D.Recordset.MoveFirst
'mueve el registro al principio
While Not D.Recordset.EOF
'establece una condición que durará hasta que no se llegue al último registro
LbAp.AddItem D.Recordset!Apellido
'Agrega a la lista un registro
D.Recordset.MoveNext
'Se mueve al registro siguiente
Wend
End Sub
En la Base de Datos utilizada anteriormente existe un campo que contiene Saldos. Vamos a modificar el ejercicio anterior a fin de que sume todos los saldos y los coloque en una caja de texto llamada TbTotal. El mismo botón Cmd Agregar realizará ambas tareas. Veamos cómo se modifica el código.
Private Sub CmdAgregar_Click()
LbAp.Clear
D.Recordset.MoveFirst
While Not D.Recordset.EOF
LbAp.AddItem D.Recordset!Apellido
I = D.Recordset!Saldo
TbTotal.Text = Val(TbTotal.Text) + I
D.Recordset.MoveNext
'MoveNext mueve Apellido y también Saldo
Wend
End Sub
En la próxima veremos cómo realizar un formulario donde usando la tabla empleados separemos mediante dos listas Mujeres y Hombres. También mediante 3 cuadros de texto separemos sueldos por Empleados, Jefes y Totales.
Otros ejercicios nos permitirán ir agregando o quitando registros de una base de datos desde V.Basic.
Volver Arriba Volver a  Uso de Bases de Datos en Visual Basic Ir al Indice manejo b. de datos