Vous êtes sur la page 1sur 61

Cmo crear una base de datos en Access con Visual Basic

Introduccin
La combinacin de Microsoft Access y Microsoft Visual Basic nos proporciona una excelente herramienta
para la creacin 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 ms que bsicos de Visual
Basic, sin ms, manos a la obra.
Inicio de Visual Basic
a) Haz clic en el botn Inicio, seala 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.
Creacin de la base de datos
a) Haz clic en el botn Complementos de la barra de herramientas.
b) Haz clic en Administrador visual de datos

1 de 61

Cmo 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 versin 7.0

2 de 61

Cmo 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.

Nota: Tambin podemos crear la base de datos en Microsoft Office Access directamente.

3 de 61

Cmo crear una base de datos en Access con Visual Basic


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

4 de 61

Cmo crear una base de datos en Access con Visual Basic


Creacin de las tablas de la base de datos
a) Haz clic con el botn derecho del ratn dentro de la Ventana de base de datos y haz clic en Nueva
tabla.

5 de 61

Cmo 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 61

Cmo 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 sern:
- campo: matricula, tipo de datos: long, tamao: (automtico)
- campo: nombre, tipo de datos: texto, tamao: 50
- campo: carrera, tipo de datos: texto, tamao: 50
- campo: turno, tipo de datos: texto, tamao: 20
e) En Tamao: 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 Tamao) para cada campo que tendr la tabla.

7 de 61

Cmo crear una base de datos en Access con Visual Basic


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

8 de 61

Cmo crear una base de datos en Access con Visual Basic


h) Y la tabla la podrs 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 61

Cmo crear una base de datos en Access con Visual Basic


Introduciendo la informacin en las tablas
a) Haz clic con el botn derecho del ratn en la tabla recin creada de la base de datos y haz clic en
Abrir.

10 de 61

Cmo 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 informacin en los campos del primer registro.

c) Cuando termines de introducir la informacin 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 informacin para cada tabla de la base de datos.

11 de 61

Cmo 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, Matrcula, 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, dibjalo en el formulario para que
se vea ms o menos como se ve abajo.

12 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando la conexin 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 mostrarn 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 correctaque 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 botn de avance del control
Data se mostrarn 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 61

Cmo 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 ms te agrade.
4. Este es el cdigo 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 61

Cmo 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 61

Cmo crear una base de datos en Access con Visual Basic


a) Haz clic con el botn derecho del ratn sobre el formulario y haz clic en el Editor de mens

b) Y aparece la caja Editor de mens.

16 de 61

Cmo 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 botn Siguiente para crear otro men.
f) Haz clic en el botn con la flecha hacia la derecha y aparecern cuatro puntos, lo cual indica que el
siguiente rengln ser una opcin del men.
g) En Shortcut selecciona la combinacin de teclas que se podrn usar para activar la opcin de men
correspondiente.
h) Repite los pasos para crear cada opcin 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 cdigo para las opciones son:
a) Opcin Nuevo, el cual servir para crear un nuevo registro en la tabla, el cdigo es el siguiente:
Private Sub nuevo_Click ()
Data1.Recordset.AddNew
End Sub
P.D. Esta opcin debe presionarse antes de dar de alta un nuevo registro en la base de datos.
b) Opcin Guardar, el cual servir para guardar un nuevo registro en la tabla, el cdigo 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 opcin debe presionarse una vez que se haya completado la informacin del registro.
c) Opcin Buscar, el cual servir para buscar un registro en la tabla, el cdigo es el siguiente:
Private Sub buscar_Click()
Dim m As Long
m = Val(InputBox("Introduce la Matrcula que Buscas"))
Data1.Recordset.FindFirst "matricula=" & m
If Data1.Recordset.NoMatch Then
MsgBox "La Matrcula Nmero: " & m & " No est en la Base de Datos", vbExclamation, "Bsquedas de
Matrcula"
End If
End Sub

17 de 61

Cmo crear una base de datos en Access con Visual Basic


Nota: aqu declaramos una variable (m) que representar el nmero del registro (matricula) que estemos
buscando. Es de vital importancia de que te asegures de que en la lnea subrayada la palabra Matrcula
est escrita exactamente como llamaste el campo matricula al crear la tabla.
d) Opcin Eliminar, el cual servir para eliminar un registro de la tabla, el cdigo es el siguiente:
Private Sub Eliminar_Click()
If MsgBox("Quieres Eliminar la Matrcula Nmero: " & Text1 & "?", 16 + 4) = 6 Then
Data1.Recordset.Delete
Data1.Refresh
Text1.SetFocus
MsgBox "Se Elimin la Matrcula", vbCritical, "Aviso Importante"
Else
MsgBox "No se Elimin la Matrcula Nmero: " & Text1, vbExclamation, "Aviso Importante"
End If
End Sub
Ahora corre tu programa con la tecla F5 dirgete al formulario y ahora podrs agregar, guardar, buscar y
eliminar registros de la tabla Alumnos de la base de datos de Access mediante Visual Basic.

18 de 61

Cmo 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 botn 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 ttulo.

19 de 61

Cmo crear una base de datos en Access con Visual Basic


Nota: En caso de que no se halle disponible la opcin Agregar Data Environment en el men Proyecto,
hay que activarla desde Proyecto, Componentes, Diseadores y hacer clic en Data Environment y otro
clic en Aceptar.

20 de 61

Cmo crear una base de datos en Access con Visual Basic


d) En la ventana aparece un pequeo icono de un reporte al cual puedes cambiarle el nombre fcilmente
seleccionndolo y modificando su propiedad (Name) por otro como Reportes, etc.

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

21 de 61

Cmo crear una base de datos en Access con Visual Basic


f) Ahora haz clic con el botn derecho del ratn sobre la Connection1 (ahora llamada Alumnos) y haz
clic en Propiedades
g) Y aparecer la caja Propiedades de vnculo de datos, haz clic en la opcin Conexin.

22 de 61

Cmo crear una base de datos en Access con Visual Basic


h) Haz clic en: Usar la cadena de conexin y haz clic en Generar

23 de 61

Cmo crear una base de datos en Access con Visual Basic


i) Y aparecer la caja Seleccionar origen de datos, haz clic en la opcin 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 61

Cmo crear una base de datos en Access con Visual Basic


k) Y aparecer la caja Conexin, haz clic en el botn 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, seleccinala y haz clic en Aceptar.

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

25 de 61

Cmo crear una base de datos en Access con Visual Basic


n) Y se mostrar la caja Propiedades de vnculo de datos, mostrando en la caja de texto Cadena de
conexin bajo la opcin Usar la cadena de conexin la ruta de la base de datos que hemos
conectado, para finalizar la conexin haz clic en Aceptar.

o) Y volveremos al Entorno de Datos.

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

26 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando un comando
a) Haz clic con el botn derecho del ratn sobre la conexin (Alumnos) que creamos previamente y haz
clic en Agregar comando.

27 de 61

Cmo 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 identificacin llamaremos el Command1 Repalumnos, ya que nos ser til para
identificar el reporte de alumnos.

28 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando las propiedades del reporte
a) Haz clic con el botn derecho del ratn 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 Conexin que es Alumnos.

29 de 61

Cmo crear una base de datos en Access con Visual Basic


b) En la seccin 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 opcin 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 slo haz clic en Aceptar.

30 de 61

Cmo crear una base de datos en Access con Visual Basic


e) Y se mostrar un pequeo cuadro con un signo de ms en su interior, al lado izquierdo del comando
Repalumnos, haz clic ah y podrs ver los campos de la tabla Alumnos que seleccionaste
previamente, todo indica que nuestra conexin se realiz exitosamente.

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

31 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando la estructura del reporte
a) En Visual Basic haz clic en el botn 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 opcin Agregar Data Report en el men Proyecto, hay que
activarla desde Proyecto, Componentes, Diseadores y hacer clic en Data Report y otro clic en Aceptar.

32 de 61

Cmo 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 (Seccin4) y modifica
su propiedad Caption con el ttulo que tendr el reporte.
Nota: puedes ajustar la altura de las diferentes secciones del Data Report mediante colocar el
apuntador del ratn en el limite inferior de cada seccin, presionar el botn izquierdo del ratn y
sencillamente moverlo hacia arriba o hacia abajo segn sea el caso.

b) Ahora haz clic en RptLabel y coloca etiquetas con los ttulos de los encabezados de la tabla en
Encabezado de pgina (Seccin2) modificando sus propiedades Caption, Font, ForeColor, etc. a tu
gusto.
c) Ahora haz clic en RptTextBox y coloca cajas de texto en Detalle (Seccin1).
d) Al terminar de colocar las cajas de texto que muestran el texto: No enlazado, haz clic en cualquier
parte vaca 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 61

Cmo 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 ms o menos as.

34 de 61

Cmo 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 botn derecho del ratn en el formulario y haz clic en Editor de mens
b) Crea el men Reportes con la opcin Alumnos.

35 de 61

Cmo crear una base de datos en Access con Visual Basic


c) Para que se vea as

36 de 61

Cmo crear una base de datos en Access con Visual Basic


Conectando el men con el reporte
Ahora vamos a conectar la opcin del men Reportes con el reporte que creamos previamente
a) Haz clic en Reportes, Alumnos y escribe el siguiente cdigo:
Private Sub reportedealumnos_Click()
DataReport1.Show
End Sub
b) Ejecuta el programa y haz clic en la opcin 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 segn tus necesidades particulares.
Puedes crear una base de datos con varias tablas, diferentes formularios y diferentes reportes segn prefieras,
sinceramente espero que haya sido de tu inters el ejercicio y sirva para que te adentres en el mundo de la
programacin y las bases de datos.

37 de 61

Cmo 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, tambin se crear la opcin
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 registrarn los usuarios que quieran entrar el programa.

Creando una pantalla de inicio


a) Haz clic en Proyecto, Agregar formulario.
b) En la caja de dilogo Agregar formulario, opcin Nuevo, selecciona el icono Pantalla de inicio y
haz clic en Abrir.
Para el propsito del ejercicio slo conserva dos etiquetas que nos sern de utilidad as como la grfica,
selecciona el resto de las etiquetas y presiona el botn Suprimir para eliminarlas. Modifica las etiquetas,
cambia la grfica por la que prefieras, y agrega un reloj a la pantalla de inicio para que se vea ms 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 61

Cmo crear una base de datos en Access con Visual Basic


b) Haz doble clic en el reloj y escribe el siguiente cdigo:
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 dilogo, Propiedades del
proyecto.
d) En la opcin 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 ms o menos como se ve abajo.

a) El cdigo del botn Registrarse es:


Private Sub Command1_Click()
Bienvenida.Hide
Registro.Show
End Sub
Cuya funcin es la de ocultar el formulario de Bienvenida y mostrar el formulario de Registro.

39 de 61

Cmo crear una base de datos en Access con Visual Basic


b) El cdigo del botn Entrar es:
Private Sub Command2_Click()
Bienvenida.Hide
Entrada.Show
End Sub
Cuya funcin es la de ocultar el formulario de Bienvenida y mostrar el formulario de Entrada.
c) El cdigo del botn Cancelar es:
Private Sub Command3_Click()
Unload Me
End
End Sub
Cuya funcin 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 ms o menos como
se ve abajo.

40 de 61

Cmo crear una base de datos en Access con Visual Basic


a) El cdigo del botn 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 & ", Cmo 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, "Atencin,
Usuario No Autorizado!!!")
If (mensaje = 1) Then
Entrada.Show
Text1 = ""
Text2 = ""
Else
End
End If
End Sub
Cuya funcin es asegurarse de que el nombre de usuario y contrasea 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 61

Cmo crear una base de datos en Access con Visual Basic


b) El cdigo del botn Salir del programa es:
Private Sub Command2_Click()
End
End Sub
Cuya funcin es la de cerrar el programa.
c) Escribe el siguiente cdigo en el evento Activate del formulario
Private Sub Form_Activate()
Text1.SetFocus
End Sub
Cuya funcin es la de colocar el cursor en la caja de texto 1 al cargar el formulario
d) Escribe el siguiente cdigo 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 funcin 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 ms o menos como se ve abajo.

42 de 61

Cmo crear una base de datos en Access con Visual Basic


a) El cdigo del botn 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 funcin es la de guardar en la tabla de usuarios al nuevo usuario.
b) El cdigo del botn Salir del programa es:
Private Sub Command2_Click()
End
End Sub
Cuya funcin es la de cerrar el programa.
c) Escribe el siguiente cdigo en el evento Activate del formulario
Private Sub Form_Activate()
Data1.Recordset.AddNew
End Sub
Cuya funcin es la de preparar el agregar al usuario nuevo.
d) Escribe el siguiente cdigo 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 funcin 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 captulo: Creacin de las tablas de la base de datos, detallada pginas arriba.

43 de 61

Cmo 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 tamao 50, tal
como se ve en la caja Estructura de la tabla mostrada abajo.

44 de 61

Cmo 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 recin creada y siguiendo el procedimiento pginas mostrado arriba, registra un nico
usuario, preferentemente t nombre y como contrasea nuevamente t nombre, esto por motivos de
prueba.

45 de 61

Cmo 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 botn
Entrar, debe mostrarse la pantalla de Entrada y si se presiona el botn 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 electrnicos recibidos de tanta gente, como siempre estoy
a la orden para sugerencias y recomendaciones.

46 de 61

Cmo crear una base de datos en Access con Visual Basic


En esta tercera parte del ejercicio, vamos a realizar algunas bsquedas y consultas, as como ordenar los
datos en forma ascendente y descendente, tambin moveremos registros del MSFlexGrid a otros objetos, de
tal manera que vamos a crear:
a)
b)
c)
d)
e)

Una pantalla para realizar bsquedas por: Matrcula, Carrera y Turno.


Una pantalla para efectuar bsquedas de Matrcula usando una caja de combo.
Una Pantalla para ordenar todos los registros en forma ascendente y descendente.
Una pantalla para mover datos del MSFlexGrid a cajas de texto.
Una pantalla para trasferir datos del MSFlexGrid a cajas de lista.

Para el propsito 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 bsqueda antes
mencionadas, por cuestiones de fcil identificacin las llam como se ven en la pantalla. El formulario
contiene al medio un objeto Picture conteniendo una ilustracin.

47 de 61

Cmo 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 dilogo Componentes, Controles, selecciona la opcin 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 botn derecho del ratn en el objeto StatusBar y haz clic en Propiedades.

48 de 61

Cmo crear una base de datos en Access con Visual Basic


Para que se muestre la caja de dilogo Pginas de propiedades.

En la caja de dilogo Pginas de propiedades, opcin Paneles, haz clic en el botn 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 activacin de la tecla de Maysculas.
Podrs ver los paneles insertados mediante hacer clic en las flechas izquierda y derecha de la opcin Index.
Los paneles deben mostrar en la opcin Style: 5 sbrTime, 6 sbrDate y 1 sbrCaps respectivamente para que
se vea como la ilustracin del formulario opciones mostrada arriba. Puedes experimentar con las otras
opciones a tu gusto.

49 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando la pantalla de Bsquedas1
Crea un formulario, con un frame, tres botones de opcin, 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 ms o
menos como se ve abajo.

El formulario debe tener un men con la opcin Volver a Opciones como se muestra abajo.

50 de 61

Cmo crear una base de datos en Access con Visual Basic


a) El cdigo del formulario Bsquedas1 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 cdigo del men Volver a Opciones es:
Private Sub volveraopciones_Click()
Busquedas1.Hide
Opciones.Show
End Sub
c) El cdigo de los botones de opcin es:
Private Sub Option1_Click()
If Option1 = True Then
Label2.Visible = True
Label2.Caption = "Introduce la Matrcula 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 61

Cmo 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 cdigo del botn 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 Matrcula: " & Val(Text1) & ", No est en la Base de Datos", vbExclamation, "Por Favor
Revisa el Nmero de la Matrcula!"
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 61

Cmo 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 cdigo del botn Ver Todos los Registros es:
Private Sub Command2_Click()
Text1 = ""
Data1.RecordSource = "alumnos"
Data1.Refresh
Label1 = "Total de Registros de la bsqueda: " & (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, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.
h) Las etiquetas1 y 2, deben estar vacas y con su propiedad AutoSize a True, una de ellas colcala 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, hasta que el usuario haga un clic en
el botn de opcin deseado. Al introducir la informacin requerida y hacer clic en el botn Buscar se
mostrar el o los registros y la otra etiqueta indicando el nmero de registros hallados, al presionar el botn
Ver Todos los Registros se mostrarn todos los registros de la tabla Alumnos. El Botn cerrar del
formulario se deshabilita para forzar el uso del Men.

53 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando la pantalla de Bsquedas2
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 ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones.
a) El cdigo del formulario Bsquedas2 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 cdigo del men Volver a Opciones es:
Private Sub volveraopciones_Click()
Busquedas2.Hide
Opciones.Show
End Sub

54 de 61

Cmo crear una base de datos en Access con Visual Basic


c) El cdigo 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 cdigo del botn Buscar es:
Private Sub Command1_Click()
Data1.RecordSource = "select * from alumnos where matricula =" & Val(Combo1.Text)
Data1.Refresh
Combo1.Text = ""
End Sub
e) El cdigo del botn 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, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.
h) ComboBox su propiedad Text cambiala a Matrculas.
Al iniciar el formulario, el usuario seleccionar de la caja de combo la matrcula que busca, y al presionar el
botn Buscar, la matrcula deseada se le mostrar. Al presionar el botn Ver Todos, se mostrarn todos los
registros de la tabla Alumnos. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

55 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando la pantalla de Bsquedas3
Crea un formulario, con una etiqueta, un Frame, cuatro botones de opcin, dos botones, un MSFlexGrid y un
control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve
abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones.
a) El cdigo del formulario Bsquedas3 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 cdigo del men Volver a Opciones es:
Private Sub volver_Click()
Busquedas3.Hide
Opciones.Show
End Sub
56 de 61

Cmo crear una base de datos en Access con Visual Basic


c) El cdigo del botn 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 cdigo del botn 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, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y
ForeColorSel.
Al iniciar el formulario, el usuario seleccionar el botn de opcin que necesite para elegir el campo
necesario y presionar el botn Ascendente o Descendente para elegir el orden de los datos de la tabla
Alumnos. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.
57 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando la pantalla de Bsquedas4
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 ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones.
a) El cdigo del formulario Bsquedas4 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 cdigo del men Volver a Opciones es:
Private Sub volver_Click()
Busquedas4.Hide
Opciones.Show
End Sub
58 de 61

Cmo crear una base de datos en Access con Visual Basic


c) El cdigo 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, tambin 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 Botn cerrar del formulario se deshabilita para forzar el uso del Men.

59 de 61

Cmo crear una base de datos en Access con Visual Basic


Creando la pantalla de Bsquedas5
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 ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones.
a) El cdigo del formulario Bsquedas5 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 cdigo del men Volver a Opciones es:
Private Sub volver_Click()
Busquedas4.Hide
Opciones.Show
End Sub
60 de 61

Cmo crear una base de datos en Access con Visual Basic


c) El cdigo 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, tambin 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, guardarn ms de um registro a la vez. El Botn
cerrar del formulario se deshabilita para forzar el uso del Men.
Cualquier duda o sugerencia para mejorar este tutorial es y ser siempre bienvenida, gracias!

Tutorial creado por:


Lic. Jorge Alvarez S.
Jkasa2003@yahoo.com.mx
61 de 61

Vous aimerez peut-être aussi