SlideShare una empresa de Scribd logo
1 de 85
Descargar para leer sin conexión
Cómo crear una base de datos en Access con Visual Basic

Introducción
La combinación de Microsoft Access y Microsoft Visual Basic nos proporciona una excelente herramienta
para la creación de bases de datos (Access) y su acceso (Visual Basic) que nos permite administrar nuestras
colecciones de audio, libros, video, etc. este ejercicio nos permitirá concebir y construir bases de datos que se
amolden a nuestras necesidades particulares, asumiendo que tienes conocimientos más que básicos de Visual
Basic, sin más, manos a la obra.

Inicio de Visual Basic
    a) Haz clic en el botón Inicio, señala Todos los programas.
    b) Haz clic en Microsoft Visual Studio 6.0, Microsoft Visual Basic 6.0.

Inicio del Proyecto
    a) Crea una carpeta que será exclusiva para el ejercicio se llamará: “mibasededatos” para guardar todos
        los componentes del proyecto.
    b) Por el momento no haremos nada con el formulario de inicio.

Creación de la base de datos
   a) Haz clic en el botón Complementos de la barra de herramientas.
   b) Haz clic en Administrador visual de datos…




                                                    1 de 85
Cómo crear una base de datos en Access con Visual Basic

c) Y se abrirá el Administrador visual de datos (VisData (Visual Data Manager)).

d) Haz clic en Archivo, Nuevo…, Microsoft Access, MDB de la versión 7.0…




                                            2 de 85
Cómo crear una base de datos en Access con Visual Basic

e) En la caja Seleccione la base de datos de Microsoft Access que desea crear, en Guardar en, busca
   y selecciona la misma carpeta –creada anteriormente- en donde se guardará el proyecto, en Nombre:
   escribe un nombre que identifique la base de datos (usualmente el mismo nombre de la carpeta) y haz
   clic en Guardar.




                                             3 de 85
Cómo crear una base de datos en Access con Visual Basic

f) Ahora aparece nuevamente el Administrador visual de datos mostrando en la barra de título la ruta
de acceso de nuestra base de datos y lista para empezar a trabajar.




                                             4 de 85
Cómo crear una base de datos en Access con Visual Basic


Creación de las tablas de la base de datos

   a) Haz clic con el botón derecho del ratón dentro de la Ventana de base de datos y haz clic en Nueva
      tabla.




                                                5 de 85
Cómo crear una base de datos en Access con Visual Basic

b) En la caja Estructura de tabla, Nombre de la tabla: escribe el nombre de la tabla, para el ejercicio
   la tabla se llamará Alumnos, y haz clic en Agregar campo.




                                               6 de 85
Cómo crear una base de datos en Access con Visual Basic

c) En la caja Agregar campo, Nombre: escribe el nombre del primer campo de la tabla que estamos
   creando, para el ejercicio agregaremos cuatro campos, a saber: matricula, nombre, carrera y turno.




d) En Tipo: selecciona el tipo de datos que contendrá el campo, en nuestro caso serán:
   - campo: matricula, tipo de datos: long, tamaño: (automático)
   - campo: nombre, tipo de datos: texto, tamaño: 50
   - campo: carrera, tipo de datos: texto, tamaño: 50
   - campo: turno, tipo de datos: texto, tamaño: 20

e) En Tamaño: selecciona la cantidad de caracteres (incluyendo espacios) que tendrá el campo (ver
   arriba) y haz clic en Aceptar.

f) Para agregar los otros campos de la tabla, haz clic en Agregar campo y repite los pasos desde el
   punto “c)” (Nombre, Tipo y Tamaño) para cada campo que tendrá la tabla.




                                               7 de 85
Cómo crear una base de datos en Access con Visual Basic

g) Cuando hayas agregado los campos de la tabla haz clic en el botón Generar la tabla.




                                             8 de 85
Cómo crear una base de datos en Access con Visual Basic

h) Y la tabla la podrás ver en el Administrador visual de datos (VisData).




i) Repite los pasos –desde el punto “a)” para cada tabla que tendrá la base de datos.




                                               9 de 85
Cómo crear una base de datos en Access con Visual Basic

Introduciendo la información en las tablas

  a) Haz clic con el botón derecho del ratón en la tabla recién creada de la base de datos y haz clic en
     Abrir.




                                                 10 de 85
Cómo crear una base de datos en Access con Visual Basic

b) Y se mostrará la caja Dynaset con el nombre de la tabla, en nuestro caso: Alumnos. Haz clic en
   Agregar para empezar a introducir la información en los campos del primer registro.




c) Cuando termines de introducir la información en la última caja de texto, haz clic en Actualizar.
   Repite los pasos para cada registro de la Tabla.




d) Repite los pasos para introducir la información para cada tabla de la base de datos.




                                              11 de 85
Cómo crear una base de datos en Access con Visual Basic

Preparando los formularios

En un formulario de Visual Basic crea las etiquetas necesarias que correspondan –modificando su propiedad
Caption- con los nombres de los campos de la tabla Alumnos, a saber, Matrícula, Nombre, Carrera y Turno.

Crea las cajas de texto –dejando en blanco su propiedad Text- necesarias para mostrar el contenido de los
campos y un control Data, repite los pasos para cada tabla que tengas en tu base de datos.

Haz clic en el menú Proyecto, Componentes, selecciona el componente Microsoft FlexGrid Control 6.0 y
haz clic en Aceptar. Ahora el objeto se halla en la Caja de herramientas, dibújalo en el formulario para que
se vea más o menos como se ve abajo.




                                                 12 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la conexión con la base de datos y la tabla

1. Conectando el control Data
    a) Selecciona el control Data y modifica sus propiedades como sigue:
    b) DatabaseName: localiza la carpeta del proyecto y selecciona la base de datos (mibasededatos) en
       donde se halla la tabla.
    c) RecordSource: selecciona el nombre de la tabla (Alumnos) cuyos campos se mostrarán en el
       formulario.


2. Conectando las cajas de texto
    a) Selecciona una de las cajas de texto y modifica sus propiedades como sigue:
    b) DataSource: selecciona Data1.
    c) DataField: selecciona el nombre del campo de la tabla –que corresponda con la etiqueta correcta-
       que se mostrará en la caja de texto.
    d) Repite los pasos con cada caja de texto del formulario y ejecuta el programa con F5.
    e) En el formulario que conectaste a la base de datos, al hacer clic en el botón de avance del control
       Data se mostrarán los registros de la tabla.




   f) Si no se pueden ver los registros de la tabla, significa que no se conectaron correctamente el control
      Data y las cajas de texto, simplemente revisa las conexiones una por una.




                                                  13 de 85
Cómo crear una base de datos en Access con Visual Basic

3. Conectando el MSFlexGrid.
a) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad
Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de BackColor de
la manera que más te agrade.

4. Este es el código del formulario:
Private Sub Form_Activate()
With MSFlexGrid1
For X = 1 To .Rows - 1
.Row = X
For J = 1 To .Cols - 1
.Col = J
.CellBackColor = IIf((X Mod 2) = 1, Val(&HC0FFFF), Val(&HC0FFC0))
.CellFontBold = True
.CellForeColor = &HFF0000
Next J
Next X
End With
End Sub

Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2500
MSFlexGrid1.ColWidth(3) = 2000
MSFlexGrid1.ColWidth(4) = 1100
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Movimientos", vbInformation, "¡Aviso Importante!"
End Sub




                                               14 de 85
Cómo crear una base de datos en Access con Visual Basic


Creando un Menú

En el formulario vamos a crear un menú llamado Movimientos con las siguientes opciones:




                                               15 de 85
Cómo crear una base de datos en Access con Visual Basic

a) Haz clic con el botón derecho del ratón sobre el formulario y haz clic en el Editor de menús…




b) Y aparece la caja Editor de menús.




                                             16 de 85
Cómo crear una base de datos en Access con Visual Basic

   c) En Caption introduce el nombre (que se mostrará en el formulario) del menú.

   d) En Name introduce el nombre que utilizará Visual Basic.

   e) Haz clic en el botón Siguiente para crear otro menú.

   f) Haz clic en el botón con la flecha hacia la derecha y aparecerán cuatro puntos, lo cual indica que el
      siguiente renglón será una opción del menú.

   g) En Shortcut selecciona la combinación de teclas que se podrán usar para activar la opción de menú
      correspondiente.

   h) Repite los pasos para crear cada opción del menú.


Programando las opciones del menú

Ahora codificaremos en Visual Basic las opciones del menú Movimientos para eso abre el menú y haz clic
en cada una de las opciones del menú, el código para las opciones son:

a) Opción Nuevo, el cual servirá para crear un nuevo registro en la tabla, el código es el siguiente:
   Private Sub nuevo_Click ()
   Data1.Recordset.AddNew
   End Sub
   P.D. Esta opción debe presionarse antes de dar de alta un nuevo registro en la base de datos.

b) Opción Guardar, el cual servirá para guardar un nuevo registro en la tabla, el código es el siguiente:
   Private Sub guardar_Click()
   Data1.UpdateRecord
   Data1.Refresh
   MsgBox "El Registro ha sido Guardado en la Base de Datos", vbExclamation, "Aviso Importante"
   End Sub

   P.D. Esta opción debe presionarse una vez que se haya completado la información del registro.

c) Opción Buscar, el cual servirá para buscar un registro en la tabla, el código es el siguiente:
   Private Sub buscar_Click()
   Dim m As Long
   m = Val(InputBox("Introduce la Matrícula que Buscas"))
   Data1.Recordset.FindFirst "matricula=" & m
   If Data1.Recordset.NoMatch Then
   MsgBox "La Matrícula Número: " & m & " No está en la Base de Datos", vbExclamation, "Búsquedas de
   Matrícula"
   End If
   End Sub


                                                  17 de 85
Cómo crear una base de datos en Access con Visual Basic

   Nota: aquí declaramos una variable (m) que representará el número del registro (matricula) que estemos
   buscando. Es de vital importancia de que te asegures de que en la línea subrayada la palabra “Matrícula”
   esté escrita exactamente como llamaste el campo “matricula” al crear la tabla.

d) Opción Eliminar, el cual servirá para eliminar un registro de la tabla, el código es el siguiente:
   Private Sub Eliminar_Click()
   If MsgBox("¿Quieres Eliminar la Matrícula Número: " & Text1 & "?", 16 + 4) = 6 Then
   Data1.Recordset.Delete
   Data1.Refresh
   Text1.SetFocus
   MsgBox "Se Eliminó la Matrícula", vbCritical, "Aviso Importante"
   Else
   MsgBox "No se Eliminó la Matrícula Número: " & Text1, vbExclamation, "Aviso Importante"
   End If
   End Sub


Ahora corre tu programa con la tecla F5 dirígete al formulario y ahora podrás agregar, guardar, buscar y
eliminar registros de la tabla Alumnos de la base de datos de Access mediante Visual Basic.




                                                  18 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando los reportes con Visual Basic

Para crear reportes en Visual Basic vamos a crear primero el Data Environment (Entorno de Datos) el cual
es una herramienta muy sencilla para crear reportes tal como Crystal Reports o Access.


Creando el Data Environment

   a) Haz clic en el botón Proyecto de la barra de herramientas.

   b) Haz clic en Agregar Data Environment

   c) Y se abrirá el Data Environment mostrando el nombre del proyecto en su barra de título.




                                                19 de 85
Cómo crear una base de datos en Access con Visual Basic

Nota: En caso de que no se halle disponible la opción Agregar Data Environment en el menú Proyecto,
hay que activarla desde Proyecto, Componentes, Diseñadores y hacer clic en Data Environment y otro
clic en Aceptar.




                                             20 de 85
Cómo crear una base de datos en Access con Visual Basic

d) En la ventana aparece un pequeño icono de un reporte al cual puedes cambiarle el nombre fácilmente
   seleccionándolo y modificando su propiedad (Name) por otro como Reportes, etc.




e) Más abajo se puede ver otro objeto, un cilindro -el cual representa a la base de datos- con una clavija
   eléctrica llamado Connection1 al cual también puedes cambiarle el nombre modificando su
   propiedad (Name) por otro como Alumnos, Maestros, etc.




                                               21 de 85
Cómo crear una base de datos en Access con Visual Basic

f) Ahora haz clic con el botón derecho del ratón sobre la Connection1 (ahora llamada Alumnos) y haz
   clic en Propiedades…

g) Y aparecerá la caja Propiedades de vínculo de datos, haz clic en la opción Conexión.




                                            22 de 85
Cómo crear una base de datos en Access con Visual Basic

h) Haz clic en: Usar la cadena de conexión y haz clic en Generar…




                                           23 de 85
Cómo crear una base de datos en Access con Visual Basic

i) Y aparecerá la caja Seleccionar origen de datos, haz clic en la opción Origen de datos de equipo.




j) Selecciona el tipo de base de datos en donde se creó la base de datos, en nuestro caso MS Access
   Database y haz doble clic ahí.




                                             24 de 85
Cómo crear una base de datos en Access con Visual Basic

k) Y aparecerá la caja Conexión, haz clic en el botón Base de datos…




l) Y aparecerá la caja Seleccionar base de datos, localiza la carpeta o unidad de disco en donde se halla
   tu base de datos, selecciónala y haz clic en Aceptar.




m) Enseguida se vuelve a mostrar la caja Conexión, haz clic nuevamente en Aceptar.




                                              25 de 85
Cómo crear una base de datos en Access con Visual Basic

   n) Y se mostrará la caja Propiedades de vínculo de datos, mostrando en la caja de texto Cadena de
      conexión bajo la opción Usar la cadena de conexión la ruta de la base de datos que hemos
      conectado, para finalizar la conexión haz clic en Aceptar.




   o) Y volveremos al Entorno de Datos.



Ya creamos la conexión de los reportes con la base de datos, ahora vamos a crear un comando para el
reporte.




                                                 26 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando un comando

  a) Haz clic con el botón derecho del ratón sobre la conexión (Alumnos) que creamos previamente y haz
     clic en Agregar comando.




                                              27 de 85
Cómo crear una base de datos en Access con Visual Basic

b) Y enseguida aparecerá un objeto llamado Command1, al cual le puedes cambiar su nombre
   modificando su propiedad (Name).




c) Para motivos de identificación llamaremos el Command1 Repalumnos, ya que nos será útil para
   identificar el reporte de alumnos.




                                           28 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando las propiedades del reporte

  a) Haz clic con el botón derecho del ratón sobre el comando –ahora llamado Repalumnos- y haz clic en
     Propiedades… y aparecerá la caja Propiedades de Reporte, ahí podemos ver el Nombre de
     comando (Command1) el cual es Repalumnos y el nombre de la Conexión que es Alumnos.




                                              29 de 85
Cómo crear una base de datos en Access con Visual Basic

b) En la sección Origen de datos, Objeto de la base de datos, haz clic en la flechita que se halla en la
   caja de combo y selecciona la opción Tabla.


c) Haz clic en la flecha de la caja de combo Nombre de objeto y selecciona el nombre de la tabla
   (alumnos) que nos servirá de origen de datos para crear el reporte.




d) Ahora sólo haz clic en Aceptar.




                                              30 de 85
Cómo crear una base de datos en Access con Visual Basic

   e) Y se mostrará un pequeño cuadro con un signo de más en su interior, al lado izquierdo del comando
      Repalumnos, haz clic ahí y podrás ver los campos de la tabla Alumnos que seleccionaste
      previamente, todo indica que nuestra conexión se realizó exitosamente.




Ya puedes cerrar el Entorno de Datos (Data Environment) para crear ahora la estructura del reporte.




                                                 31 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la estructura del reporte

   a) En Visual Basic haz clic en el botón Proyecto de la barra de herramientas y haz clic en Agregar
      Data Report y se mostrará la caja DataReport1, la caja de herramientas y la caja de propiedades
      correspondientes para trabajar en el DataReport.




Nota: En caso de que no se halle disponible la opción Agregar Data Report en el menú Proyecto, hay que
activarla desde Proyecto, Componentes, Diseñadores y hacer clic en Data Report y otro clic en Aceptar.




                                                32 de 85
Cómo crear una base de datos en Access con Visual Basic

a) Hay varias maneras de elaborar la estructura del reporte, vamos a emplear una muy sencilla, haz clic
   en la herramienta RptLabel y dibuja una etiqueta en Encabezado de informe (Sección4) y modifica
   su propiedad Caption con el título que tendrá el reporte.

   Nota: puedes ajustar la altura de las diferentes secciones del Data Report mediante colocar el
   apuntador del ratón en el limite inferior de cada sección, presionar el botón izquierdo del ratón y
   sencillamente moverlo hacia arriba o hacia abajo según sea el caso.




b) Ahora haz clic en RptLabel y coloca etiquetas con los títulos de los encabezados de la tabla en
   Encabezado de página (Sección2) modificando sus propiedades Caption, Font, ForeColor, etc. a tu
   gusto.

c) Ahora haz clic en RptTextBox y coloca cajas de texto en Detalle (Sección1).

d) Al terminar de colocar las cajas de texto que muestran el texto: No enlazado, haz clic en cualquier
   parte vacía del DataReport y haz clic en la cajita gris situada bajo el icono de la barra de titulo del
   Data Report, para mostrar las propiedades del DataReport.




                                                33 de 85
Cómo crear una base de datos en Access con Visual Basic

e) Haz clic en la propiedad DataSource y selecciona el DataEnvironment1 que previamente llamamos
   reportes, y en la propiedad DataMember selecciona el Command1 que llamamos Repalumnos.

   Nota: Podemos crear varios reportes –si hay varias tablas- en el mismo Data Environment.

f) Ahora selecciona la primera caja de texto y haz clic en la cajita gris situada bajo el icono de la barra
   de titulo del Data Report, para mostrar las propiedades de la caja de texto (RptTextBox), y modifica
   sus propiedades como sigue: DataMember: el nombre del reporte (Repalumnos) y en DataField:
   selecciona el campo que corresponda de la tabla y repite los pasos para cada caja de texto para que se
   vea más o menos así.




                                               34 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando el menú de Reportes

Vamos a volver al formulario en donde creamos el menú

   a) Haz clic con el botón derecho del ratón en el formulario y haz clic en Editor de menús…

   b) Crea el menú Reportes con la opción Alumnos.




                                                35 de 85
Cómo crear una base de datos en Access con Visual Basic

c) Para que se vea así




                                  36 de 85
Cómo crear una base de datos en Access con Visual Basic

Conectando el menú con el reporte

Ahora vamos a conectar la opción del menú Reportes con el reporte que creamos previamente

   a) Haz clic en Reportes, Alumnos y escribe el siguiente código:
      Private Sub reportedealumnos_Click()
      DataReport1.Show
      End Sub

   b) Ejecuta el programa y haz clic en la opción para ver el reporte y se mostrará el reporte que creaste.




Nota: En caso de ser necesario puedes estirar las cajas de texto para que se puedan ver los datos, o modificar
la propiedad RightMargin del Data Report según tus necesidades particulares.

Puedes crear una base de datos con varias tablas, diferentes formularios y diferentes reportes según prefieras,
sinceramente espero que haya sido de tu interés el ejercicio y sirva para que te adentres en el mundo de la
programación y las bases de datos.




                                                   37 de 85
Cómo crear una base de datos en Access con Visual Basic

En esta segunda parte del ejercicio, vamos a controlar el acceso al programa, de manera que solamente
accesen el sistema, usuarios que previamente se hayan registrado como tales, también se creará la opción
para que los interesados se auto registren y puedan hacer uso del programa, por lo que vamos a crear:

   a) Una pantalla de Inicio, que se verá inmediatamente antes de iniciar el programa.
   b) Una pantalla de Bienvenida, con opciones para entrar al programa o registrarnos si es que no somos
      usuarios registrados para accesar el programa.
   c) Una pantalla de Entrada, para acceder al programa como usuario registrado.
   d) Una pantalla de Registro, en donde se registrarán los usuarios que quieran entrar el programa.


Creando una pantalla de inicio

   a) Haz clic en Proyecto, Agregar formulario.
   b) En la caja de diálogo Agregar formulario, opción Nuevo, selecciona el icono Pantalla de inicio y
      haz clic en Abrir.

Para el propósito del ejercicio sólo conserva dos etiquetas que nos serán de utilidad así como la gráfica,
selecciona el resto de las etiquetas y presiona el botón Suprimir para eliminarlas. Modifica las etiquetas,
cambia la gráfica por la que prefieras, y agrega un reloj a la pantalla de inicio para que se vea más o menos
como se ve abajo.




Para que esta pantalla se vea inmediatamente antes que inicie el programa hay que hacer lo siguiente:
   a) Selecciona el reloj y cambia su propiedad Interval a 100.




                                                  38 de 85
Cómo crear una base de datos en Access con Visual Basic
   b) Haz doble clic en el reloj y escribe el siguiente código:
      Private Sub Timer1_Timer()
      Static J As Integer
      J=J+1
      If J = 20 Then
      frmSplash.Hide
      Bienvenida.Show
      Timer1.Enabled = False
      End If
      End Sub

       Aquí sencillamente declaramos una variable que se incrementará de uno en uno y al llegar a 20 se
       ocultará la pantalla de inicio y mostrará otro formulario, en nuestro caso el formulario de Bienvenida,
       y deshabilitará el reloj. Para que el programa inicie con el formulario que acabamos de crear:

   c) Haz clic en Proyecto, Propiedades de proyecto… y se abrirá la caja de diálogo, Propiedades del
      proyecto.
   d) En la opción General, Objeto inicial, selecciona el formulario frmSplash y haz clic en Aceptar.


Creando una pantalla de bienvenida

Crea un formulario, con una etiqueta y tres botones, para que se vea más o menos como se ve abajo.




   a) El código del botón Registrarse es:
      Private Sub Command1_Click()
      Bienvenida.Hide
      Registro.Show
      End Sub

       Cuya función es la de ocultar el formulario de Bienvenida y mostrar el formulario de Registro.


                                                  39 de 85
Cómo crear una base de datos en Access con Visual Basic

   b) El código del botón Entrar es:
      Private Sub Command2_Click()
      Bienvenida.Hide
      Entrada.Show
      End Sub

       Cuya función es la de ocultar el formulario de Bienvenida y mostrar el formulario de Entrada.

   c) El código del botón Cancelar es:
      Private Sub Command3_Click()
      Unload Me
      End
      End Sub

       Cuya función es la de cerrar el programa.


Creando una pantalla de entrada

Crea un formulario, con dos etiquetas, dos cajas de texto y dos botones, para que se vea más o menos como
se ve abajo.




                                                   40 de 85
Cómo crear una base de datos en Access con Visual Basic


a) El código del botón Entrar al Programa es:
   Private Sub Command1_Click()
   Dim usuario As String
   Dim contrasena As String
   Dim mensaje As String

   Registro.Data1.Refresh

   usuario = Text1
   contrasena = Text2

   Do Until Registro.Data1.Recordset.EOF
   If Registro.Data1.Recordset.Fields("usuario").Value = usuario And
   Registro.Data1.Recordset.Fields("contrasena").Value = contrasena Then
   MsgBox "Hola " & usuario & ", ¿Cómo has estado?", vbOKOnly, "Bienvenido al Programa"

   Entrada.Hide
   Alumnos.Show
   Exit Sub

   Else
   Registro.Data1.Recordset.MoveNext
   End If

   Loop

   mensaje = MsgBox("No te Conozco " & usuario & ", Intenta de Nuevo", vbOKOnly, "Atención,
   Usuario No Autorizado!!!")

   If (mensaje = 1) Then
   Entrada.Show
   Text1 = ""
   Text2 = ""

   Else
   End
   End If

   End Sub

   Cuya función es asegurarse de que el nombre de usuario y contraseña introducidos se hallen en la
   tabla de usuarios, si lo halla le permitirá la entrada al programa, si no lo encuentra, invitará al usuario
   a intentarlo de nuevo o salir del programa.




                                                41 de 85
Cómo crear una base de datos en Access con Visual Basic

   b) El código del botón Salir del programa es:
      Private Sub Command2_Click()
      End
      End Sub

       Cuya función es la de cerrar el programa.

   c) Escribe el siguiente código en el evento Activate del formulario
      Private Sub Form_Activate()
      Text1.SetFocus
      End Sub

       Cuya función es la de colocar el cursor en la caja de texto 1 al cargar el formulario

   d) Escribe el siguiente código en el evento KeyPress de la caja de texto 1
      Private Sub Text1_KeyPress(KeyAscii As Integer)
      If KeyAscii = 13 Then
      Text2.SetFocus
      End If
      End Sub

       Cuya función es la de avanzar de la caja de texto 1 a la caja de texto 2 al presionar la tecla Enter.


Creando una pantalla de registro

Crea un formulario, con dos etiquetas, dos cajas de texto, dos botones y un control Data, cuya propiedad
Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo.




                                                   42 de 85
Cómo crear una base de datos en Access con Visual Basic
a) El código del botón Guardar Nuevo Registro es:
   Private Sub Command4_Click()
   Data1.UpdateRecord
   Data1.Refresh
   MsgBox "El Usuario ha sido Guardado en la Base de Datos", vbExclamation, "Aviso Importante"
   Registro.Hide
   Alumnos.Show
   End Sub

   Cuya función es la de guardar en la tabla de usuarios al nuevo usuario.

b) El código del botón Salir del programa es:
   Private Sub Command2_Click()
   End
   End Sub

   Cuya función es la de cerrar el programa.

c) Escribe el siguiente código en el evento Activate del formulario
   Private Sub Form_Activate()
   Data1.Recordset.AddNew
   End Sub

   Cuya función es la de preparar el agregar al usuario nuevo.

d) Escribe el siguiente código en el evento KeyPress de la caja de texto 1
   Private Sub Text1_KeyPress(KeyAscii As Integer)
   If KeyAscii = 13 Then
   Text2.SetFocus
   End If
   End Sub

   Cuya función es la de avanzar de la caja de texto 1 a la caja de texto 2 al presionar la tecla Enter.

e) Ahora hay que crear dentro de la misma base de datos, una tabla llamada usuarios para conservar los
   registros de los usuarios que se registren como usuarios del sistema, para este fin hay que seguir las
   instrucciones del capítulo: Creación de las tablas de la base de datos, detallada páginas arriba.




                                               43 de 85
Cómo crear una base de datos en Access con Visual Basic

La tabla debe llamarse “usuarios” y sus campos deben ser definidos como tipo texto y tamaño 50, tal
como se ve en la caja Estructura de la tabla mostrada abajo.




                                          44 de 85
Cómo crear una base de datos en Access con Visual Basic

De tal manera que en el Administrador Visual de datos (VisData) podamos ver las tablas que
forman nuestra base de datos.




En la tabla recién creada y siguiendo el procedimiento páginas mostrado arriba, registra un único
usuario, preferentemente tú nombre y como contraseña nuevamente tú nombre, esto por motivos de
prueba.




                                          45 de 85
Cómo crear una base de datos en Access con Visual Basic

f) Ahora volvamos al formulario llamado Registro, este contiene un control Data que hay que conectar
   - A la base de datos, usando su propiedad Databasename, y
   - A la tabla usuarios, usando su propiedad RecordSource.

   No hay que olvidar cambiar su propiedad Visible a False.




   Si todo ha resultado bien, al iniciar nuestro programa, este iniciará con la pantalla de Inicio,
   enseguida se mostrará la pantalla de Bienvenida, en donde tenemos dos opciones: al oprimir el botón
   Entrar, debe mostrarse la pantalla de Entrada y si se presiona el botón Registrarse, debe mostrarse
   la pantalla de Registro. La cual reconocerá al usuario registrado y no permitirá la entrada al sistema
   de personas no registradas. Como tenemos un usuario registrado podremos probar su funcionalidad.

   Gracias por todos los alentadores mensajes electrónicos recibidos de tanta gente, como siempre estoy
   a la orden para sugerencias y recomendaciones.




                                              46 de 85
Cómo crear una base de datos en Access con Visual Basic

En esta tercera parte del ejercicio, vamos a realizar algunas búsquedas y consultas, así como ordenar los
datos en forma ascendente y descendente, también moveremos registros del MSFlexGrid a otros objetos, de
tal manera que vamos a crear:


   a)   Una pantalla para realizar búsquedas por: Matrícula, Carrera y Turno.
   b)   Una pantalla para efectuar búsquedas de Matrícula usando una caja de combo.
   c)   Una Pantalla para ordenar todos los registros en forma ascendente y descendente.
   d)   Una pantalla para mover datos del MSFlexGrid a cajas de texto.
   e)   Una pantalla para trasferir datos del MSFlexGrid a cajas de lista.


Para el propósito del ejercicio vamos a modificar la pantalla de opciones para que tenga una apariencia
semejante a como se ve abajo.




En este formulario, modifica el menú para que contenga opciones para las pantallas de búsqueda antes
mencionadas, por cuestiones de fácil identificación las llamé como se ven en la pantalla. El formulario
contiene al medio un objeto Picture conteniendo una ilustración.




                                                  47 de 85
Cómo crear una base de datos en Access con Visual Basic

En la parte inferior hay un objeto StatusBar, el cual fue activado mediante hacer clic en Proyecto,
Componentes, en la caja de diálogo Componentes, Controles, selecciona la opción Microsoft Windows
Common Controls 6.0 (SP6) y haz clic en Aplicar y Aceptar para que los controles se muestren en el
Cuadro de herramientas.




En el Cuadro de herramientas haz doble clic en el objeto StatusBar para que se mueva al formulario, una
vez ahí, haz doble clic con el botón derecho del ratón en el objeto StatusBar y haz clic en Propiedades.




                                               48 de 85
Cómo crear una base de datos en Access con Visual Basic

Para que se muestre la caja de diálogo Páginas de propiedades.




En la caja de diálogo Páginas de propiedades, opción Paneles, haz clic en el botón Insertar panel en dos
ocasiones (para tener un total de tres paneles), el objeto StatusBar muestra un panel, de manera que hay que
insertar los paneles en donde se mostrará la hora, la fecha y la activación de la tecla de Mayúsculas.
Podrás ver los paneles insertados mediante hacer clic en las flechas izquierda y derecha de la opción Index.
Los paneles deben mostrar en la opción Style: 5 sbrTime, 6 sbrDate y 1 sbrCaps respectivamente para que
se vea como la ilustración del formulario opciones mostrada arriba. Puedes experimentar con las otras
opciones a tu gusto.




                                                 49 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas1

Crea un formulario, con un frame, tres botones de opción, una caja de texto, dos etiquetas, dos botones, un
MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o
menos como se ve abajo.




El formulario debe tener un menú con la opción Volver a Opciones como se muestra abajo.




                                                 50 de 85
Cómo crear una base de datos en Access con Visual Basic

a) El código del formulario Búsquedas1 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
Label2.Visible = False
Text1.Visible = False
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub

b) El código del menú Volver a Opciones es:
Private Sub volveraopciones_Click()
Busquedas1.Hide
Opciones.Show
End Sub

c) El código de los botones de opción es:
Private Sub Option1_Click()
If Option1 = True Then
Label2.Visible = True
Label2.Caption = "Introduce la Matrícula que buscas"
Text1.Visible = True
Text1 = ""
Text1.SetFocus
End If
End Sub

Private Sub Option2_Click()
If Option2 = True Then
Label2.Visible = True
Label2.Caption = "Introduce la Carrera que buscas"
Text1.Visible = True
Text1 = ""
Text1.SetFocus
End If
End Sub




                                                51 de 85
Cómo crear una base de datos en Access con Visual Basic

Private Sub Option3_Click()
If Option3 = True Then
Label2.Visible = True
Label2.Caption = "Introduce el Turno que buscas"
Text1.Visible = True
Text1 = ""
Text1.SetFocus
End If
End Sub

d) el código del botón Buscar es:
Private Sub Command1_Click()
If Option1 = True Then
Data1.RecordSource = "select * from alumnos where matricula = " & Val(Text1)
Data1.Refresh
Label1.Visible = True

If Data1.Recordset.EOF Then
MsgBox "La Matrícula: " & Val(Text1) & ", No está en la Base de Datos", vbExclamation, "¡Por Favor
Revisa el Número de la Matrícula!"
Text1 = ""
Text1.SetFocus
End If

ElseIf Option2 = True Then
Data1.RecordSource = "select * from alumnos where carrera = '" & Text1 & "'"
Data1.Refresh
Label1.Visible = True

If Data1.Recordset.EOF Then
MsgBox "La Carrera: '" & Text1 & "'" & " No está en la Base de Datos", vbExclamation, "¡Por Favor Revisa
el Nombre de la Carrera!"
Text1 = ""
Text1.SetFocus
End If

ElseIf Option3 = True Then
Data1.RecordSource = "select * from alumnos where turno = '" & Text1 & "'"
Data1.Refresh
Label1.Visible = True




                                                   52 de 85
Cómo crear una base de datos en Access con Visual Basic

If Data1.Recordset.EOF Then
MsgBox "El Turno: '" & Text1 & "'" & " No está en la Base de Datos", vbExclamation, "¡Por Favor Revisa el
Nombre del Turno!"
Text1 = ""
Text1.SetFocus
End If

End If
Label1 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
End Sub


e) El código del botón Ver Todos los Registros es:
Private Sub Command2_Click()
Text1 = ""
Data1.RecordSource = "alumnos"
Data1.Refresh
Label1 = "Total de Registros de la búsqueda: " & (MSFlexGrid1.Rows) - 1 & ""
End Sub

f) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

g) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

h) Las etiquetas1 y 2, deben estar vacías y con su propiedad AutoSize a True, una de ellas colócala justo
arriba de la caja de texto y la otra puede ir al pie del formulario.

Al iniciar el formulario, no deben verse las etiquetas ni la caja de texto, para lo cual limpia el contenido de la
propiedad Caption, hasta que el usuario haga un clic en el botón de opción deseado. Al introducir la
información requerida y hacer clic en el botón Buscar se mostrará el o los registros y la otra etiqueta
indicando el número de registros hallados, al presionar el botón Ver Todos los Registros se mostrarán todos
los registros de la tabla Alumnos. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú.




                                                    53 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas2

Crea un formulario, con una etiqueta, una caja de combo, dos botones, un MSFlexGrid y un control Data,
cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.


a) El código del formulario Búsquedas2 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub

b) El código del menú Volver a Opciones es:
Private Sub volveraopciones_Click()
Busquedas2.Hide
Opciones.Show
End Sub




                                                  54 de 85
Cómo crear una base de datos en Access con Visual Basic

c) El código de la caja de combo es:
Private Sub Combo1_DropDown()
On Error Resume Next
Do Until Data1.Recordset.EOF
Combo1.AddItem Data1.Recordset.Fields("matricula")
Data1.Recordset.MoveNext
Loop
End Sub

d) El código del botón Buscar es:
Private Sub Command1_Click()
Data1.RecordSource = "select * from alumnos where matricula =" & Val(Combo1.Text)
Data1.Refresh
If Data1.Recordset.EOF Then
MsgBox "La Matrícula: " & Val(Combo1) & ", No está en la Base de Datos" + vbCrLf + "Haz Clic en el
botón 'Ver Todos'" + vbCrLf + "Para Seleccionar un Número de Matrícula", vbExclamation, "¡Por Favor
Selecciona un Número de Matrícula!"
End If
End Sub

e) El código del botón Ver Todos es:
Private Sub Command2_Click()
Data1.RecordSource = "alumnos"
Data1.Refresh
End Sub

f) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

g) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

h) ComboBox su propiedad Text cambiala a Matrículas.

Al iniciar el formulario, el usuario seleccionará de la caja de combo la matrícula que busca, y al presionar el
botón Buscar, la matrícula deseada se le mostrará. Al presionar el botón Ver Todos, se mostrarán todos los
registros de la tabla Alumnos. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú.




                                                   55 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas3

Crea un formulario, con una etiqueta, un Frame, cuatro botones de opción, dos botones, un MSFlexGrid y un
control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve
abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.


a) El código del formulario Búsquedas3 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub

b) El código del menú Volver a Opciones es:
Private Sub volver_Click()
Busquedas3.Hide
Opciones.Show
End Sub

                                                  56 de 85
Cómo crear una base de datos en Access con Visual Basic

c) El código del botón Ascendente es:
Private Sub Command1_Click()
If Option1 = True Then
MSFlexGrid1.Col = 1
MSFlexGrid1.Sort = flexSortNumericAscending
ElseIf Option2 = True Then
MSFlexGrid1.Col = 2
MSFlexGrid1.Sort = flexSortStringAscending
ElseIf Option3 = True Then
MSFlexGrid1.Col = 3
MSFlexGrid1.Sort = flexSortStringAscending
ElseIf Option4 = True Then
MSFlexGrid1.Col = 4
MSFlexGrid1.Sort = flexSortStringAscending
End If
End Sub

d) El código del botón Descendente es:
Private Sub Command2_Click()
If Option1 = True Then
MSFlexGrid1.Col = 1
MSFlexGrid1.Sort = flexSortNumericDescending
ElseIf Option2 = True Then
MSFlexGrid1.Col = 2
MSFlexGrid1.Sort = flexSortStringDescending
ElseIf Option3 = True Then
MSFlexGrid1.Col = 3
MSFlexGrid1.Sort = flexSortStringDescending
ElseIf Option4 = True Then
MSFlexGrid1.Col = 4
MSFlexGrid1.Sort = flexSortStringDescending
End If
End Sub

e) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

f) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

Al iniciar el formulario, el usuario seleccionará el botón de opción que necesite para elegir el campo
necesario y presionará el botón Ascendente o Descendente para elegir el orden de los datos de la tabla
Alumnos. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú.


                                                 57 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas4

Crea un formulario, con una etiqueta, cuatro cajas de texto, un MSFlexGrid y un control Data, cuya
propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.


a) El código del formulario Búsquedas4 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub

b) El código del menú Volver a Opciones es:
Private Sub volver_Click()
Busquedas4.Hide
Opciones.Show
End Sub

                                                  58 de 85
Cómo crear una base de datos en Access con Visual Basic

c) El código del MSFlexGrid es:
Private Sub MSFlexGrid1_DblClick()
MSFlexGrid1.Col = 1
Text1 = MSFlexGrid1.Text
MSFlexGrid1.Col = 2
Text2 = MSFlexGrid1.Text
MSFlexGrid1.Col = 3
Text3 = MSFlexGrid1.Text
MSFlexGrid1.Col = 4
Text4 = MSFlexGrid1.Text
Text1.BackColor = &HC0FFFF
Text2.BackColor = &HC0FFFF
Text3.BackColor = &HC0FFFF
Text4.BackColor = &HC0FFFF
Text1.ForeColor = &HFF0000
Text2.ForeColor = &HFF0000
Text3.ForeColor = &HFF0000
Text4.ForeColor = &HFF0000
End Sub

d) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

e) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

Al iniciar el formulario, el usuario hará doble clic en cualquier registro del MSFlexGrid y este se transferirá
a las cajas de texto. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú.




                                                   59 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas5

Crea un formulario, con una etiqueta, cuatro cajas de lista, un MSFlexGrid y un control Data, cuya
propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.


a) El código del formulario Búsquedas5 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub

b) El código del menú Volver a Opciones es:
Private Sub volver_Click()
Busquedas5.Hide
Opciones.Show
End Sub

                                                  60 de 85
Cómo crear una base de datos en Access con Visual Basic

c) El código del MSFlexGrid es:
Private Sub MSFlexGrid1_DblClick()
MSFlexGrid1.Col = 1
List1.AddItem MSFlexGrid1.Text
MSFlexGrid1.Col = 2
List2.AddItem MSFlexGrid1.Text
MSFlexGrid1.Col = 3
List3.AddItem MSFlexGrid1.Text
MSFlexGrid1.Col = 4
List4.AddItem MSFlexGrid1.Text
List1.BackColor = &HC0FFFF
List2.BackColor = &HC0FFFF
List3.BackColor = &HC0FFFF
List4.BackColor = &HC0FFFF
List1.ForeColor = &HFF0000
List2.ForeColor = &HFF0000
List3.ForeColor = &HFF0000
List4.ForeColor = &HFF0000
End Sub

d) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

e) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

Al iniciar el formulario, el usuario hará doble clic en cualquier registro del MSFlexGrid y este se transferirá
a las cajas de lista, que a diferencia del ejercicio anterior, guardarán más de un registro a la vez. El Botón
cerrar del formulario se deshabilita para forzar el uso del Menú.




                                                   61 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas6

Crea un formulario, con tres etiquetas, dos cajas de combo, dos botones, un MSFlexGrid y un control Data,
cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del formulario Búsquedas6 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub

b) El código del menú Volver a Opciones es:
Private Sub volver_Click()
Busquedas6.Hide
Opciones.Show
End Sub


                                                  62 de 85
Cómo crear una base de datos en Access con Visual Basic
c) El código de la caja de combo1 es:
Private Sub Combo1_DropDown()
On Error Resume Next
Dim i As Long, enlatabla As Boolean
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
enlatabla = False
For i = 0 To Combo1.ListCount - 1
If Combo1.List(i) = Data1.Recordset("carrera") Then
enlatabla = True
Exit For
End If
Next i
If Not enlatabla Then
Combo1.AddItem Data1.Recordset("carrera")
End If
Data1.Recordset.MoveNext
Wend
End Sub

d) El código de la caja de combo2 es:
Private Sub Combo2_DropDown()
On Error Resume Next
Dim i As Long, enlatabla As Boolean
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
enlatabla = False
For i = 0 To Combo2.ListCount - 1
If Combo2.List(i) = Data1.Recordset("turno") Then
enlatabla = True
Exit For
End If
Next i
If Not enlatabla Then
Combo2.AddItem Data1.Recordset("turno")
End If
Data1.Recordset.MoveNext
Wend
End Sub

e) El código del botón Buscar es:
Private Sub Command1_Click()
Data1.RecordSource = "select * from alumnos where carrera like '" & Combo1.Text & "' and turno like '" &
Combo2.Text & "'"
Data1.Refresh
Label3 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
End Sub


                                                63 de 85
Cómo crear una base de datos en Access con Visual Basic
f) El código del botón Todos los Registros es:
Private Sub Command2_Click()
Data1.RecordSource = "alumnos"
Data1.Refresh
Label3 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
End Sub

g) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

h) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

Private Sub MSFlexGrid1_EnterCell()
MSFlexGrid1.CellBackColor = &HFF&
MSFlexGrid1.CellForeColor = &HFFFFFF
MSFlexGrid1.CellFontBold = True
End Sub

Private Sub MSFlexGrid1_LeaveCell()
MSFlexGrid1.CellBackColor = &HFFFFFF
MSFlexGrid1.CellForeColor = &H0&
MSFlexGrid1.CellFontBold = False
End Sub

Nota: Copia estos códigos en los eventos del MsFlexGrid y haz clic en cualquier celda.

i) La etiqueta3 debe tener su propiedad Autosize en True, y la propiedad Caption en nada.

Al iniciar el formulario, el usuario selecionará de las cajas de combo1 y combo2 los campos de la tabla que
servirán para hacer la búsqueda respectiva, al presionar el botón Buscar, los registros se mostrarán en el
MSFlexGrid y la etiqueta3 mostrará la cantidad de registros mostrados. El Botón cerrar del formulario se
deshabilita para forzar el uso del Menú.




                                                 64 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas7

Crea un formulario, con cuatro etiquetas, dos cajas de combo, dos botones, un MSFlexGrid y un control
Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del formulario Búsquedas7 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
Combo1.AddItem "Carrera"
Combo1.AddItem "Turno"
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub




                                                  65 de 85
Cómo crear una base de datos en Access con Visual Basic
Private Sub Form_Activate()
Data1.RecordSource = "alumnos"
Data1.Refresh
Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
Combo2.Clear
End Sub

b) El código del menú Volver a Opciones es:
Private Sub volver_Click()
Busquedas7.Hide
Opciones.Show
End Sub

c) El código de la caja de combo1 es:
Private Sub Combo1_Click()
On Error Resume Next

If Combo1.Text = "Carrera" Then
Dim J As Long, enlatabla As Boolean
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
enlatabla = False
For J = 0 To Combo2.ListCount - 1

If Combo2.List(J) = Data1.Recordset("carrera") Then
enlatabla = True
Exit For
End If
Next J

If Not enlatabla Then
Combo2.AddItem Data1.Recordset("carrera")
End If
Data1.Recordset.MoveNext
Wend
End If

If Combo1.Text = "Turno" Then
Dim a As Long, yaenlatabla As Boolean
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
yaenlatabla = False
For a = 0 To Combo2.ListCount - 1
If Combo2.List(a) = Data1.Recordset("turno") Then
yaenlatabla = True
Exit For
End If


                                                66 de 85
Cómo crear una base de datos en Access con Visual Basic
Next a
If Not yaenlatabla Then
Combo2.AddItem Data1.Recordset("turno")
End If
Data1.Recordset.MoveNext
Wend
End If
End Sub

d) El código del botón Buscar es:
Private Sub Command1_Click()
On Error Resume Next

If Combo1.Text = "Carrera" And Combo2.Text <> "Selecciona" Then
Data1.RecordSource = "select * from alumnos where carrera like '" & Combo2.Text & "'"
Data1.Refresh
Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Este Registro No Corresponde con el Campo que Seleccionaste" + vbCrLf + "Presiona el botón:
'Todos los Registros' y Selecciona Otro Campo", vbInformation, "¡Aviso Importante!"
End If
End If

If Combo1.Text = "Turno" And Combo2.Text <> "Selecciona" Then
Data1.RecordSource = "select * from alumnos where turno like '" & Combo2.Text & "'"
Data1.Refresh
Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Este Registro No Corresponde con el Campo que Seleccionaste" + vbCrLf + "Presiona el botón:
'Todos los Registros' y Selecciona Otro Campo", vbInformation, "¡Aviso Importante!"
End If
End If

If Combo1 <> "" And Combo2 = "" Then
MsgBox "Selecciona el Registro", vbInformation, "¡Aviso Importante!"
End If
End Sub

e) El código del botón Todos los Registros es:
Private Sub Command2_Click()
Data1.RecordSource = "alumnos"
Data1.Refresh
Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
Combo2.Clear
End Sub




                                                67 de 85
Cómo crear una base de datos en Access con Visual Basic
f) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

g) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

h) La etiqueta4 debe tener su propiedad Autosize en True, y la propiedad Caption en nada.

Al iniciar el formulario, el usuario selecionará de la caja de combo1, el campo de la tabla dentro del cual se
realizará la búsqueda y del combo2 el registro que servirá para hacer la búsqueda, al presionar el botón
Buscar, los registros se mostrarán en el MSFlexGrid y la etiqueta4 mostrará la cantidad de registros
mostrados. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú.

Selecciona la caja de combo1 y en su propiedad ToolTipText escribe: 1. Selecciona el Campo
Selecciona la caja de combo2 y en su propiedad ToolTipText escribe: 2. Selecciona el Registro
Selecciona el botón Buscar y en su propiedad ToolTipText escribe: 3. Realiza la Búsqueda
Selecciona el botón Todos los Registros y en su propiedad ToolTipText escribe: 4. Presiona esta botón antes
de cambiar de campo.




                                                  68 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas8

Crea un formulario, con cuatro etiquetas, dos cajas de texto, dos botones, un MSFlexGrid y un control Data,
cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del formulario Búsquedas8 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub

Private Sub Form_Activate()
Text1.SetFocus
End Sub



                                                  69 de 85
Cómo crear una base de datos en Access con Visual Basic
b) El código del menú Volver a Opciones es:
Private Sub volver_Click()
Busquedas8.Hide
Opciones.Show
End Sub

c) El código del botón Buscar es:
Private Sub Command1_Click()
Data1.RecordSource = "select * from alumnos where matricula between " & Val(Text1) & " And " &
Val(Text2) & ""
Data1.Refresh
Label4 = "Total de Registros de la búsqueda: " & (MSFlexGrid1.Rows) - 1 & ""
If Data1.Recordset.RecordCount = 0 Then
MsgBox "No Hay Registros con estos Parámetros" + vbCrLf + "Por Favor Revisa tus Datos", vbInformation,
"¡Aviso Importante!"
End If
Text1 = ""
Text2 = ""
Text1.SetFocus
End Sub

d) El código del botón Todos los Registros es:
Private Sub Command2_Click()
Data1.RecordSource = "alumnos"
Data1.Refresh
Label4 = "Total de Registros de la búsqueda: " & (MSFlexGrid1.Rows) - 1 & ""
Text1.SetFocus
End Sub

e) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

f) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

g) La etiqueta3 debe tener su propiedad Autosize en True, y la propiedad Caption en nada.

Al iniciar el formulario, el usuario podrá realizar búsquedas por rango del campo Matrículas, al presionar el
botón Buscar, los registros se mostrarán en el MSFlexGrid y la etiqueta4 mostrará la cantidad de registros
mostrados. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú.




                                                  70 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas9

Crea un formulario, con dos etiquetas, dos cajas de texto, dos botones, un MSFlexGrid y un control Data,
cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del formulario Búsquedas9 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub




                                                  71 de 85
Cómo crear una base de datos en Access con Visual Basic
b) El código del menú Volver a Opciones es:
Private Sub volver_Click()
Busquedas9.Hide
Opciones.Show
End Sub

c) El código del Combo1 es:
Private Sub Combo1_DropDown()
On Error Resume Next
Dim q As Long, enlatabla1 As Boolean
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
enlatabla1 = False
For q = 0 To Combo1.ListCount - 1
If Combo1.List(q) = Data1.Recordset("carrera") Then
enlatabla1 = True
Exit For
End If
Next q
If Not enlatabla1 Then
Combo1.AddItem Data1.Recordset("carrera")
End If
Data1.Recordset.MoveNext
Wend

Dim k As Long, enlatabla2 As Boolean
Data1.Recordset.MoveFirst
While Not Data1.Recordset.EOF
enlatabla2 = False
For k = 0 To Combo1.ListCount - 1
If Combo1.List(k) = Data1.Recordset("turno") Then
enlatabla2 = True
Exit For
End If
Next k
If Not enlatabla2 Then
Combo1.AddItem Data1.Recordset("turno")
End If
Data1.Recordset.MoveNext
Wend
End Sub




                                               72 de 85
Cómo crear una base de datos en Access con Visual Basic
d) El código del botón Buscar es:
Private Sub Command1_Click()
Data1.RecordSource = "select * from alumnos where carrera like '" & Combo1.Text & "' or turno like '" &
Combo1.Text & "'"
Data1.Refresh
Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
If Data1.Recordset.EOF Then
MsgBox "Selecciona un Campo para ejecutar la Búsqueda", vbInformation, "Selecciona un Campo"
Data1.RecordSource = "alumnos"
Data1.Refresh
Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
End If
End Sub

e) El código del botón Todos los Registros es:
Private Sub Command2_Click()
Data1.RecordSource = "alumnos"
Data1.Refresh
Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
End Sub

e) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

f) MSFlexGrid1
Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 –
flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.

g) La etiqueta2 debe tener su propiedad Autosize en True, y la propiedad Caption en nada.

Al iniciar el formulario, el usuario podrá realizar búsquedas por dos campos usando una sola caja de combo,
em la cual se mostrarán los registros de los campos Carrera y Turno, al presionar el botón Buscar, los
registros se mostrarán en el MSFlexGrid y la etiqueta2 mostrará la cantidad de registros mostrados. El
Botón cerrar del formulario se deshabilita para forzar el uso del Menú.




                                                 73 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Búsquedas10

Crea un formulario, con dos etiquetas, un botón, un MSFlexGrid y un control Data, cuya propiedad Visible
debe ser cambiada a False, para que se vea más o menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del formulario Búsquedas10 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 800
MSFlexGrid1.ColWidth(1) = 2400
MSFlexGrid1.ColWidth(2) = 2500
MSFlexGrid1.ColWidth(3) = 1000
Data1.RecordSource = "alumnos"
Data1.Refresh
Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
End Sub

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub




                                                  74 de 85
Cómo crear una base de datos en Access con Visual Basic
b) El código del menú Volver a Opciones es:
Private Sub volveraopciones_Click()
Busquedas10.Hide
Opciones.Show
End Sub

c) El código del botón Todos los Registros es:
Private Sub Command1_Click()
Data1.RecordSource = "alumnos"
Data1.Refresh
MSFlexGrid1.Refresh
Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""
End Sub

d) El código del MSFlexGrid1 es:
Private Sub MSFlexGrid1_DblClick()
Modificar.Show
End Sub

Aquí nos damos cuenta que hay que crear un formulario al que llamaremos Modificar, el cual contendrá
cuatro etiquetas, cuatro cajas de texto, las cuales formarán una matriz, para lo cual sencillamente copiamos
la primera caja de texto y cuando Visual nos pregunte: Ya existe un control llamado ‘Text1’. ¿Desea crear
una matriz de controles? Presionamos el botón Sí; un botón y un control Data, cuya propiedad Visible debe
ser cambiada a False, para que se vea más o menos como se ve abajo.




e) El código del formulario Modificar es:

En General declaramos la variable: Private a(4) As String




                                                 75 de 85
Cómo crear una base de datos en Access con Visual Basic
Private Sub Form_Load()
Dim i As Integer
With Busquedas10.MSFlexGrid1
For i = 0 To .Cols - 1
Text1(i).Text = .TextMatrix(.Row, i)
a(i) = .TextMatrix(.Row, i)
Next
End With
End Sub

f) El código del botón Actualizar Registros es:
Private Sub Command1_Click()
Dim modificar As String
modificar = "select * from alumnos where matricula=" & Val(Text1(0))
Data1.RecordSource = modificar
Data1.Refresh
Data1.Recordset.Edit
Data1.Recordset!nombre = Text1(1)
Data1.Recordset!carrera = Text1(2)
Data1.Recordset!turno = Text1(3)
Data1.Recordset.Update
Busquedas10.MSFlexGrid1.Clear
Unload Me
End Sub

g) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

h) La etiqueta2 debe tener su propiedad Autosize en True, y la propiedad Caption en nada.

Al iniciar el formulario Búsquedas10, el usuario podrá hacer doble clic en cualquier registro para editarlo de
forma rápida en el formulario Modificar. Cuando de lleve a cabo la edición del registro, presionando el
botón Todos los Registros, podremos ver el registro actualizado a nuestra conveniencia en el MSFlexGrid y
la etiqueta2 mostrará la cantidad de registros mostrados. El Botón cerrar del formulario se deshabilita para
forzar el uso del Menú.




                                                  76 de 85
Cómo crear una base de datos en Access con Visual Basic
En esta parte del ejercicio vamos a realizar una búsqueda para contar la cantidad de registros que satisfagan
cierta condición, por ejemplo: cuántos alumnos hay que están inscritos en cierta carrera, turno, etc.

Para lo cual crea un formulario con cuatro etiquetas, cuatro cajas de texto, dos MSFlexGrid, un combobox,
un botón y dos controles Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o
menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del combobox1 es:
Private Sub Combo1_DropDown()
On Error Resume Next
Do Until Data2.Recordset.EOF
Combo1.AddItem Data2.Recordset.Fields("carrera")
Data2.Recordset.MoveNext
Loop
End Sub

b) El código del botón Contar Carreras es:
Private Sub Command1_Click()
Data2.RecordSource = "select count(carrera) as carreras from alumnos where carrera = '" & Combo1 & "'"
Data2.Refresh
End Sub



                                                   77 de 85
Cómo crear una base de datos en Access con Visual Basic
c) Controles Data
No olvides conectar los controles Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

d) Selecciona el objeto MSFlexGrid1, en su propiedad DataSource selecciona Data1, modifica su
propiedad Cols a 5, cambia su propiedad Rows a 5, el MSFlexGrid2, debe ser conectado con el control
Data2, modifica su propiedad Cols a 5, cambia su propiedad Rows a 2, opcionalmente puedes modificar sus
propiedades de BackColor de la manera que más te agrade.

Al iniciar el formulario Búsquedas11, el usuario podrá seleccionar una carrera de la caja de combo y al
presionar el botón Contar Carreras, el MsFlexGrid2 mostrará la cantidad de registros que satisfagan la
condición dada. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú.




                                                 78 de 85
Cómo crear una base de datos en Access con Visual Basic
Supongamos que queremos totalizar una columna, por motivos de la tabla que estamos usando sumaremos el
total de matrículas.

Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, dos MSFlexGrid, un botón
y dos controles Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como
se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del botón La Suma de Matrículas es:
Private Sub Command1_Click()
Data2.RecordSource = "select sum(matricula) as suma from alumnos"
Data2.Refresh
End Sub




                                                  79 de 85
Cómo crear una base de datos en Access con Visual Basic
Enseguida veremos como emplear el control DTPicker para realizar búsquedas por fechas, para lo cual, en la
tabla alumnos hay que agregar um campo que se llame fecha_inscripción, misma que usaremos para las
consultas.

Crea un formulario con 5 etiquetas y 5 cajas de texto (recuerda que agregamos el campo fecha_inscripcion a
la tabla alumnos), incluye un MSFlexGrid, 3 etiquetas, 2 botones, un control Data y 2 DatePicker. Para
agregar los DTPicker ve a Proyecto, Componentes, Controles, Microsoft Windows Common Controls-2
6.0, haz clic en Aplicar y Aceptar, y estará disponible en la caja de herramienta. De modo que se vea más o
menos como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del botón Búsqueda por Fecha es:
Private Sub Command1_Click()
Data1.RecordSource = "select * from alumnos where fecha_inscripcion between #" & DTPicker1.Value &
"# and #" & DTPicker2.Value & "#"
Data1.Refresh
Label6 = "Total de Registros de la búsqueda: " & (MSFlexGrid1.Rows) - 1 & ""
If Data1.Recordset.RecordCount = 0 Then
MsgBox "No Hay Registros con estos Parámetros" + vbCrLf + "Por Favor Revisa tus Datos", vbInformation,
"¡Aviso Importante!"
End If


                                                  80 de 85
Cómo crear una base de datos en Access con Visual Basic
End Sub

b) El código del botón Ver todos los Registros es:
Private Sub Command2_Click()
Data1.RecordSource = "alumnos"
Data1.Refresh
MSFlexGrid1.Refresh
End Sub

c) El código del formulario Búsquedas13 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 400
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2300
MSFlexGrid1.ColWidth(3) = 1400
MSFlexGrid1.ColWidth(4) = 900
MSFlexGrid1.ColWidth(5) = 1200
End Sub

d) Control Data
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

e) Selecciona el objeto MSFlexGrid1, en su propiedad DataSource selecciona Data1, modifica su
propiedad Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de
BackColor de la manera que más te agrade.

Al iniciar el formulario Búsquedas13, el usuario podrá seleccionar fechas de los objetos DTPicker para
realizar búsquedas al presionar el botón Búsquedas por Fecha, el MsFlexGrid1 mostrará la cantidad de
registros que satisfagan la condición dada.




                                                 81 de 85
Cómo crear una base de datos en Access con Visual Basic
En parte del ejercicio, veremos algunas formas muy sencillas de imprimir el resultado de las consultas que se
muestran em el MSFlexGrid, quiero mencionar que aunque pudieramos emplear un solo formulario, para los
ejercicios, por cuestión de sencillez en la explicación usaremos más de uno.

Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres
botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos
como se ve abajo.




Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones.

a) El código del formulario Impresión1 es:
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 400
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2500
MSFlexGrid1.ColWidth(3) = 2000
MSFlexGrid1.ColWidth(4) = 1100
End Sub




                                                  82 de 85
Cómo crear una base de datos en Access con Visual Basic
Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!"
End Sub

b) El código del botón Ocultar Registros es:
Private Sub Command1_Click()
MSFlexGrid1.Clear
End Sub

c) El código del botón Mostrar Registros es:
Private Sub Command2_Click()
Data1.RecordSource = "alumnos"
Data1.Refresh
With MSFlexGrid1
For a = 1 To .Rows - 1
.Row = a
For B = 1 To .Cols - 1
.Col = B
.CellBackColor = IIf((a Mod 2) = 1, Val(&HC0FFFF), Val(&HC0FFC0))
.CellFontBold = True
.CellForeColor = &HFF0000
Next B
Next a
End With
End Sub

d) El código del botón Imprimir Registros Seleccionados es:
Private Sub Command3_Click()
Printer.Print MSFlexGrid1.Clip
Printer.EndDoc
End Sub

e) Control Data1
No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla
alumnos mediante su propiedad RecordSource.

f) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad
Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de BackColor de
la manera que más te agrade.

Al iniciar el formulario Impresión1, el usuario podrá ver u ocultar los registros mostrados en el MSFlexGrid,
y podrá imprimir los registros que haya seleccionado del MSFlexGrid. El Botón cerrar del formulario se
deshabilita para forzar el uso del Menú.




                                                  83 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Impresión2

Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres
botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos
como se ve abajo.




a) El código del botón Imprimir Formulario es:
Private Sub Command3_Click()
Impresion2.PrintForm
Printer.EndDoc
End Sub




                                                 84 de 85
Cómo crear una base de datos en Access con Visual Basic

Creando la pantalla de Impresión3

Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres
botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos
como se ve abajo.




a) El código del botón Imprimir Registros es:
Private Sub Command3_Click()
Printer.PaintPicture MSFlexGrid1.Picture, 0, 0
Printer.EndDoc
End Sub




Tutorial creado por:
Lic. Jorge Alvarez S.
Jkasa2003@yahoo.com.mx



                                                 85 de 85

Más contenido relacionado

La actualidad más candente

Pasos para crear una tabla en access
Pasos para crear una tabla en accessPasos para crear una tabla en access
Pasos para crear una tabla en accesslizettegallardo
 
Tranajo acces 03 09 12
Tranajo acces 03 09 12Tranajo acces 03 09 12
Tranajo acces 03 09 12piratadark123
 
Trabajo acces 03 09 12
Trabajo acces 03 09 12Trabajo acces 03 09 12
Trabajo acces 03 09 12piratadark123
 
Creacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverCreacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverZeleneMorita
 
Presentación de Access
Presentación de AccessPresentación de Access
Presentación de Accessskrapy95
 
Presentacinaccess hugo xavier
Presentacinaccess hugo xavierPresentacinaccess hugo xavier
Presentacinaccess hugo xavierhugoxcn
 
Actividad acces
Actividad accesActividad acces
Actividad accesgomez902
 
Ejercicios paso-a-paso-access-2010
Ejercicios paso-a-paso-access-2010Ejercicios paso-a-paso-access-2010
Ejercicios paso-a-paso-access-2010Felipe Laguado
 
Ejercicios de access 2010
Ejercicios de access 2010Ejercicios de access 2010
Ejercicios de access 2010Fidel_Boror
 
Tutorial calc open office
Tutorial calc   open officeTutorial calc   open office
Tutorial calc open officeamariad9
 

La actualidad más candente (15)

19
1919
19
 
Pasos para crear una tabla en access
Pasos para crear una tabla en accessPasos para crear una tabla en access
Pasos para crear una tabla en access
 
Tranajo acces 03 09 12
Tranajo acces 03 09 12Tranajo acces 03 09 12
Tranajo acces 03 09 12
 
Trabajo acces 03 09 12
Trabajo acces 03 09 12Trabajo acces 03 09 12
Trabajo acces 03 09 12
 
Creacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverCreacion de indices y constraints en sql server
Creacion de indices y constraints en sql server
 
Presentación de Access
Presentación de AccessPresentación de Access
Presentación de Access
 
Presentacinaccess hugo xavier
Presentacinaccess hugo xavierPresentacinaccess hugo xavier
Presentacinaccess hugo xavier
 
Guia3de Dreamweaver
Guia3de DreamweaverGuia3de Dreamweaver
Guia3de Dreamweaver
 
Actividad acces
Actividad accesActividad acces
Actividad acces
 
Ejercicios paso-a-paso-access-2010
Ejercicios paso-a-paso-access-2010Ejercicios paso-a-paso-access-2010
Ejercicios paso-a-paso-access-2010
 
Ejercicios propuestos-access-2010
Ejercicios propuestos-access-2010Ejercicios propuestos-access-2010
Ejercicios propuestos-access-2010
 
Ejercicios de access 2010
Ejercicios de access 2010Ejercicios de access 2010
Ejercicios de access 2010
 
Maquetación Web con Dreamweaver y Photoshop (1/2)
Maquetación Web con Dreamweaver y Photoshop (1/2)Maquetación Web con Dreamweaver y Photoshop (1/2)
Maquetación Web con Dreamweaver y Photoshop (1/2)
 
Grado digital cuestionario 2
Grado digital cuestionario 2Grado digital cuestionario 2
Grado digital cuestionario 2
 
Tutorial calc open office
Tutorial calc   open officeTutorial calc   open office
Tutorial calc open office
 

Similar a Como crear una base de datos con visual basic

Base De Datos Con Visual Basic6.0
Base De Datos Con Visual Basic6.0Base De Datos Con Visual Basic6.0
Base De Datos Con Visual Basic6.0CuC
 
Ejercicio access+visualb
Ejercicio access+visualbEjercicio access+visualb
Ejercicio access+visualbvalen
 
Creancdo Proyecto Y Formularios
Creancdo Proyecto Y FormulariosCreancdo Proyecto Y Formularios
Creancdo Proyecto Y Formulariosjameszx
 
PresentacióN De Access
PresentacióN De AccessPresentacióN De Access
PresentacióN De Accessveronica
 
PresentacióN De Access
PresentacióN De AccessPresentacióN De Access
PresentacióN De Accessveronica
 
Curso access
Curso accessCurso access
Curso accessnaia21
 
Primeros pasos en access
Primeros pasos en accessPrimeros pasos en access
Primeros pasos en accessDubraska1
 
Guia base de datos access
Guia base de datos   accessGuia base de datos   access
Guia base de datos accessJose Camarillo
 

Similar a Como crear una base de datos con visual basic (20)

Base De Datos Con Visual Basic6.0
Base De Datos Con Visual Basic6.0Base De Datos Con Visual Basic6.0
Base De Datos Con Visual Basic6.0
 
Proyecto
ProyectoProyecto
Proyecto
 
Crear inventarios
Crear inventariosCrear inventarios
Crear inventarios
 
Ejercicio access+visualb
Ejercicio access+visualbEjercicio access+visualb
Ejercicio access+visualb
 
Creancdo Proyecto Y Formularios
Creancdo Proyecto Y FormulariosCreancdo Proyecto Y Formularios
Creancdo Proyecto Y Formularios
 
CREAR UNA BASE DE DATOS
CREAR UNA BASE DE DATOSCREAR UNA BASE DE DATOS
CREAR UNA BASE DE DATOS
 
Vb access
Vb accessVb access
Vb access
 
Vb access
Vb accessVb access
Vb access
 
Vb access
Vb accessVb access
Vb access
 
Vb access
Vb accessVb access
Vb access
 
Guia 05 bases de datos
Guia 05 bases de datosGuia 05 bases de datos
Guia 05 bases de datos
 
PresentacióN De Access
PresentacióN De AccessPresentacióN De Access
PresentacióN De Access
 
PresentacióN De Access
PresentacióN De AccessPresentacióN De Access
PresentacióN De Access
 
Curso
CursoCurso
Curso
 
Curso access
Curso accessCurso access
Curso access
 
Primeros pasos en access
Primeros pasos en accessPrimeros pasos en access
Primeros pasos en access
 
Sig pregunta1
Sig pregunta1Sig pregunta1
Sig pregunta1
 
Herramientas visual basic
Herramientas visual basicHerramientas visual basic
Herramientas visual basic
 
Microsoft access
Microsoft accessMicrosoft access
Microsoft access
 
Guia base de datos access
Guia base de datos   accessGuia base de datos   access
Guia base de datos access
 

Más de luisj9212

Más de luisj9212 (20)

Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Camilo
CamiloCamilo
Camilo
 
Ex14
Ex14Ex14
Ex14
 
Ex13
Ex13Ex13
Ex13
 
Ex12
Ex12Ex12
Ex12
 
Ex11
Ex11Ex11
Ex11
 
Ex10
Ex10Ex10
Ex10
 
Ex9
Ex9Ex9
Ex9
 
Ex8
Ex8Ex8
Ex8
 
Ex7
Ex7Ex7
Ex7
 
Ex6
Ex6Ex6
Ex6
 
Ex5
Ex5Ex5
Ex5
 
Ex4
Ex4Ex4
Ex4
 
Ex3
Ex3Ex3
Ex3
 
Ex2
Ex2Ex2
Ex2
 
Ex1
Ex1Ex1
Ex1
 
Ex15
Ex15Ex15
Ex15
 
Como hacer los ejercicios practicos de access (nx power lite)
Como hacer los ejercicios practicos de access (nx power lite)Como hacer los ejercicios practicos de access (nx power lite)
Como hacer los ejercicios practicos de access (nx power lite)
 
Como hacer los ejercicios practicos de access
Como hacer los ejercicios practicos de accessComo hacer los ejercicios practicos de access
Como hacer los ejercicios practicos de access
 
Como crear una base de datos con visual basic (nx powerlite)
Como crear una base de datos con visual basic (nx powerlite)Como crear una base de datos con visual basic (nx powerlite)
Como crear una base de datos con visual basic (nx powerlite)
 

Como crear una base de datos con visual basic

  • 1. Cómo crear una base de datos en Access con Visual Basic Introducción La combinación de Microsoft Access y Microsoft Visual Basic nos proporciona una excelente herramienta para la creación de bases de datos (Access) y su acceso (Visual Basic) que nos permite administrar nuestras colecciones de audio, libros, video, etc. este ejercicio nos permitirá concebir y construir bases de datos que se amolden a nuestras necesidades particulares, asumiendo que tienes conocimientos más que básicos de Visual Basic, sin más, manos a la obra. Inicio de Visual Basic a) Haz clic en el botón Inicio, señala Todos los programas. b) Haz clic en Microsoft Visual Studio 6.0, Microsoft Visual Basic 6.0. Inicio del Proyecto a) Crea una carpeta que será exclusiva para el ejercicio se llamará: “mibasededatos” para guardar todos los componentes del proyecto. b) Por el momento no haremos nada con el formulario de inicio. Creación de la base de datos a) Haz clic en el botón Complementos de la barra de herramientas. b) Haz clic en Administrador visual de datos… 1 de 85
  • 2. Cómo crear una base de datos en Access con Visual Basic c) Y se abrirá el Administrador visual de datos (VisData (Visual Data Manager)). d) Haz clic en Archivo, Nuevo…, Microsoft Access, MDB de la versión 7.0… 2 de 85
  • 3. Cómo crear una base de datos en Access con Visual Basic e) En la caja Seleccione la base de datos de Microsoft Access que desea crear, en Guardar en, busca y selecciona la misma carpeta –creada anteriormente- en donde se guardará el proyecto, en Nombre: escribe un nombre que identifique la base de datos (usualmente el mismo nombre de la carpeta) y haz clic en Guardar. 3 de 85
  • 4. Cómo crear una base de datos en Access con Visual Basic f) Ahora aparece nuevamente el Administrador visual de datos mostrando en la barra de título la ruta de acceso de nuestra base de datos y lista para empezar a trabajar. 4 de 85
  • 5. Cómo crear una base de datos en Access con Visual Basic Creación de las tablas de la base de datos a) Haz clic con el botón derecho del ratón dentro de la Ventana de base de datos y haz clic en Nueva tabla. 5 de 85
  • 6. Cómo crear una base de datos en Access con Visual Basic b) En la caja Estructura de tabla, Nombre de la tabla: escribe el nombre de la tabla, para el ejercicio la tabla se llamará Alumnos, y haz clic en Agregar campo. 6 de 85
  • 7. Cómo crear una base de datos en Access con Visual Basic c) En la caja Agregar campo, Nombre: escribe el nombre del primer campo de la tabla que estamos creando, para el ejercicio agregaremos cuatro campos, a saber: matricula, nombre, carrera y turno. d) En Tipo: selecciona el tipo de datos que contendrá el campo, en nuestro caso serán: - campo: matricula, tipo de datos: long, tamaño: (automático) - campo: nombre, tipo de datos: texto, tamaño: 50 - campo: carrera, tipo de datos: texto, tamaño: 50 - campo: turno, tipo de datos: texto, tamaño: 20 e) En Tamaño: selecciona la cantidad de caracteres (incluyendo espacios) que tendrá el campo (ver arriba) y haz clic en Aceptar. f) Para agregar los otros campos de la tabla, haz clic en Agregar campo y repite los pasos desde el punto “c)” (Nombre, Tipo y Tamaño) para cada campo que tendrá la tabla. 7 de 85
  • 8. Cómo crear una base de datos en Access con Visual Basic g) Cuando hayas agregado los campos de la tabla haz clic en el botón Generar la tabla. 8 de 85
  • 9. Cómo crear una base de datos en Access con Visual Basic h) Y la tabla la podrás ver en el Administrador visual de datos (VisData). i) Repite los pasos –desde el punto “a)” para cada tabla que tendrá la base de datos. 9 de 85
  • 10. Cómo crear una base de datos en Access con Visual Basic Introduciendo la información en las tablas a) Haz clic con el botón derecho del ratón en la tabla recién creada de la base de datos y haz clic en Abrir. 10 de 85
  • 11. Cómo crear una base de datos en Access con Visual Basic b) Y se mostrará la caja Dynaset con el nombre de la tabla, en nuestro caso: Alumnos. Haz clic en Agregar para empezar a introducir la información en los campos del primer registro. c) Cuando termines de introducir la información en la última caja de texto, haz clic en Actualizar. Repite los pasos para cada registro de la Tabla. d) Repite los pasos para introducir la información para cada tabla de la base de datos. 11 de 85
  • 12. Cómo crear una base de datos en Access con Visual Basic Preparando los formularios En un formulario de Visual Basic crea las etiquetas necesarias que correspondan –modificando su propiedad Caption- con los nombres de los campos de la tabla Alumnos, a saber, Matrícula, Nombre, Carrera y Turno. Crea las cajas de texto –dejando en blanco su propiedad Text- necesarias para mostrar el contenido de los campos y un control Data, repite los pasos para cada tabla que tengas en tu base de datos. Haz clic en el menú Proyecto, Componentes, selecciona el componente Microsoft FlexGrid Control 6.0 y haz clic en Aceptar. Ahora el objeto se halla en la Caja de herramientas, dibújalo en el formulario para que se vea más o menos como se ve abajo. 12 de 85
  • 13. Cómo crear una base de datos en Access con Visual Basic Creando la conexión con la base de datos y la tabla 1. Conectando el control Data a) Selecciona el control Data y modifica sus propiedades como sigue: b) DatabaseName: localiza la carpeta del proyecto y selecciona la base de datos (mibasededatos) en donde se halla la tabla. c) RecordSource: selecciona el nombre de la tabla (Alumnos) cuyos campos se mostrarán en el formulario. 2. Conectando las cajas de texto a) Selecciona una de las cajas de texto y modifica sus propiedades como sigue: b) DataSource: selecciona Data1. c) DataField: selecciona el nombre del campo de la tabla –que corresponda con la etiqueta correcta- que se mostrará en la caja de texto. d) Repite los pasos con cada caja de texto del formulario y ejecuta el programa con F5. e) En el formulario que conectaste a la base de datos, al hacer clic en el botón de avance del control Data se mostrarán los registros de la tabla. f) Si no se pueden ver los registros de la tabla, significa que no se conectaron correctamente el control Data y las cajas de texto, simplemente revisa las conexiones una por una. 13 de 85
  • 14. Cómo crear una base de datos en Access con Visual Basic 3. Conectando el MSFlexGrid. a) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de BackColor de la manera que más te agrade. 4. Este es el código del formulario: Private Sub Form_Activate() With MSFlexGrid1 For X = 1 To .Rows - 1 .Row = X For J = 1 To .Cols - 1 .Col = J .CellBackColor = IIf((X Mod 2) = 1, Val(&HC0FFFF), Val(&HC0FFC0)) .CellFontBold = True .CellForeColor = &HFF0000 Next J Next X End With End Sub Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2500 MSFlexGrid1.ColWidth(3) = 2000 MSFlexGrid1.ColWidth(4) = 1100 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Movimientos", vbInformation, "¡Aviso Importante!" End Sub 14 de 85
  • 15. Cómo crear una base de datos en Access con Visual Basic Creando un Menú En el formulario vamos a crear un menú llamado Movimientos con las siguientes opciones: 15 de 85
  • 16. Cómo crear una base de datos en Access con Visual Basic a) Haz clic con el botón derecho del ratón sobre el formulario y haz clic en el Editor de menús… b) Y aparece la caja Editor de menús. 16 de 85
  • 17. Cómo crear una base de datos en Access con Visual Basic c) En Caption introduce el nombre (que se mostrará en el formulario) del menú. d) En Name introduce el nombre que utilizará Visual Basic. e) Haz clic en el botón Siguiente para crear otro menú. f) Haz clic en el botón con la flecha hacia la derecha y aparecerán cuatro puntos, lo cual indica que el siguiente renglón será una opción del menú. g) En Shortcut selecciona la combinación de teclas que se podrán usar para activar la opción de menú correspondiente. h) Repite los pasos para crear cada opción del menú. Programando las opciones del menú Ahora codificaremos en Visual Basic las opciones del menú Movimientos para eso abre el menú y haz clic en cada una de las opciones del menú, el código para las opciones son: a) Opción Nuevo, el cual servirá para crear un nuevo registro en la tabla, el código es el siguiente: Private Sub nuevo_Click () Data1.Recordset.AddNew End Sub P.D. Esta opción debe presionarse antes de dar de alta un nuevo registro en la base de datos. b) Opción Guardar, el cual servirá para guardar un nuevo registro en la tabla, el código es el siguiente: Private Sub guardar_Click() Data1.UpdateRecord Data1.Refresh MsgBox "El Registro ha sido Guardado en la Base de Datos", vbExclamation, "Aviso Importante" End Sub P.D. Esta opción debe presionarse una vez que se haya completado la información del registro. c) Opción Buscar, el cual servirá para buscar un registro en la tabla, el código es el siguiente: Private Sub buscar_Click() Dim m As Long m = Val(InputBox("Introduce la Matrícula que Buscas")) Data1.Recordset.FindFirst "matricula=" & m If Data1.Recordset.NoMatch Then MsgBox "La Matrícula Número: " & m & " No está en la Base de Datos", vbExclamation, "Búsquedas de Matrícula" End If End Sub 17 de 85
  • 18. Cómo crear una base de datos en Access con Visual Basic Nota: aquí declaramos una variable (m) que representará el número del registro (matricula) que estemos buscando. Es de vital importancia de que te asegures de que en la línea subrayada la palabra “Matrícula” esté escrita exactamente como llamaste el campo “matricula” al crear la tabla. d) Opción Eliminar, el cual servirá para eliminar un registro de la tabla, el código es el siguiente: Private Sub Eliminar_Click() If MsgBox("¿Quieres Eliminar la Matrícula Número: " & Text1 & "?", 16 + 4) = 6 Then Data1.Recordset.Delete Data1.Refresh Text1.SetFocus MsgBox "Se Eliminó la Matrícula", vbCritical, "Aviso Importante" Else MsgBox "No se Eliminó la Matrícula Número: " & Text1, vbExclamation, "Aviso Importante" End If End Sub Ahora corre tu programa con la tecla F5 dirígete al formulario y ahora podrás agregar, guardar, buscar y eliminar registros de la tabla Alumnos de la base de datos de Access mediante Visual Basic. 18 de 85
  • 19. Cómo crear una base de datos en Access con Visual Basic Creando los reportes con Visual Basic Para crear reportes en Visual Basic vamos a crear primero el Data Environment (Entorno de Datos) el cual es una herramienta muy sencilla para crear reportes tal como Crystal Reports o Access. Creando el Data Environment a) Haz clic en el botón Proyecto de la barra de herramientas. b) Haz clic en Agregar Data Environment c) Y se abrirá el Data Environment mostrando el nombre del proyecto en su barra de título. 19 de 85
  • 20. Cómo crear una base de datos en Access con Visual Basic Nota: En caso de que no se halle disponible la opción Agregar Data Environment en el menú Proyecto, hay que activarla desde Proyecto, Componentes, Diseñadores y hacer clic en Data Environment y otro clic en Aceptar. 20 de 85
  • 21. Cómo crear una base de datos en Access con Visual Basic d) En la ventana aparece un pequeño icono de un reporte al cual puedes cambiarle el nombre fácilmente seleccionándolo y modificando su propiedad (Name) por otro como Reportes, etc. e) Más abajo se puede ver otro objeto, un cilindro -el cual representa a la base de datos- con una clavija eléctrica llamado Connection1 al cual también puedes cambiarle el nombre modificando su propiedad (Name) por otro como Alumnos, Maestros, etc. 21 de 85
  • 22. Cómo crear una base de datos en Access con Visual Basic f) Ahora haz clic con el botón derecho del ratón sobre la Connection1 (ahora llamada Alumnos) y haz clic en Propiedades… g) Y aparecerá la caja Propiedades de vínculo de datos, haz clic en la opción Conexión. 22 de 85
  • 23. Cómo crear una base de datos en Access con Visual Basic h) Haz clic en: Usar la cadena de conexión y haz clic en Generar… 23 de 85
  • 24. Cómo crear una base de datos en Access con Visual Basic i) Y aparecerá la caja Seleccionar origen de datos, haz clic en la opción Origen de datos de equipo. j) Selecciona el tipo de base de datos en donde se creó la base de datos, en nuestro caso MS Access Database y haz doble clic ahí. 24 de 85
  • 25. Cómo crear una base de datos en Access con Visual Basic k) Y aparecerá la caja Conexión, haz clic en el botón Base de datos… l) Y aparecerá la caja Seleccionar base de datos, localiza la carpeta o unidad de disco en donde se halla tu base de datos, selecciónala y haz clic en Aceptar. m) Enseguida se vuelve a mostrar la caja Conexión, haz clic nuevamente en Aceptar. 25 de 85
  • 26. Cómo crear una base de datos en Access con Visual Basic n) Y se mostrará la caja Propiedades de vínculo de datos, mostrando en la caja de texto Cadena de conexión bajo la opción Usar la cadena de conexión la ruta de la base de datos que hemos conectado, para finalizar la conexión haz clic en Aceptar. o) Y volveremos al Entorno de Datos. Ya creamos la conexión de los reportes con la base de datos, ahora vamos a crear un comando para el reporte. 26 de 85
  • 27. Cómo crear una base de datos en Access con Visual Basic Creando un comando a) Haz clic con el botón derecho del ratón sobre la conexión (Alumnos) que creamos previamente y haz clic en Agregar comando. 27 de 85
  • 28. Cómo crear una base de datos en Access con Visual Basic b) Y enseguida aparecerá un objeto llamado Command1, al cual le puedes cambiar su nombre modificando su propiedad (Name). c) Para motivos de identificación llamaremos el Command1 Repalumnos, ya que nos será útil para identificar el reporte de alumnos. 28 de 85
  • 29. Cómo crear una base de datos en Access con Visual Basic Creando las propiedades del reporte a) Haz clic con el botón derecho del ratón sobre el comando –ahora llamado Repalumnos- y haz clic en Propiedades… y aparecerá la caja Propiedades de Reporte, ahí podemos ver el Nombre de comando (Command1) el cual es Repalumnos y el nombre de la Conexión que es Alumnos. 29 de 85
  • 30. Cómo crear una base de datos en Access con Visual Basic b) En la sección Origen de datos, Objeto de la base de datos, haz clic en la flechita que se halla en la caja de combo y selecciona la opción Tabla. c) Haz clic en la flecha de la caja de combo Nombre de objeto y selecciona el nombre de la tabla (alumnos) que nos servirá de origen de datos para crear el reporte. d) Ahora sólo haz clic en Aceptar. 30 de 85
  • 31. Cómo crear una base de datos en Access con Visual Basic e) Y se mostrará un pequeño cuadro con un signo de más en su interior, al lado izquierdo del comando Repalumnos, haz clic ahí y podrás ver los campos de la tabla Alumnos que seleccionaste previamente, todo indica que nuestra conexión se realizó exitosamente. Ya puedes cerrar el Entorno de Datos (Data Environment) para crear ahora la estructura del reporte. 31 de 85
  • 32. Cómo crear una base de datos en Access con Visual Basic Creando la estructura del reporte a) En Visual Basic haz clic en el botón Proyecto de la barra de herramientas y haz clic en Agregar Data Report y se mostrará la caja DataReport1, la caja de herramientas y la caja de propiedades correspondientes para trabajar en el DataReport. Nota: En caso de que no se halle disponible la opción Agregar Data Report en el menú Proyecto, hay que activarla desde Proyecto, Componentes, Diseñadores y hacer clic en Data Report y otro clic en Aceptar. 32 de 85
  • 33. Cómo crear una base de datos en Access con Visual Basic a) Hay varias maneras de elaborar la estructura del reporte, vamos a emplear una muy sencilla, haz clic en la herramienta RptLabel y dibuja una etiqueta en Encabezado de informe (Sección4) y modifica su propiedad Caption con el título que tendrá el reporte. Nota: puedes ajustar la altura de las diferentes secciones del Data Report mediante colocar el apuntador del ratón en el limite inferior de cada sección, presionar el botón izquierdo del ratón y sencillamente moverlo hacia arriba o hacia abajo según sea el caso. b) Ahora haz clic en RptLabel y coloca etiquetas con los títulos de los encabezados de la tabla en Encabezado de página (Sección2) modificando sus propiedades Caption, Font, ForeColor, etc. a tu gusto. c) Ahora haz clic en RptTextBox y coloca cajas de texto en Detalle (Sección1). d) Al terminar de colocar las cajas de texto que muestran el texto: No enlazado, haz clic en cualquier parte vacía del DataReport y haz clic en la cajita gris situada bajo el icono de la barra de titulo del Data Report, para mostrar las propiedades del DataReport. 33 de 85
  • 34. Cómo crear una base de datos en Access con Visual Basic e) Haz clic en la propiedad DataSource y selecciona el DataEnvironment1 que previamente llamamos reportes, y en la propiedad DataMember selecciona el Command1 que llamamos Repalumnos. Nota: Podemos crear varios reportes –si hay varias tablas- en el mismo Data Environment. f) Ahora selecciona la primera caja de texto y haz clic en la cajita gris situada bajo el icono de la barra de titulo del Data Report, para mostrar las propiedades de la caja de texto (RptTextBox), y modifica sus propiedades como sigue: DataMember: el nombre del reporte (Repalumnos) y en DataField: selecciona el campo que corresponda de la tabla y repite los pasos para cada caja de texto para que se vea más o menos así. 34 de 85
  • 35. Cómo crear una base de datos en Access con Visual Basic Creando el menú de Reportes Vamos a volver al formulario en donde creamos el menú a) Haz clic con el botón derecho del ratón en el formulario y haz clic en Editor de menús… b) Crea el menú Reportes con la opción Alumnos. 35 de 85
  • 36. Cómo crear una base de datos en Access con Visual Basic c) Para que se vea así 36 de 85
  • 37. Cómo crear una base de datos en Access con Visual Basic Conectando el menú con el reporte Ahora vamos a conectar la opción del menú Reportes con el reporte que creamos previamente a) Haz clic en Reportes, Alumnos y escribe el siguiente código: Private Sub reportedealumnos_Click() DataReport1.Show End Sub b) Ejecuta el programa y haz clic en la opción para ver el reporte y se mostrará el reporte que creaste. Nota: En caso de ser necesario puedes estirar las cajas de texto para que se puedan ver los datos, o modificar la propiedad RightMargin del Data Report según tus necesidades particulares. Puedes crear una base de datos con varias tablas, diferentes formularios y diferentes reportes según prefieras, sinceramente espero que haya sido de tu interés el ejercicio y sirva para que te adentres en el mundo de la programación y las bases de datos. 37 de 85
  • 38. Cómo crear una base de datos en Access con Visual Basic En esta segunda parte del ejercicio, vamos a controlar el acceso al programa, de manera que solamente accesen el sistema, usuarios que previamente se hayan registrado como tales, también se creará la opción para que los interesados se auto registren y puedan hacer uso del programa, por lo que vamos a crear: a) Una pantalla de Inicio, que se verá inmediatamente antes de iniciar el programa. b) Una pantalla de Bienvenida, con opciones para entrar al programa o registrarnos si es que no somos usuarios registrados para accesar el programa. c) Una pantalla de Entrada, para acceder al programa como usuario registrado. d) Una pantalla de Registro, en donde se registrarán los usuarios que quieran entrar el programa. Creando una pantalla de inicio a) Haz clic en Proyecto, Agregar formulario. b) En la caja de diálogo Agregar formulario, opción Nuevo, selecciona el icono Pantalla de inicio y haz clic en Abrir. Para el propósito del ejercicio sólo conserva dos etiquetas que nos serán de utilidad así como la gráfica, selecciona el resto de las etiquetas y presiona el botón Suprimir para eliminarlas. Modifica las etiquetas, cambia la gráfica por la que prefieras, y agrega un reloj a la pantalla de inicio para que se vea más o menos como se ve abajo. Para que esta pantalla se vea inmediatamente antes que inicie el programa hay que hacer lo siguiente: a) Selecciona el reloj y cambia su propiedad Interval a 100. 38 de 85
  • 39. Cómo crear una base de datos en Access con Visual Basic b) Haz doble clic en el reloj y escribe el siguiente código: Private Sub Timer1_Timer() Static J As Integer J=J+1 If J = 20 Then frmSplash.Hide Bienvenida.Show Timer1.Enabled = False End If End Sub Aquí sencillamente declaramos una variable que se incrementará de uno en uno y al llegar a 20 se ocultará la pantalla de inicio y mostrará otro formulario, en nuestro caso el formulario de Bienvenida, y deshabilitará el reloj. Para que el programa inicie con el formulario que acabamos de crear: c) Haz clic en Proyecto, Propiedades de proyecto… y se abrirá la caja de diálogo, Propiedades del proyecto. d) En la opción General, Objeto inicial, selecciona el formulario frmSplash y haz clic en Aceptar. Creando una pantalla de bienvenida Crea un formulario, con una etiqueta y tres botones, para que se vea más o menos como se ve abajo. a) El código del botón Registrarse es: Private Sub Command1_Click() Bienvenida.Hide Registro.Show End Sub Cuya función es la de ocultar el formulario de Bienvenida y mostrar el formulario de Registro. 39 de 85
  • 40. Cómo crear una base de datos en Access con Visual Basic b) El código del botón Entrar es: Private Sub Command2_Click() Bienvenida.Hide Entrada.Show End Sub Cuya función es la de ocultar el formulario de Bienvenida y mostrar el formulario de Entrada. c) El código del botón Cancelar es: Private Sub Command3_Click() Unload Me End End Sub Cuya función es la de cerrar el programa. Creando una pantalla de entrada Crea un formulario, con dos etiquetas, dos cajas de texto y dos botones, para que se vea más o menos como se ve abajo. 40 de 85
  • 41. Cómo crear una base de datos en Access con Visual Basic a) El código del botón Entrar al Programa es: Private Sub Command1_Click() Dim usuario As String Dim contrasena As String Dim mensaje As String Registro.Data1.Refresh usuario = Text1 contrasena = Text2 Do Until Registro.Data1.Recordset.EOF If Registro.Data1.Recordset.Fields("usuario").Value = usuario And Registro.Data1.Recordset.Fields("contrasena").Value = contrasena Then MsgBox "Hola " & usuario & ", ¿Cómo has estado?", vbOKOnly, "Bienvenido al Programa" Entrada.Hide Alumnos.Show Exit Sub Else Registro.Data1.Recordset.MoveNext End If Loop mensaje = MsgBox("No te Conozco " & usuario & ", Intenta de Nuevo", vbOKOnly, "Atención, Usuario No Autorizado!!!") If (mensaje = 1) Then Entrada.Show Text1 = "" Text2 = "" Else End End If End Sub Cuya función es asegurarse de que el nombre de usuario y contraseña introducidos se hallen en la tabla de usuarios, si lo halla le permitirá la entrada al programa, si no lo encuentra, invitará al usuario a intentarlo de nuevo o salir del programa. 41 de 85
  • 42. Cómo crear una base de datos en Access con Visual Basic b) El código del botón Salir del programa es: Private Sub Command2_Click() End End Sub Cuya función es la de cerrar el programa. c) Escribe el siguiente código en el evento Activate del formulario Private Sub Form_Activate() Text1.SetFocus End Sub Cuya función es la de colocar el cursor en la caja de texto 1 al cargar el formulario d) Escribe el siguiente código en el evento KeyPress de la caja de texto 1 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Cuya función es la de avanzar de la caja de texto 1 a la caja de texto 2 al presionar la tecla Enter. Creando una pantalla de registro Crea un formulario, con dos etiquetas, dos cajas de texto, dos botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. 42 de 85
  • 43. Cómo crear una base de datos en Access con Visual Basic a) El código del botón Guardar Nuevo Registro es: Private Sub Command4_Click() Data1.UpdateRecord Data1.Refresh MsgBox "El Usuario ha sido Guardado en la Base de Datos", vbExclamation, "Aviso Importante" Registro.Hide Alumnos.Show End Sub Cuya función es la de guardar en la tabla de usuarios al nuevo usuario. b) El código del botón Salir del programa es: Private Sub Command2_Click() End End Sub Cuya función es la de cerrar el programa. c) Escribe el siguiente código en el evento Activate del formulario Private Sub Form_Activate() Data1.Recordset.AddNew End Sub Cuya función es la de preparar el agregar al usuario nuevo. d) Escribe el siguiente código en el evento KeyPress de la caja de texto 1 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Cuya función es la de avanzar de la caja de texto 1 a la caja de texto 2 al presionar la tecla Enter. e) Ahora hay que crear dentro de la misma base de datos, una tabla llamada usuarios para conservar los registros de los usuarios que se registren como usuarios del sistema, para este fin hay que seguir las instrucciones del capítulo: Creación de las tablas de la base de datos, detallada páginas arriba. 43 de 85
  • 44. Cómo crear una base de datos en Access con Visual Basic La tabla debe llamarse “usuarios” y sus campos deben ser definidos como tipo texto y tamaño 50, tal como se ve en la caja Estructura de la tabla mostrada abajo. 44 de 85
  • 45. Cómo crear una base de datos en Access con Visual Basic De tal manera que en el Administrador Visual de datos (VisData) podamos ver las tablas que forman nuestra base de datos. En la tabla recién creada y siguiendo el procedimiento páginas mostrado arriba, registra un único usuario, preferentemente tú nombre y como contraseña nuevamente tú nombre, esto por motivos de prueba. 45 de 85
  • 46. Cómo crear una base de datos en Access con Visual Basic f) Ahora volvamos al formulario llamado Registro, este contiene un control Data que hay que conectar - A la base de datos, usando su propiedad Databasename, y - A la tabla usuarios, usando su propiedad RecordSource. No hay que olvidar cambiar su propiedad Visible a False. Si todo ha resultado bien, al iniciar nuestro programa, este iniciará con la pantalla de Inicio, enseguida se mostrará la pantalla de Bienvenida, en donde tenemos dos opciones: al oprimir el botón Entrar, debe mostrarse la pantalla de Entrada y si se presiona el botón Registrarse, debe mostrarse la pantalla de Registro. La cual reconocerá al usuario registrado y no permitirá la entrada al sistema de personas no registradas. Como tenemos un usuario registrado podremos probar su funcionalidad. Gracias por todos los alentadores mensajes electrónicos recibidos de tanta gente, como siempre estoy a la orden para sugerencias y recomendaciones. 46 de 85
  • 47. Cómo crear una base de datos en Access con Visual Basic En esta tercera parte del ejercicio, vamos a realizar algunas búsquedas y consultas, así como ordenar los datos en forma ascendente y descendente, también moveremos registros del MSFlexGrid a otros objetos, de tal manera que vamos a crear: a) Una pantalla para realizar búsquedas por: Matrícula, Carrera y Turno. b) Una pantalla para efectuar búsquedas de Matrícula usando una caja de combo. c) Una Pantalla para ordenar todos los registros en forma ascendente y descendente. d) Una pantalla para mover datos del MSFlexGrid a cajas de texto. e) Una pantalla para trasferir datos del MSFlexGrid a cajas de lista. Para el propósito del ejercicio vamos a modificar la pantalla de opciones para que tenga una apariencia semejante a como se ve abajo. En este formulario, modifica el menú para que contenga opciones para las pantallas de búsqueda antes mencionadas, por cuestiones de fácil identificación las llamé como se ven en la pantalla. El formulario contiene al medio un objeto Picture conteniendo una ilustración. 47 de 85
  • 48. Cómo crear una base de datos en Access con Visual Basic En la parte inferior hay un objeto StatusBar, el cual fue activado mediante hacer clic en Proyecto, Componentes, en la caja de diálogo Componentes, Controles, selecciona la opción Microsoft Windows Common Controls 6.0 (SP6) y haz clic en Aplicar y Aceptar para que los controles se muestren en el Cuadro de herramientas. En el Cuadro de herramientas haz doble clic en el objeto StatusBar para que se mueva al formulario, una vez ahí, haz doble clic con el botón derecho del ratón en el objeto StatusBar y haz clic en Propiedades. 48 de 85
  • 49. Cómo crear una base de datos en Access con Visual Basic Para que se muestre la caja de diálogo Páginas de propiedades. En la caja de diálogo Páginas de propiedades, opción Paneles, haz clic en el botón Insertar panel en dos ocasiones (para tener un total de tres paneles), el objeto StatusBar muestra un panel, de manera que hay que insertar los paneles en donde se mostrará la hora, la fecha y la activación de la tecla de Mayúsculas. Podrás ver los paneles insertados mediante hacer clic en las flechas izquierda y derecha de la opción Index. Los paneles deben mostrar en la opción Style: 5 sbrTime, 6 sbrDate y 1 sbrCaps respectivamente para que se vea como la ilustración del formulario opciones mostrada arriba. Puedes experimentar con las otras opciones a tu gusto. 49 de 85
  • 50. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas1 Crea un formulario, con un frame, tres botones de opción, una caja de texto, dos etiquetas, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. El formulario debe tener un menú con la opción Volver a Opciones como se muestra abajo. 50 de 85
  • 51. Cómo crear una base de datos en Access con Visual Basic a) El código del formulario Búsquedas1 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 Label2.Visible = False Text1.Visible = False End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub b) El código del menú Volver a Opciones es: Private Sub volveraopciones_Click() Busquedas1.Hide Opciones.Show End Sub c) El código de los botones de opción es: Private Sub Option1_Click() If Option1 = True Then Label2.Visible = True Label2.Caption = "Introduce la Matrícula que buscas" Text1.Visible = True Text1 = "" Text1.SetFocus End If End Sub Private Sub Option2_Click() If Option2 = True Then Label2.Visible = True Label2.Caption = "Introduce la Carrera que buscas" Text1.Visible = True Text1 = "" Text1.SetFocus End If End Sub 51 de 85
  • 52. Cómo crear una base de datos en Access con Visual Basic Private Sub Option3_Click() If Option3 = True Then Label2.Visible = True Label2.Caption = "Introduce el Turno que buscas" Text1.Visible = True Text1 = "" Text1.SetFocus End If End Sub d) el código del botón Buscar es: Private Sub Command1_Click() If Option1 = True Then Data1.RecordSource = "select * from alumnos where matricula = " & Val(Text1) Data1.Refresh Label1.Visible = True If Data1.Recordset.EOF Then MsgBox "La Matrícula: " & Val(Text1) & ", No está en la Base de Datos", vbExclamation, "¡Por Favor Revisa el Número de la Matrícula!" Text1 = "" Text1.SetFocus End If ElseIf Option2 = True Then Data1.RecordSource = "select * from alumnos where carrera = '" & Text1 & "'" Data1.Refresh Label1.Visible = True If Data1.Recordset.EOF Then MsgBox "La Carrera: '" & Text1 & "'" & " No está en la Base de Datos", vbExclamation, "¡Por Favor Revisa el Nombre de la Carrera!" Text1 = "" Text1.SetFocus End If ElseIf Option3 = True Then Data1.RecordSource = "select * from alumnos where turno = '" & Text1 & "'" Data1.Refresh Label1.Visible = True 52 de 85
  • 53. Cómo crear una base de datos en Access con Visual Basic If Data1.Recordset.EOF Then MsgBox "El Turno: '" & Text1 & "'" & " No está en la Base de Datos", vbExclamation, "¡Por Favor Revisa el Nombre del Turno!" Text1 = "" Text1.SetFocus End If End If Label1 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub e) El código del botón Ver Todos los Registros es: Private Sub Command2_Click() Text1 = "" Data1.RecordSource = "alumnos" Data1.Refresh Label1 = "Total de Registros de la búsqueda: " & (MSFlexGrid1.Rows) - 1 & "" End Sub f) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. g) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. h) Las etiquetas1 y 2, deben estar vacías y con su propiedad AutoSize a True, una de ellas colócala justo arriba de la caja de texto y la otra puede ir al pie del formulario. Al iniciar el formulario, no deben verse las etiquetas ni la caja de texto, para lo cual limpia el contenido de la propiedad Caption, hasta que el usuario haga un clic en el botón de opción deseado. Al introducir la información requerida y hacer clic en el botón Buscar se mostrará el o los registros y la otra etiqueta indicando el número de registros hallados, al presionar el botón Ver Todos los Registros se mostrarán todos los registros de la tabla Alumnos. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 53 de 85
  • 54. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas2 Crea un formulario, con una etiqueta, una caja de combo, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas2 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub b) El código del menú Volver a Opciones es: Private Sub volveraopciones_Click() Busquedas2.Hide Opciones.Show End Sub 54 de 85
  • 55. Cómo crear una base de datos en Access con Visual Basic c) El código de la caja de combo es: Private Sub Combo1_DropDown() On Error Resume Next Do Until Data1.Recordset.EOF Combo1.AddItem Data1.Recordset.Fields("matricula") Data1.Recordset.MoveNext Loop End Sub d) El código del botón Buscar es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where matricula =" & Val(Combo1.Text) Data1.Refresh If Data1.Recordset.EOF Then MsgBox "La Matrícula: " & Val(Combo1) & ", No está en la Base de Datos" + vbCrLf + "Haz Clic en el botón 'Ver Todos'" + vbCrLf + "Para Seleccionar un Número de Matrícula", vbExclamation, "¡Por Favor Selecciona un Número de Matrícula!" End If End Sub e) El código del botón Ver Todos es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh End Sub f) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. g) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. h) ComboBox su propiedad Text cambiala a Matrículas. Al iniciar el formulario, el usuario seleccionará de la caja de combo la matrícula que busca, y al presionar el botón Buscar, la matrícula deseada se le mostrará. Al presionar el botón Ver Todos, se mostrarán todos los registros de la tabla Alumnos. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 55 de 85
  • 56. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas3 Crea un formulario, con una etiqueta, un Frame, cuatro botones de opción, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas3 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub b) El código del menú Volver a Opciones es: Private Sub volver_Click() Busquedas3.Hide Opciones.Show End Sub 56 de 85
  • 57. Cómo crear una base de datos en Access con Visual Basic c) El código del botón Ascendente es: Private Sub Command1_Click() If Option1 = True Then MSFlexGrid1.Col = 1 MSFlexGrid1.Sort = flexSortNumericAscending ElseIf Option2 = True Then MSFlexGrid1.Col = 2 MSFlexGrid1.Sort = flexSortStringAscending ElseIf Option3 = True Then MSFlexGrid1.Col = 3 MSFlexGrid1.Sort = flexSortStringAscending ElseIf Option4 = True Then MSFlexGrid1.Col = 4 MSFlexGrid1.Sort = flexSortStringAscending End If End Sub d) El código del botón Descendente es: Private Sub Command2_Click() If Option1 = True Then MSFlexGrid1.Col = 1 MSFlexGrid1.Sort = flexSortNumericDescending ElseIf Option2 = True Then MSFlexGrid1.Col = 2 MSFlexGrid1.Sort = flexSortStringDescending ElseIf Option3 = True Then MSFlexGrid1.Col = 3 MSFlexGrid1.Sort = flexSortStringDescending ElseIf Option4 = True Then MSFlexGrid1.Col = 4 MSFlexGrid1.Sort = flexSortStringDescending End If End Sub e) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. f) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. Al iniciar el formulario, el usuario seleccionará el botón de opción que necesite para elegir el campo necesario y presionará el botón Ascendente o Descendente para elegir el orden de los datos de la tabla Alumnos. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 57 de 85
  • 58. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas4 Crea un formulario, con una etiqueta, cuatro cajas de texto, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas4 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub b) El código del menú Volver a Opciones es: Private Sub volver_Click() Busquedas4.Hide Opciones.Show End Sub 58 de 85
  • 59. Cómo crear una base de datos en Access con Visual Basic c) El código del MSFlexGrid es: Private Sub MSFlexGrid1_DblClick() MSFlexGrid1.Col = 1 Text1 = MSFlexGrid1.Text MSFlexGrid1.Col = 2 Text2 = MSFlexGrid1.Text MSFlexGrid1.Col = 3 Text3 = MSFlexGrid1.Text MSFlexGrid1.Col = 4 Text4 = MSFlexGrid1.Text Text1.BackColor = &HC0FFFF Text2.BackColor = &HC0FFFF Text3.BackColor = &HC0FFFF Text4.BackColor = &HC0FFFF Text1.ForeColor = &HFF0000 Text2.ForeColor = &HFF0000 Text3.ForeColor = &HFF0000 Text4.ForeColor = &HFF0000 End Sub d) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. e) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. Al iniciar el formulario, el usuario hará doble clic en cualquier registro del MSFlexGrid y este se transferirá a las cajas de texto. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 59 de 85
  • 60. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas5 Crea un formulario, con una etiqueta, cuatro cajas de lista, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas5 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub b) El código del menú Volver a Opciones es: Private Sub volver_Click() Busquedas5.Hide Opciones.Show End Sub 60 de 85
  • 61. Cómo crear una base de datos en Access con Visual Basic c) El código del MSFlexGrid es: Private Sub MSFlexGrid1_DblClick() MSFlexGrid1.Col = 1 List1.AddItem MSFlexGrid1.Text MSFlexGrid1.Col = 2 List2.AddItem MSFlexGrid1.Text MSFlexGrid1.Col = 3 List3.AddItem MSFlexGrid1.Text MSFlexGrid1.Col = 4 List4.AddItem MSFlexGrid1.Text List1.BackColor = &HC0FFFF List2.BackColor = &HC0FFFF List3.BackColor = &HC0FFFF List4.BackColor = &HC0FFFF List1.ForeColor = &HFF0000 List2.ForeColor = &HFF0000 List3.ForeColor = &HFF0000 List4.ForeColor = &HFF0000 End Sub d) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. e) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. Al iniciar el formulario, el usuario hará doble clic en cualquier registro del MSFlexGrid y este se transferirá a las cajas de lista, que a diferencia del ejercicio anterior, guardarán más de un registro a la vez. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 61 de 85
  • 62. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas6 Crea un formulario, con tres etiquetas, dos cajas de combo, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas6 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub b) El código del menú Volver a Opciones es: Private Sub volver_Click() Busquedas6.Hide Opciones.Show End Sub 62 de 85
  • 63. Cómo crear una base de datos en Access con Visual Basic c) El código de la caja de combo1 es: Private Sub Combo1_DropDown() On Error Resume Next Dim i As Long, enlatabla As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla = False For i = 0 To Combo1.ListCount - 1 If Combo1.List(i) = Data1.Recordset("carrera") Then enlatabla = True Exit For End If Next i If Not enlatabla Then Combo1.AddItem Data1.Recordset("carrera") End If Data1.Recordset.MoveNext Wend End Sub d) El código de la caja de combo2 es: Private Sub Combo2_DropDown() On Error Resume Next Dim i As Long, enlatabla As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla = False For i = 0 To Combo2.ListCount - 1 If Combo2.List(i) = Data1.Recordset("turno") Then enlatabla = True Exit For End If Next i If Not enlatabla Then Combo2.AddItem Data1.Recordset("turno") End If Data1.Recordset.MoveNext Wend End Sub e) El código del botón Buscar es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where carrera like '" & Combo1.Text & "' and turno like '" & Combo2.Text & "'" Data1.Refresh Label3 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub 63 de 85
  • 64. Cómo crear una base de datos en Access con Visual Basic f) El código del botón Todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh Label3 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub g) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. h) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. Private Sub MSFlexGrid1_EnterCell() MSFlexGrid1.CellBackColor = &HFF& MSFlexGrid1.CellForeColor = &HFFFFFF MSFlexGrid1.CellFontBold = True End Sub Private Sub MSFlexGrid1_LeaveCell() MSFlexGrid1.CellBackColor = &HFFFFFF MSFlexGrid1.CellForeColor = &H0& MSFlexGrid1.CellFontBold = False End Sub Nota: Copia estos códigos en los eventos del MsFlexGrid y haz clic en cualquier celda. i) La etiqueta3 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario, el usuario selecionará de las cajas de combo1 y combo2 los campos de la tabla que servirán para hacer la búsqueda respectiva, al presionar el botón Buscar, los registros se mostrarán en el MSFlexGrid y la etiqueta3 mostrará la cantidad de registros mostrados. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 64 de 85
  • 65. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas7 Crea un formulario, con cuatro etiquetas, dos cajas de combo, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas7 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 Combo1.AddItem "Carrera" Combo1.AddItem "Turno" End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub 65 de 85
  • 66. Cómo crear una base de datos en Access con Visual Basic Private Sub Form_Activate() Data1.RecordSource = "alumnos" Data1.Refresh Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" Combo2.Clear End Sub b) El código del menú Volver a Opciones es: Private Sub volver_Click() Busquedas7.Hide Opciones.Show End Sub c) El código de la caja de combo1 es: Private Sub Combo1_Click() On Error Resume Next If Combo1.Text = "Carrera" Then Dim J As Long, enlatabla As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla = False For J = 0 To Combo2.ListCount - 1 If Combo2.List(J) = Data1.Recordset("carrera") Then enlatabla = True Exit For End If Next J If Not enlatabla Then Combo2.AddItem Data1.Recordset("carrera") End If Data1.Recordset.MoveNext Wend End If If Combo1.Text = "Turno" Then Dim a As Long, yaenlatabla As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF yaenlatabla = False For a = 0 To Combo2.ListCount - 1 If Combo2.List(a) = Data1.Recordset("turno") Then yaenlatabla = True Exit For End If 66 de 85
  • 67. Cómo crear una base de datos en Access con Visual Basic Next a If Not yaenlatabla Then Combo2.AddItem Data1.Recordset("turno") End If Data1.Recordset.MoveNext Wend End If End Sub d) El código del botón Buscar es: Private Sub Command1_Click() On Error Resume Next If Combo1.Text = "Carrera" And Combo2.Text <> "Selecciona" Then Data1.RecordSource = "select * from alumnos where carrera like '" & Combo2.Text & "'" Data1.Refresh Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.RecordCount = 0 Then MsgBox "Este Registro No Corresponde con el Campo que Seleccionaste" + vbCrLf + "Presiona el botón: 'Todos los Registros' y Selecciona Otro Campo", vbInformation, "¡Aviso Importante!" End If End If If Combo1.Text = "Turno" And Combo2.Text <> "Selecciona" Then Data1.RecordSource = "select * from alumnos where turno like '" & Combo2.Text & "'" Data1.Refresh Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.RecordCount = 0 Then MsgBox "Este Registro No Corresponde con el Campo que Seleccionaste" + vbCrLf + "Presiona el botón: 'Todos los Registros' y Selecciona Otro Campo", vbInformation, "¡Aviso Importante!" End If End If If Combo1 <> "" And Combo2 = "" Then MsgBox "Selecciona el Registro", vbInformation, "¡Aviso Importante!" End If End Sub e) El código del botón Todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" Combo2.Clear End Sub 67 de 85
  • 68. Cómo crear una base de datos en Access con Visual Basic f) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. g) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. h) La etiqueta4 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario, el usuario selecionará de la caja de combo1, el campo de la tabla dentro del cual se realizará la búsqueda y del combo2 el registro que servirá para hacer la búsqueda, al presionar el botón Buscar, los registros se mostrarán en el MSFlexGrid y la etiqueta4 mostrará la cantidad de registros mostrados. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. Selecciona la caja de combo1 y en su propiedad ToolTipText escribe: 1. Selecciona el Campo Selecciona la caja de combo2 y en su propiedad ToolTipText escribe: 2. Selecciona el Registro Selecciona el botón Buscar y en su propiedad ToolTipText escribe: 3. Realiza la Búsqueda Selecciona el botón Todos los Registros y en su propiedad ToolTipText escribe: 4. Presiona esta botón antes de cambiar de campo. 68 de 85
  • 69. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas8 Crea un formulario, con cuatro etiquetas, dos cajas de texto, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas8 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub Private Sub Form_Activate() Text1.SetFocus End Sub 69 de 85
  • 70. Cómo crear una base de datos en Access con Visual Basic b) El código del menú Volver a Opciones es: Private Sub volver_Click() Busquedas8.Hide Opciones.Show End Sub c) El código del botón Buscar es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where matricula between " & Val(Text1) & " And " & Val(Text2) & "" Data1.Refresh Label4 = "Total de Registros de la búsqueda: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.RecordCount = 0 Then MsgBox "No Hay Registros con estos Parámetros" + vbCrLf + "Por Favor Revisa tus Datos", vbInformation, "¡Aviso Importante!" End If Text1 = "" Text2 = "" Text1.SetFocus End Sub d) El código del botón Todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh Label4 = "Total de Registros de la búsqueda: " & (MSFlexGrid1.Rows) - 1 & "" Text1.SetFocus End Sub e) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. f) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. g) La etiqueta3 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario, el usuario podrá realizar búsquedas por rango del campo Matrículas, al presionar el botón Buscar, los registros se mostrarán en el MSFlexGrid y la etiqueta4 mostrará la cantidad de registros mostrados. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 70 de 85
  • 71. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas9 Crea un formulario, con dos etiquetas, dos cajas de texto, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas9 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub 71 de 85
  • 72. Cómo crear una base de datos en Access con Visual Basic b) El código del menú Volver a Opciones es: Private Sub volver_Click() Busquedas9.Hide Opciones.Show End Sub c) El código del Combo1 es: Private Sub Combo1_DropDown() On Error Resume Next Dim q As Long, enlatabla1 As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla1 = False For q = 0 To Combo1.ListCount - 1 If Combo1.List(q) = Data1.Recordset("carrera") Then enlatabla1 = True Exit For End If Next q If Not enlatabla1 Then Combo1.AddItem Data1.Recordset("carrera") End If Data1.Recordset.MoveNext Wend Dim k As Long, enlatabla2 As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla2 = False For k = 0 To Combo1.ListCount - 1 If Combo1.List(k) = Data1.Recordset("turno") Then enlatabla2 = True Exit For End If Next k If Not enlatabla2 Then Combo1.AddItem Data1.Recordset("turno") End If Data1.Recordset.MoveNext Wend End Sub 72 de 85
  • 73. Cómo crear una base de datos en Access con Visual Basic d) El código del botón Buscar es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where carrera like '" & Combo1.Text & "' or turno like '" & Combo1.Text & "'" Data1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.EOF Then MsgBox "Selecciona un Campo para ejecutar la Búsqueda", vbInformation, "Selecciona un Campo" Data1.RecordSource = "alumnos" Data1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End If End Sub e) El código del botón Todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub e) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. f) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 – flexSelectionByRow, también puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. g) La etiqueta2 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario, el usuario podrá realizar búsquedas por dos campos usando una sola caja de combo, em la cual se mostrarán los registros de los campos Carrera y Turno, al presionar el botón Buscar, los registros se mostrarán en el MSFlexGrid y la etiqueta2 mostrará la cantidad de registros mostrados. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 73 de 85
  • 74. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Búsquedas10 Crea un formulario, con dos etiquetas, un botón, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Búsquedas10 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 800 MSFlexGrid1.ColWidth(1) = 2400 MSFlexGrid1.ColWidth(2) = 2500 MSFlexGrid1.ColWidth(3) = 1000 Data1.RecordSource = "alumnos" Data1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub 74 de 85
  • 75. Cómo crear una base de datos en Access con Visual Basic b) El código del menú Volver a Opciones es: Private Sub volveraopciones_Click() Busquedas10.Hide Opciones.Show End Sub c) El código del botón Todos los Registros es: Private Sub Command1_Click() Data1.RecordSource = "alumnos" Data1.Refresh MSFlexGrid1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub d) El código del MSFlexGrid1 es: Private Sub MSFlexGrid1_DblClick() Modificar.Show End Sub Aquí nos damos cuenta que hay que crear un formulario al que llamaremos Modificar, el cual contendrá cuatro etiquetas, cuatro cajas de texto, las cuales formarán una matriz, para lo cual sencillamente copiamos la primera caja de texto y cuando Visual nos pregunte: Ya existe un control llamado ‘Text1’. ¿Desea crear una matriz de controles? Presionamos el botón Sí; un botón y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. e) El código del formulario Modificar es: En General declaramos la variable: Private a(4) As String 75 de 85
  • 76. Cómo crear una base de datos en Access con Visual Basic Private Sub Form_Load() Dim i As Integer With Busquedas10.MSFlexGrid1 For i = 0 To .Cols - 1 Text1(i).Text = .TextMatrix(.Row, i) a(i) = .TextMatrix(.Row, i) Next End With End Sub f) El código del botón Actualizar Registros es: Private Sub Command1_Click() Dim modificar As String modificar = "select * from alumnos where matricula=" & Val(Text1(0)) Data1.RecordSource = modificar Data1.Refresh Data1.Recordset.Edit Data1.Recordset!nombre = Text1(1) Data1.Recordset!carrera = Text1(2) Data1.Recordset!turno = Text1(3) Data1.Recordset.Update Busquedas10.MSFlexGrid1.Clear Unload Me End Sub g) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. h) La etiqueta2 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario Búsquedas10, el usuario podrá hacer doble clic en cualquier registro para editarlo de forma rápida en el formulario Modificar. Cuando de lleve a cabo la edición del registro, presionando el botón Todos los Registros, podremos ver el registro actualizado a nuestra conveniencia en el MSFlexGrid y la etiqueta2 mostrará la cantidad de registros mostrados. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 76 de 85
  • 77. Cómo crear una base de datos en Access con Visual Basic En esta parte del ejercicio vamos a realizar una búsqueda para contar la cantidad de registros que satisfagan cierta condición, por ejemplo: cuántos alumnos hay que están inscritos en cierta carrera, turno, etc. Para lo cual crea un formulario con cuatro etiquetas, cuatro cajas de texto, dos MSFlexGrid, un combobox, un botón y dos controles Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del combobox1 es: Private Sub Combo1_DropDown() On Error Resume Next Do Until Data2.Recordset.EOF Combo1.AddItem Data2.Recordset.Fields("carrera") Data2.Recordset.MoveNext Loop End Sub b) El código del botón Contar Carreras es: Private Sub Command1_Click() Data2.RecordSource = "select count(carrera) as carreras from alumnos where carrera = '" & Combo1 & "'" Data2.Refresh End Sub 77 de 85
  • 78. Cómo crear una base de datos en Access con Visual Basic c) Controles Data No olvides conectar los controles Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. d) Selecciona el objeto MSFlexGrid1, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 5, el MSFlexGrid2, debe ser conectado con el control Data2, modifica su propiedad Cols a 5, cambia su propiedad Rows a 2, opcionalmente puedes modificar sus propiedades de BackColor de la manera que más te agrade. Al iniciar el formulario Búsquedas11, el usuario podrá seleccionar una carrera de la caja de combo y al presionar el botón Contar Carreras, el MsFlexGrid2 mostrará la cantidad de registros que satisfagan la condición dada. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 78 de 85
  • 79. Cómo crear una base de datos en Access con Visual Basic Supongamos que queremos totalizar una columna, por motivos de la tabla que estamos usando sumaremos el total de matrículas. Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, dos MSFlexGrid, un botón y dos controles Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del botón La Suma de Matrículas es: Private Sub Command1_Click() Data2.RecordSource = "select sum(matricula) as suma from alumnos" Data2.Refresh End Sub 79 de 85
  • 80. Cómo crear una base de datos en Access con Visual Basic Enseguida veremos como emplear el control DTPicker para realizar búsquedas por fechas, para lo cual, en la tabla alumnos hay que agregar um campo que se llame fecha_inscripción, misma que usaremos para las consultas. Crea un formulario con 5 etiquetas y 5 cajas de texto (recuerda que agregamos el campo fecha_inscripcion a la tabla alumnos), incluye un MSFlexGrid, 3 etiquetas, 2 botones, un control Data y 2 DatePicker. Para agregar los DTPicker ve a Proyecto, Componentes, Controles, Microsoft Windows Common Controls-2 6.0, haz clic en Aplicar y Aceptar, y estará disponible en la caja de herramienta. De modo que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del botón Búsqueda por Fecha es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where fecha_inscripcion between #" & DTPicker1.Value & "# and #" & DTPicker2.Value & "#" Data1.Refresh Label6 = "Total de Registros de la búsqueda: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.RecordCount = 0 Then MsgBox "No Hay Registros con estos Parámetros" + vbCrLf + "Por Favor Revisa tus Datos", vbInformation, "¡Aviso Importante!" End If 80 de 85
  • 81. Cómo crear una base de datos en Access con Visual Basic End Sub b) El código del botón Ver todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh MSFlexGrid1.Refresh End Sub c) El código del formulario Búsquedas13 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 400 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2300 MSFlexGrid1.ColWidth(3) = 1400 MSFlexGrid1.ColWidth(4) = 900 MSFlexGrid1.ColWidth(5) = 1200 End Sub d) Control Data No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. e) Selecciona el objeto MSFlexGrid1, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de BackColor de la manera que más te agrade. Al iniciar el formulario Búsquedas13, el usuario podrá seleccionar fechas de los objetos DTPicker para realizar búsquedas al presionar el botón Búsquedas por Fecha, el MsFlexGrid1 mostrará la cantidad de registros que satisfagan la condición dada. 81 de 85
  • 82. Cómo crear una base de datos en Access con Visual Basic En parte del ejercicio, veremos algunas formas muy sencillas de imprimir el resultado de las consultas que se muestran em el MSFlexGrid, quiero mencionar que aunque pudieramos emplear un solo formulario, para los ejercicios, por cuestión de sencillez en la explicación usaremos más de uno. Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. Al igual que el ejercicio anterior, el formulario debe tener un menú con la opción Volver a Opciones. a) El código del formulario Impresión1 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 400 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2500 MSFlexGrid1.ColWidth(3) = 2000 MSFlexGrid1.ColWidth(4) = 1100 End Sub 82 de 85
  • 83. Cómo crear una base de datos en Access con Visual Basic Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "¡Aviso Importante!" End Sub b) El código del botón Ocultar Registros es: Private Sub Command1_Click() MSFlexGrid1.Clear End Sub c) El código del botón Mostrar Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh With MSFlexGrid1 For a = 1 To .Rows - 1 .Row = a For B = 1 To .Cols - 1 .Col = B .CellBackColor = IIf((a Mod 2) = 1, Val(&HC0FFFF), Val(&HC0FFC0)) .CellFontBold = True .CellForeColor = &HFF0000 Next B Next a End With End Sub d) El código del botón Imprimir Registros Seleccionados es: Private Sub Command3_Click() Printer.Print MSFlexGrid1.Clip Printer.EndDoc End Sub e) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. f) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de BackColor de la manera que más te agrade. Al iniciar el formulario Impresión1, el usuario podrá ver u ocultar los registros mostrados en el MSFlexGrid, y podrá imprimir los registros que haya seleccionado del MSFlexGrid. El Botón cerrar del formulario se deshabilita para forzar el uso del Menú. 83 de 85
  • 84. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Impresión2 Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. a) El código del botón Imprimir Formulario es: Private Sub Command3_Click() Impresion2.PrintForm Printer.EndDoc End Sub 84 de 85
  • 85. Cómo crear una base de datos en Access con Visual Basic Creando la pantalla de Impresión3 Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea más o menos como se ve abajo. a) El código del botón Imprimir Registros es: Private Sub Command3_Click() Printer.PaintPicture MSFlexGrid1.Picture, 0, 0 Printer.EndDoc End Sub Tutorial creado por: Lic. Jorge Alvarez S. Jkasa2003@yahoo.com.mx 85 de 85