Está en la página 1de 49

Microsoft Office - Access 2007™

Practicas
Escuela de Ingeniería de Antioquia – EIA
Primer semestre 2009
Christian Lochmueller

Pagina 1 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Objetivos
• Aprender como se “programa” una Base de Datos
de Microsoft Access 2007 usando Visual Basic 6.0
(VB6)
– Conectar VB6 con Access (p.ej. ventas.accdb)
• El control de datos ADO (Active X Data Object)
• Tres formas para conectarse
– Con data control (a. usando *.udl / b. usando código)
– Sin data control
– Diseñar / programar un formulario
– Programar los botones / campos
• Navegar entre registros
• Borrar, Añadir, grabar, refrescar datos / registros

Pagina 2 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


¿Por qué usar Visual Basic con MS-Access?

• Visual Basic (VB) y Visual Basic for Applications (VBA) ambos tienen el
mismo predecesor – Basic – y ambos son productos de la empresa
Microsoft
• VB es un lenguaje de programación usado por desarrolladores de software
y en este sentido mas “amplio” que VBA. VBA es un lenguaje de scripting
para crear aplicaciones y es integrado en MS-Excel, -Access, etc. Es decir
VBA es incluido en otro producto
• VB y VBA amplían la funcionalidad de Macros
– Un macro se usa para automatizar una serie / una secuencias de acciones o
comandos
• VB / VBA permite desarrollar interacciones orientadas hacia el usuario
• Permite ejecutar operaciones complejas con registros (=> SQL)
• Permite un control completo sobre el modelo objeto de Access (Access
Object Model) y sus métodos y propiedades
• VB / VBA ofrece mejor manejo de errores
• VB6, lo cual usamos en clase, fue introducido al mercado en el año 1998
Pagina 3 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller
ADO (Active X Data Object)
• 1) MS-Access tiene incorporado un motor de base de datos (database enginge)
que se llama “Jet” – y lo cual usted podria usar
– Pero también se puede usar en el lugar de Jet un servidor de datos aparte
• Como MS-SQLServer, Oracle or MySQL
• Cada uno de ellos funciona un poco diferente
• 2) Los datos (y servidor) de pronto corren en el un solo computador – juntos con
Access
– Pero es posible también que ellos corren en diferentes maquinas
• 3) Los datos (y servidor) de pronto no son en una base de datos relacional
– Pueden ser en una pagina web o en una hoja de calculo
• ADO = Active Data Objects es un solo modelo para capturar todos estos casos
• ADO es uno de los mecanismos que usan los programas de computadoras para
comunicarse con las bases de datos, darles órdenes y obtener resultados de ellas

Pagina 4 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


ADO (Active X Data Object)
• Programación con ADO
– ADO ahora es el método mas importante y confiable de Microsoft
para conectar con una fuente de datos, modificar, recuperar y manejar
datos [VINE, 2005]
• ADO permite conectarse con una fuente de datos que apoya el concepto de “open
database connectivity (ODBC)”
• ADO también permite usar extensivamente SQL
• Un comentario con respeto a DAO
– ADO substituyó tanto a DAO (Data Access Object), como a RDO
(Remote Data Object), que eran los sistemas previos que se usaban
para acceder a las bases de datos y bases de datos remotas,
respectivamente. ADO tiene la mayor parte de la funcionalidad de
ambos modelos y sin embargo es más sencillo de usar y de entender y
por lo tanto más fácil y menos engorroso de programar
[Wikipedia]

Pagina 5 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


ADO (Active X Data Object)
• Programación con ADO implica trabajar con el ADO API o sea el denominado “ADO
object model”
• Un API (application programming interface) es un conjunto de interfaces o clases que
permiten el acceso a niveles mas bajos de la funcionalidad de los modelos de la
programación y en este sentido juega el papel de un intermediario.
• ADO vocabulario:
– Connection / Conexión
• Una conexión es la manera como uno gana acceso a una fuente de datos . En ADO una
conexión se puede establecer usando el “Connection object”
– Command / Comando
• Un conjunto de instrucciones como SQL que típicamente inserta, borra o actualiza datos.
Estos ADO comandos están incorporado en el “Command object”
– Recordset
• Registros los cuales devuelve un comando como SQL son guardado en un conjunto de
registros (recordsets). El ADO “Recordset object “ permite iterar por un conjunto de
registros para insertar, actualizar y borrar filas
– Field / Campo
• ADO recordsets contiene un o varios campos. ADO “fields” se implementan usando el
“Field object” que almacena propiedades para los nombres de un campo, tipos de datos
y valores
– Parameter/Parámetro
• “Parameters” permiten el uso de variables para entregar información a un comando
como SQL. ADO usa el “Parameter object” para construir consultas usando parámetros

Pagina 6 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Tres formas de conectarse con la BD
(usando ADO):

1. Con data control (Adodc1 = Ado data control)


– “Configurar“ la conexión usando un archivo *.udl y la IDE de
VB (=> “tiempo de diseño)
2. Con data control (Adodc1 = Ado data control)
– Programar la conexión usando VB6 (=> “tiempo de ejecución”)
3. Sin data control
– Programar la conexión usando VB6 (=>“tiempo de ejecución”)

Pagina 7 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 1:
UDL = Universal Data link
• UDL se puede usar para establecer una conexión con
una base de datos
• La ventaja de archivos de tipo UDL es que ofrecen
una manera fácil y grafico para establecer una
conexión con una base de datos que cumpla con el
estándar ODBC
• *.UDL es un pequeño archivo de texto con un
comando para establecer una conexión

Pagina 8 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


1. Crear un vinculo de datos OLE DB (1)
• Crear un archivo de tipo udl usando un editor (Bloc de notas). Guarde el
nuevo archivo con el nombre de la base de datos– p.ej. ventas.udl – y en el
mismo directorio donde esta el archivo con la base de datos (ventas.accdb)
• Para guardar el archivo con la extensión udl se tiene que seleccionar la
opción “Todos los archivos” (al contrario el programa lo guardará como .txt):

• Para los tres próximos pasos véase el diapositiva siguiente


– 1) Abra este archivo (con doble clic) y entre el Proveedor para Access 2007:
“Microsoft Office 12.0 Access Database Engine OLE DB Provider”
– 2) Entre el camino donde se encuentra la base de datos – p.ej. “C:\Documents and
Settings\3.xB\Mis documentos\ventas.accdb” (donde x es el numero de la aula en la EIA)
– 3) Después seleccione en el dialogo “Probar la conexión”

Pagina 9 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


1. Crear un vinculo de datos OLE DB (2)
1 2 3

Pagina 10 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


1. Abrir Visual Basic 6.0
• Abre la IDE (Integrated development
environment) de VB
• Abre un proyecto nuevo:

Pagina 11 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


2. Diseño del formulario
• Sitúe sobre el formulario los controles para
– el nombre del vendedor,
– el nombre del producto,
– el nombre del municipio,
– la fecha de la venta y
– las unidades vendidas
• Para hacerlo usa las herramientas (a la
izquierda) => véase la próxima diapositiva

Pagina 12 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


2. Diseño del formulario

Sitúe para cada campo


- una caja de texto y
- Una etiqueta

Pagina 13 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


3. Asigna nombres a los controles usando el
compartimento “Propiedades”

Objeto Propiedad Valor


Etiqueta Caption Vendedor
Name Label1

Pagina 14 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


3. Asigne los nombres de la manera siguiente:
Objeto Propiedad Valor
Etiqueta Caption Vendedor
Name Label1
Caja de texto Name Text1
Text1 (nada)
Etiqueta Caption Producto
Name Label2
Caja de texto Name Text2
Text1 (nada)
Etiqueta Caption Municipio
Name Label3
Caja de texto Name Text3
Text1 (nada)
Etiqueta Caption Fecha
Name Label4
Caja de texto Name Text4
Text1 (nada)
Etiqueta Caption Unidades Vendidas
Name Label5
Caja de texto Name Text5
Text1 (nada)

Pagina 15 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


3. Resultado de la asignación

Pagina 16 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


4. Seleccione el control ADO de la barra de
herramientas y dibújelo sobre el formulario

Advertencia:
Si el control ADO no aparece
automáticamente, seleccione lo
primero:
Proyecto – Componentes –
Controles - “Microsoft ADO Data
Control 6.0 (OLEDB)”

Pagina 17 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


5. Especifique las propiedades para el control
ADO (Adodc1) de la manera siguiente:

Objeto Propiedad Valor


Control de datos ADO Caption p.ej.: Vendedor
Name Label1
ConnectionString C:\Mis documentos\ventas.udl
RecordSource SELECT vendedores.nombre,
productos.nombre,
municipios.nombre,
ventas.fecha,
ventas.unidadesVendidas
FROM vendedores, productos,
municipios, ventas

Véase paginas siguientes

Pagina 18 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


5a. Para la definición de la propiedad “ConnectionString”
haga clic en los “… “(a la derecha de la propiedad) y se abre el
dialogo para entrar el ConnectionString (con el archivo ventas.udl)

Seleccionar Aceptar entra


el string como propiedad

Pagina 19 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


5b. Para la definición de la propiedad “RecordSource”
haga clic en los “… “(a la derecha de la propiedad) y se abre el dialogo
para entrar la “RecordSource” (con el comando SQL – la consulta)

Seleccionar “Aceptar”
entra la Source (fuente)
como propiedad
Pagina 20 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller
6. Para las 5 cajas de texto asigna en la propiedad “DataSource”
el valor “Adodc1” (el valor del control ADO) y para la propiedad
“DataField” el valor adecuado para cada campo (usando la
flecha / triangula al lado derecho de la propiedad). Es decir para
vendedor => vendedores.nombre etc.
• Si uno guarda el proyecto (como ventas) y lo ejecuta
se presentará así,
los valores para
los campos vienen
de la base de datos
(ventas.accdb):

Pagina 21 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


7. Coloque 4 controles (botones) para
navegar entre los registros

Pagina 22 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


8a. Asignar los valores a las propiedades de
la manera siguiente:
Objeto Propiedad Valor
Botón de pulsación Caption Inicio
Name Inicio
Botón de pulsación Caption Anterior
Name Anterior
Botón de pulsación Caption Siguiente
Name Siguiente
Botón de pulsación Caption Final
Name Final

Pagina 23 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


8b. Definir el código para los botones (haz doble clic en el
botón para que se abra la ventana para introducir el
código de VB)
Private Sub Inicio_Click()
Adodc1.Recordset.MoveFirst
End Sub

Private Sub Final_Click()


Adodc1.Recordset.MoveLast
End Sub

Private Sub Anterior_Click()


Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then  BOF = Begin of file
Adodc1.Recordset.MoveFirst
End If
End Sub

Private Sub Siguiente_Click()


Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then  EOF = End of file
Adodc1.Recordset.MoveLast
End If
End Sub
Pagina 24 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller
9. Inactivamos el control ADO
(porque ahora tenemos los botones para navegar)
• Seleccione para el control ADO la propiedad “visible” y
elige “false”

Pagina 25 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


9. … y así se presenta el resultado (cuando ejecutamos
la aplicación):

Pagina 26 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


10. De la misma manera se pueden definir botones para borrar
(delete), nuevo, editar, buscar, cancelar, grabar (update), refrescar
(actualizar)
Nota: El código siguiente fue escrito para la opción “conectarse con *udl y la IDE (tiempo
diseño) se tiene que cambiar un poco si se usa una de las alternativas B o C
Private Sub Borrar_Click() <- ‘Borrar
Dim r As Integer
On Error GoTo RutinaDeError
r = MsgBox("¿Desea borrar el registro?", vbYesNo, "Atención")
If r <> vbYes Then Exit Sub
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
End If
Exit Sub
RutinaDeError:
r = MsgBox(Error, vbOKOnly, "Se ha producido un error:")
Adodc1.Recordset.CancelUpdate
End Sub

Pagina 27 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


… continuación

Private Sub Nuevo_Click() <- ‘Entrar un nuevo registro


HabilitarCajas El objetivo de
InhabilitarBotones “In/HabilitarCajas y –
botones” se explica mas
Grabar.Enabled = True adelante
Cancelar.Enabled = True
Adodc1.Recordset.AddNew ‘añadir un nuevo registro
Text1.SetFocus ‘poner el cursor en la primera caja
End Sub

Pagina 28 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


… continuación
Private Sub Buscar_Click() <- ‘Buscar un registro
Dim Buscado As String, Criterio As String

Buscado = InputBox("¿Que nombre quieres buscar?")


If Buscado = "" Then Exit Sub
Criterio = "Nombre Like '*" & Buscado & "*'"

Adodc1.Recordset.MoveNext
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.Find Criterio
End If
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find Criterio
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
MsgBox ("No encuentro ese nombre")
End If
End If
End Sub

Pagina 29 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


… continuación
Private Sub Cancelar_Click() <- ‘Cancelar una acción
Adodc1.Recordset.CancelUpdate
HabilitarBotones
Grabar.Enabled = True
InhabilitarCajas
End Sub

Private Sub Editar_Click() <- ‘Editar el registro actual


HabilitarCajas
HabilitarBotones
Grabar.Enabled = True
Cancelar.Enabled = True
Text1.SetFocus
End Sub

Pagina 30 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


… continuación
Private Sub Grabar_Click() <- ‘Almacenar un registro nuevo (véase “Nuevo”)
Adodc1.Recordset.Update
HabilitarBotones
Grabar.Enabled = True
InhabilitarCajas
End Sub

Private Sub Refrescar_Click() <- ‘Recargar los registros (del formulario)


Adodc1.Recordset.Requery
HabilitarBotones
Grabar.Enabled = False
End Sub

Private Sub Form_Load() <- ‘Función para cargar el formulario con los datos
Grabar.Enabled = False
InhabilitarCajas
End Sub

Pagina 31 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


… continuación
El objetivo de “In/HabilitarCajas y –
Private Sub InhabilitarCajas()
Dim n As Integer
botones” es que queremos evitar
For n = 0 To Controls.Count - 1 que el usuario puede realizar
If TypeOf Controls(n) Is TextBox Then operaciones sin sentido como
Controls(n).Enabled = False cambiar de registro en mitad de una
End If operación de altas o pulsar el botón
Next n
“Nuevo” (dar de alta un registro)
End Sub
repetidas veces (=> para evitar
Private Sub InhabilitarBotones() registros en blancos), etc.
Dim n As Integer
For n = 0 To Controls.Count - 1
If TypeOf Controls(n) Is CommandButton Then
Controls(n).Enabled = False
End If
Next n
End Sub

Pagina 32 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


… continuación
Private Sub HabilitarCajas()
Dim n As Integer
For n = 0 To Controls.Count - 1
If TypeOf Controls(n) Is TextBox Then
Controls(n).Enabled = True
End If
Next n
End Sub

Private Sub HabilitarBotones()


Dim n As Integer
For n = 0 To Controls.Count - 1
If TypeOf Controls(n) Is CommandButton Then
Controls(n).Enabled = True
End If
Next n
End Sub

Pagina 33 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Tareas / Ejercicios (sin evaluación):
(1) Programa el ejemplo dado, es decir:
• Programa la conexión con la base de datos (Ventas) que se
encuentra en moodle.
• Usando *udl y la IDE de VB6
• Genera con VB 6 un formulario que muestra vendedor,
producto, municipio, fecha de la venta y unidades vendidas.
Además programa 4 botones para navegar (Inicio, Anterior,
Siguiente, Final) y luego botones para agregar un registro
nuevo y grabarlo, y un botón para buscar un registro.
(2) Haz lo mismo con la base de datos “AccessBD_DatosBasicos_0”
que se encuentra también en moodle
• En el formulario muestre los campos nombres, apellidos y
teléfono

Pagina 34 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 2:
=> es una alternativa para conectarse con la BD

• Con data control (Adodc1 = Ado data control)


– Programar la conexión usando VB6 (=> “tiempo de ejecución”)

Pagina 35 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 2:
Lo mismo se puede lograr escribiendo código. Es decir sin “configurar”
las propiedades del formulario y sin usar un archivo *.udl.
(a) Genere simplemente un formulario dibujando las etiquetas (en
este caso una matriz) y las cajas de texto (otra matriz):

Pagina 36 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 2:
(b) Y ahora se escribe el código siguiente para conectarse con la BD:

Private Sub Form_Load()


' Indicar el path correcto de la base de datos
Const sPathBase As String = "C:\Documents and Settings\3.xB\Mis
documentos\ventas2.accdb"

' Crear la conexión manualmente


' Con "Provider=Microsoft.ACE.OLEDB.12.0;" se permite abrir bases de datos de
Access 2007
With Adodc1
.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & sPathBase & ";"
' Indicarle de que tabla / consulta vamos a leer los datos
.RecordSource = "SELECT vendedores.nombre, productos.nombre,
municipios.nombre, ventas.fecha, ventas.unidadesVendidas FROM vendedores,
productos, municipios, ventas"
End With

Pagina 37 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 2:
(b) … continuación

' Indicar el DataSource de los cajas de texto (las cuales en este ejemplo son
una matriz)
' ya que con ADO se puede asignar en tiempo de ejecución
Dim i As Long
For i = 0 To 4
Set Text1(i).DataSource = Adodc1
Next
' Asignar los campos (el indice (0) a (4) hace referencia a la matriz)
Text1(0).DataField = "vendedores.nombre"
Text1(1).DataField = "productos.nombre"
Text1(2).DataField = "municipios.nombre"
Text1(3).DataField = "fecha"
Text1(4).DataField = "UnidadesVendidas"
' Mostrar en las etiquetas el campo a usar
Label1(0).Caption = "Vendedor:"
Label1(1).Caption = "Producto:"
Label1(2).Caption = "Municipio:"
Label1(3).Caption = "Fecha:"
Label1(4).Caption = "Unidades vendidas:"
End Sub
Pagina 38 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller
Opción 2:
… y el resultado es el mismo

Pagina 39 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 2:
(c) El código para los botones se tiene que cambiar un
poco porque no se puede asignar un nombre al comando
en tiempo de ejecución (solo en tiempo de diseño):
Agregue a Sub form_load () el código siguiente y cambie los nombres en
los métodos correspondientes de manera adecuada:

Command1.Caption = "Inicio“
Command2.Caption = "Anterior“
Command3.Caption = "Siguiente“ Private Sub Command2_Click()
Command4.Caption = "Final" Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then
Private Sub Command1_Click() Adodc1.Recordset.MoveFirst
Adodc1.Recordset.MoveFirst End If
End Sub End Sub

Private Sub Command4_Click() Private Sub Command3_Click()


Adodc1.Recordset.MoveLast Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
End Sub
Adodc1.Recordset.MoveLast
End If
End Sub
Pagina 40 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller
Opción 2:
… y el resultado es el mismo:

Pagina 41 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 3:
=> es otra alternativa para conectarse con la BD

• Pero esta vez sin data control

Pagina 42 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 3:
Lo mismo se puede lograr sin usar un data control (Adodc1)
(a) Genere simplemente un formulario dibujando las etiquetas (en
este caso una matriz) y las cajas de texto (otra matriz), pero esta vez
sin el data control (Adodc1):
Nota: Se necesita Proyectos -> Referencias – ”Microsoft ActiveX Data Objects 2.8
Library”

Pagina 43 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 3:
(b) Y ahora se escribe el código siguiente para conectarse con la BD:
Option Explicit
' En ADO, se usa el objeto Connection para abrir las bases de datos
Private cnn As ADODB.Connection
' Necesitamos los eventos si queremos controlar algunas cosillas
Private WithEvents rst As ADODB.Recordset

Private Sub Form_Load()


' Indicar el path correcto de la base de datos
Const sPathBase As String = "C:\Documents and Settings\3.xB\Mis
documentos\ventas2.accdb"

' Crear los objetos


Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset

' Crear la conexión manualmente


' Usar "Provider=Microsoft.ACE.OLEDB.12.0;" para bases de Access 2007
With cnn
.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & sPathBase & ";"
.Open
End With

Pagina 44 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 3:
(b) … continuación
' Indicarle de que tabla vamos a leer los datos
rst.Open "SELECT vendedores.nombre, productos.nombre, municipios.nombre,
ventas.fecha, ventas.unidadesVendidas FROM vendedores, productos, municipios,
ventas", cnn, adOpenDynamic, adLockOptimistic

' Asignar el recordset al que estarán los datos conectados


' Esto funciona igual que si se conectaran a un DataControl,
' Por tanto no hay que preocuparse de actualizar el contenido, etc.
Dim i As Long
For i = 0 To 4
Set Text1(i).DataSource = rst
Next

' Asignar los campos


Text1(0).DataField = "vendedores.nombre"
Text1(1).DataField = "productos.nombre"
Text1(2).DataField = "municipios.nombre"
Text1(3).DataField = "fecha"
Text1(4).DataField = "unidadesVendidas"

' Asignar los nombres de los campos a las etiquetas


Label1(0).Caption = "Vendedor:"
Label1(1).Caption = "Producto:"
Label1(2).Caption = "Municipio:"
Label1(3).Caption = "Fecha:"
Label1(4).Caption = "Unidades vendidas:"

End Sub

Pagina 45 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Opción 3:
(c) Para los botones el código básicamente es como en la alternativa
B. Se tiene que cambiar un poco porque ahora no trabajamos con
Adodc1 (data control) sino con el objeto recordset. Por lo tanto
tenemos que cambiar Adodc1 por la variable “rst” (recordset):
Como en la alternativa B: Agregue a Sub form_load () el código siguiente y
cambie los nombres en los métodos correspondientes de manera adecuada:
Command1.Caption = "Inicio“
Command2.Caption = "Anterior“
Command3.Caption = "Siguiente“
Command4.Caption = "Final" Private Sub Command2_Click()
rst.MovePrevious
If rst.BOF Then
Private Sub Command1_Click() rst.MoveFirst
rst.MoveFirst End If
End Sub End Sub

Private Sub Command4_Click() Private Sub Command3_Click()


rst.MoveLast rst.MoveNext
If rst.EOF Then
End Sub
rst.MoveLast
End If
End Sub
Pagina 46 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller
Opción 3:
… y el resultado es el mismo:

Pagina 47 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Tarea / Ejercicios (sin evaluación):

• Programar la conexión con la base de datos


“AccessBD_DatosBasicos_0” (que se encuentra en moodle)
1. Primero como indicado en la opción 2 y
2. Luego como indicado en la opción 3 (sin data control)
• Colocar etiquetas y cajas de texto en un formulario para
• Cedula
• Nombres
• Apellidos
• Telefono
• Correo
• Colocar 4 botones para la navegación (Inicio, Anterior,
Siguiente, Final)
• Realizar la programación para el formulario

Pagina 48 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller


Tarea / Ejercicio (sin evaluación):

• Colocar 4 botones para


• borrar (delete) un registro y
• Nuevo (nuevo registro) y
• Grabar (update) un registro (nuevo) y
• Refrescar (re- query)
en el formulario de la base de datos
“AccessBD_DatosBasicos_0” (el cual creamos en la
tarea anterior) y realizar la programación

Pagina 49 Practicas – Base de Datos y Sistemas de Información © 2009 by C. Lochmueller

También podría gustarte