Visual Basic con Access

POO (Programación Orientada a Objetos). Clases. Polimorfismo. Recordset. Eventos. Bases de Datos. Conexión. ODBC (Open Database Connectivity). Objeto OLE. DBGrid. OLEDB

  • Enviado por: Frijol
  • Idioma: castellano
  • País: México México
  • 14 páginas
publicidad
cursos destacados
Cantabria en la Época Contemporánea. Política, Sociedad, Economía y Territorio
UNED
¿Te gustaría conocer los aspectos más relevantes de la historia de Cantabria? Conoce el origen y causas de su...
Solicita InformaciÓn

El patrimonio Etnográfico en la Isla de La Palma
UNED
El curso trata de poner en valor el patrimonio material e inmaterial de la isla de La Palma y repasar el estado actual...
Solicita InformaciÓn

publicidad

El objetivo de esta practica es mostrar el manejo de bases de datos desde Visual Basic, las instrucciones son las siguientes : siga los pasos que se muestran a continuacion y no pierda detalles de los mismos.

Parte I.- Creación de la Base de Datos

En esta parte usted creara una base de datos en Microsoft Access, la cual contendra dos tablas las cuales son Alumnos y Especialidades, ademas definira una relacion de uno a muchos entre dichas tablas.

1.- Abra Access, aparecerá la siguiente pantalla, seleccione una base de datos en blanco y presione el botón de aceptar.

2.- En seguida le aparecerá un cuadro de dialogo con la petición del nombre de la base de datos, primero posicionese en la unidad C: y seleccione crear una nueva carpeta:

y nombre a la carpeta Practica, como se muestra a continuación:

posicionese dentro de la nueva carpeta y nombre a la base de datos Escolaridad, y luego seleccione crear, como se muestra a continuación:

3.- Ahora dentro de la ventana pricncipal de Access, seleccione nuevo.

y aparecera la siguiente ventana:

en la cual seleccionara vista de diseño y presionara Aceptar.

4.- Ahora cree la estructura de la tabla Especialidades, como se muestra a continuación:

Los campos son los siguientes:

Nombre del Campo TipoDato Longitud

Esp_Id Numerico Entero largo

Esp_Nombre Texto 50

Esp_Titular Texto 50

5.- Ahora definiremos la llave primaria para este tabla, seleccione el campo Esp_ID haciendo clicl en el cuadro que se encuentra al lado izquierdo del nombre del campo, luego de hacer esto presione el icono con forma de llave que se encuentra en la barra de herramientas principal del Access, esto se muestra a continuación:

6.- Cierre la ventana donde definio los campos de la tabla, al momento de hacer esto Access le preguntara si desea guardar los cambios, acepte los mismos y ahora Access le hara una petición del nombre de la tabla, la cual nombrara como Especialidades, como se muestra a continuacion:

7.- Ahora cree otra tabla llamada alumnos con las siguientes características:

Nombre del Campo TipoDato Longitud

Alum_Numerocontrol Texto 8

Alum_Nombre Texto 50

Alum_Direccion Texto 50

Alum_Promedio Numerico Simple

Esp_ID Numerico Entero Largo

Y defina el Alum_Numerodecontrol como llave primaria

La vista de diseño se muestra a continuación:

8.- Relacione las tablas creadas, hasta este momento usted tiene dos tablas creadas, ahora necesita establecer su relacion, para hacer esto haga clic en el icono de relaciones de la barra de herramientas de Access

9.- Agrege las dos tablas que ha creado, seleccionando la tabla y luego presionando el boton de agregar, como se muestra a continuación.

Y ahora arrastre el campo Esp_Id de la tabla Especialidades al campo Esp_Id en la tabla de Alumnos, esto con el propósito de establecer una relación de uno a muchos, después de hacer esto aparecera la siguiente ventana:

En la cual seleccionara la opcion Exigir Integridad Referencial y después presionara el boton de Crear. Depuse de hacer esto la pantalla de relaciones debe lucir así:

10.- Cierre la ventana de Relaciones y acepte el cambio.

11.- Ahora seleccione la tabla de Especialidades desde la pantalla de la base de Datos y seleccione Abrir, después de esto inserte algunos datos validos, un ejemplo se muestra a continuación:

12.- Cierre la ventana de datos de la tabla y ahora inserte datos en la tabla alumnos, un ejemplo se muestra a continuación:

13.- Cierre la ventana de datos y cierre Access.

Parte II.- Programación de la Tabla Especialidades

En esta parte usted programara con la ayuda de Visual Basic la funcionalidad básica requerida para el manejo de la información contenida en una tabla.

1.-Abra Visual Basic

2.- Cree la interfaz requerida para el manejo de la tabla de Especialidades, un ejemplo se muestra a continuación:

Visual Basic con Access

Recuerde que para poder insertar una imagen en un botón primero debe establecer su propiedad Style= 1 - Graphical y luego con la propiedad picture la imagen.

4.- Inserte en el formulario el control llamado Data, y en sus propiedades establezca lo siguiente :

Databasename = C:\Practica\Escolaridad.mdb (Nombre Físico de la Base de Datos)

RecordSource = Especialidades (Nombre de la Tabla o Entidad)

Visible = False (Ocultar el control)

5.- Seleccione la caja de texto de Clave de la Especialidad y establezca las siguientes propiedades :

DataSource = Data1 (Establecer la fuente de los datos)

DataField = Esp_ID (Ligarlo al campo o atributo de la tabla Especialidades)

y de la misma manera cada caja de texto con su correspondiente DataField.

6.- Seleccione todas las cajas de texto y establezca la propiedad Enabled = False.

7.- Guarde su proyecto en la carpeta de trabajo (llamada Practica)

8.- Establezca el nombre de cada CommandButton de la manera siguiente (tomando de izquierda a derecha)

cmdPrimero, cmdAnterior, cmdSiguiente, cmdUltimo, cmdImprimir, cmdBuscar, cmdAñadir, cmdGuardar, cmdCancelar, cmdEditar, cmdEliminar, cmdSalir

9.- Escriba el siguiente código para los procedimientos de evento correspondientes:

Private Sub cmdPrimero_Click()

Data1.Recordset.MoveFirst

End Sub

Private Sub cmdUltimo_Click()

Data1.Recordset.MoveLast

End Sub

Private Sub cmdAnterior_Click()

Data1.Recordset.MovePrevious

If Data1.Recordset.BOF = True Then

Data1.Recordset.MoveNext

MsgBox ("Se encuentra en el inicio de las Especialidades")

End If

End Sub

Private Sub cmdSiguiente_Click()

Data1.Recordset.MoveNext

If Data1.Recordset.EOF = True Then

Data1.Recordset.MovePrevious

MsgBox ("Se encuentra en el final de las Especialidades")

End If

End Sub

Private Sub cmdBuscar_Click()

Buscado = InputBox("Por favor, teclee el nombre de la Especialidad a buscar :")

Nombre = Buscado

Buscado = "[Esp_Nombre] like '*" & Nombre & "*'"

cmdPrimero_Click

Data1.Recordset.FindFirst (Buscado)

If Data1.Recordset.NoMatch = True Then ' Si no lo encontro

MsgBox ("La especialidad no se encuentra")

cmdPrimero_Click

End If

End Sub

Private Sub cmdSalir_Click()

Unload Me

End Sub

10.- Guarde su proyecto

11.- Ejecute su aplicación

12.- Pruebe los botones que acaba de programar (Primero, Anterior, Siguiente, Ultimo, Buscar y Salir)

13.- Establezca en tiempo de diseño las siguientes propiedades :

cmdCancelar.Enabled = False

cmdGuardar.Enabled = False

14.- Establezca el orden de la tabulación (a tiempo de diseño):

Es decir establezca la propiedad tabindex de la caja de texto que contiene el nombre igual a cero, luego la caja de texto de nombre con dos y así sucesivamente con las demás cajas.

15.- Escriba el siguiente código :

Private Sub Form_Load()

cmdPrimero.ToolTipText = "Muestra el Primer Alumno"

cmdAnterior.ToolTipText = "Muestra el Alumno Anterior"

cmdSiguiente.ToolTipText = "Muestra el Alumno siguiente"

cmdUltimo.ToolTipText = "Muestra el Ultimo Alumno"

cmdBuscar.ToolTipText = "Permite buscar algún Alumno en la Base de Datos"

cmdAñadir.ToolTipText = "Añade un nuevo alumno"

cmdGuardar.ToolTipText = "Guarda la información del nuevo alumno o los cambios"

cmdCancelar.ToolTipText = "Deshace los cambios"

cmdEditar.ToolTipText = "Permite modifcar los datos del Alumno"

cmdEliminar.ToolTipText = "Borra el registro del alumno"

End Sub

Private Sub cmdAñadir_Click()

Data1.Recordset.AddNew

Call PreparaInterfase

End Sub

Private Sub cmdGuardar_Click()

Data1.Recordset.Update

Call PreparaInterfase

End Sub

Private Sub cmdCancelar_Click()

Data1.Recordset.CancelUpdate

Call PreparaInterfase

End Sub

Private Sub cmdEditar_Click()

Data1.Recordset.Edit

Call PreparaInterfase

End Sub

Private Sub cmdEliminar_Click()

Dim intRespuesta As Integer

intRespuesta = MsgBox("Realmente desea borrar los datos de la Especialidad ?", vbYesNo + vbQuestion)

If intRespuesta = vbYes Then

Data1.Recordset.Delete

CmdPrimero_Click

End If

End Sub

Sub PreparaInterfase()

Dim Objeto As Object

For Each Objeto In Me.Controls

If TypeOf Objeto Is TextBox Then

Objeto.Enabled = Not Objeto.Enabled

End If

If TypeOf Objeto Is CommandButton Then

Objeto.Enabled = Not Objeto.Enabled

End If

Next Objeto

End Sub

16.- Guarde su aplicación y pruebe la funcionalidad de la foma que acaba de diseñar, haga altas de alumnos, elimine datos y modifíquelos.

17.- Analice los métodos que utiliza el objeto RECORDSET del DataControl.

Parte III.- Diseño de Vistas (DBGrid)

1.- De un clic derecho sobre la barra de controles, al hacer esto aparecerá el siguiente menú contextual

Visual Basic con Access

Seleccione Componentes, al hacer esto aparecerá la siguiente ventana:

Visual Basic con Access

Dentro de ella busque el control llamado Microsoft DataGrid Control 5.0 el nombre puede variar es decir tal vez no lleve (OLEDB) o (SP4). Selecciónelo y haga clic en aceptar.

Después de haber hecho esto, en la ventana de controles aparecerá uno nuevo y debe lucir de la siguiente manera:

Visual Basic con Access

2.- Agrege un nuevo formulario a su proyecto, y establezca su Caption = “Vista de Especialidades”

3.- Agregue un control de tipo DBGrid (el que acaba de añadir a su tool box) , establezca su propiedad Height = 5000 y su propiedad Width=5000.

4.- Inserte un Data control y liguelo a la tabla de Especialidades de la base de datos Escolaridad.

5.- Seleccione el Grid y establezca la propiedad del DataSource = Data1

6.- Establezca a que su forma que contiene el Grid sea la forma inicial de su proyecto.

7.- Corra su programa y vea lo que sucede.

8.- Guarde su proyecto y la nueva forma añadida en su directorio de trabajo.

10.- Ahora añada un nuevo formulario y haga una vista de la tabla de alumnos, siguiendo los pasos anteriores de esta parte de la practica.

11.- Pruebe el grid que acaba de configurar

12.- Guarde su trabajo.

Parte IV.- Implementación de DB Combos

El objetivo de esta parte es que usted aprenda a utilizar las listas y combos diseñados para Bases de datos, observara su utilidad en el manejo de llaves foráneas para mayor facilidad del usuario.

1.- Añada un nuevo control Activex a su proyecto,(haciedo un clic izquierdo en el toolboox), seleccione el control llamado Microsoft Data Bound List Controls 6.0

Visual Basic con Access

Al hacer esto apareceran dos nuevos controles, los cuales son un list y un combo especiales para manipulación de bases de datos.

2.- Añada un nuevo data control a su forma de catalogo de Alumnos y configúrelo a la base de datos Escolaridad y a la tabla de Especialidades.

3.- Añada un DBCombo a su forma a un lado de la caja de texto que muestra la Clave de la Especialidad (Esp_ID).

4.- Configure las siguientes propiedades a tiempo de diseño del DB combo que acaba de añadir:

  • RowSource = Data2 (Representa el data de donde va a obtener la informacion)

  • ListField = Esp_Nombre (Representa el campo que sera mostrado en el combo)

  • DataSource = Data1 (Representa el Data donde se van a hace las modificaciones)

  • DataField= Esp_ID (Representa el campo que sera afectado con algun cambio)

  • BundColumn = Esp_ID (Enlaza la Esp_ID del control)

5.- Establezca la propiedad Enabled del control DbCombo a false a tiempo de diseño.

6.- Posicionese en la subrutina PreparaInterfase y ubique la siguiente linea de codigo:

If TypeOf Objeto Is TextBox Then

y cámbiela por la siguiente:

If TypeOf Objeto Is TextBox Or TypeOf Objeto Is DBCombo Then

Esto con el objetivo de habilitar y deshabilitar el combo al mismo tiempo que las cajas de texto.

7.- Guarde su aplicación

8.- Ejecute el catalogo de especialidades y observe el manejo del DBCombo, haga modificaciones.

9.- Elimine la caja de texto que representa Esp_Id y sustitúyala por el DbCombo.

10.- Guarde su aplicación y haga pruebas.