Você está na página 1de 26

Base de Datos con Visual Basic 6.

0
(Access) [Parte 1]
Base de Datos con Visual Basic 6.0 (Access) [Método CRUD] [PARTE 1]

Antes de meternos de lleno en la programación, es fundamental que tengamos en cuenta


algunos conceptos claves.

¿Que es una Base de Datos?: Es un “almacén” que nos permite guardar grandes
cantidades de información de forma organizada para que luego podamos encontrar y utilizar
fácilmente.

Tipos de Campos

Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o
diferentes. Entre los más comunes podemos nombrar:

1) Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin
decimales” y reales “decimales”.

2) Booleanos: Poseen dos estados: Verdadero “Si” y Falso “No”.

3) Memos: Son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no


poder ser indexados.

4) Fechas: Almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de


esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.

5) Alfanuméricos: Contienen cifras y letras. Presentan una longitud limitada (255


caracteres).

6) Autoincrementables: Son campos numéricos enteros que incrementan en una unidad su


valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan
exclusivos de un registro.

Tipos de Base de Datos


Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:

1) MySql: Es una base de datos con licencia GPL basada en un servidor. Se caracteriza por
su rapidez. No es recomendable usar para grandes volúmenes de datos.

2) PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien
grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.
3) Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser
creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada.

4) Microsoft SQL Server: Es una base de datos más potente que access desarrollada
por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.

Modelo entidad-relación

Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram


Entity relationship”) son una herramienta para el modelado de datos de un sistema de
información. Estos modelos expresan entidades relevantes para un sistema de información,
sus inter-relaciones y propiedades.
Cardinalidad de las Relaciones

El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:

1) Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente
una de la entidad B.

2) Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias


instancias de la entidad B.
3) Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con
cualquier instancia de la entidad B.

Fuente de la información: http://www.maestrosdelweb.com/editorial/%C2%BFque-son-las-


bases-de-datos/

¿Que es CRUD?: Son las iniciales de Create, Read, Update and Delete (Que en español
significa: Crear, Obtener, Actualizar y Borrar), lo cual se refiere a las funciones básicas de
Base de Datos, en algunos lugares, se utilizan las siglas ABM para lo mismo (Alta, Baja y
Modificación), obviando la operación de Obtener; el acrónimo ABC para Altas, Bajas y
Cambios; ABML siendo la última letra (L) de Listar, Listado o Lectura; o ABMC siendo la C de
Consulta.

También es usado el ABCDEF : Agregar, Buscar, Cambiar, Desplegar(Listar), Eliminar,


Fichar(Ficha, Cédula o Reporte de un registro).

Les daré varios ejemplos, del uso del CRUD, para que tengan una idea, del uso a diario de
este método sin darnos cuenta en las herramientas digitales:

1) Facebook utiliza el método CRUD


2) Google+ (La red social de Google) y Gmail (Correo electrónico de Google) utiliza el método
CRUD
3) En los programas de Facturación para empresas utilizan el método CRUD.
4) En Microsoft Word tambien utiliza el método CRUD a pesar de que no guarda determinados
datos, puedes guardar información completa de una página web o de un libro, o empezar a
eleborar tu trabajo.
5) Hotmail utiliza el método CRUD

y hay una infinidad de páginas web y programas que utilizan el Método CRUD, lo cual más
adelante crearemos nuestro programa utilizando el método CRUD.

Fuente: http://es.wikipedia.org/wiki/CRUD

Ya que tenemos claro algunos conceptos que son fundamentales, comenzaremos de lleno en
la parte de la programación.

En este tutorial aprenderemos a conectar Base de Datos con Access, lo cual crearemos
opciones de Nuevo, Modificar, Guardar, Eliminar, Cancelar y Salir. Comenzemos:

Primero crearemos en el escritorio una carpeta que tenga por nombre MVC VB 6.0 (Como se
ve en la imagen)

Dentro de la carpeta MVC VB 6.0 crearemos cinco (5) carpetas que tengan por nombre:
BaseDeDatos, Controlador, Modelo y Vista. Donde:

1) La carpeta "BaseDeDatos": Contendrá el archivo *.mdb, creado en el programa Access que


será que respaldaremo la BaseDeDatos.mdb, porque vamos a hacer una copia de ese mismo
archivo y copiarlo en la Sub-Carpeta: Principal.
2) La carpeta "Controlador": Contendrá el archivo *.bas, creado en el mismo programa Visual
Basic 6.0

3) La carpeta "Modelo": Contendrá también archivos *.bas, creado en el mismo programa


Visual Basic 6.0

4) La carpeta "Vista": Contendrá archivos *.frm, creado en el mismo programa Visual Basic
6.0

5) La carpeta "Principal": Contendrá un archivo *.vbp, creado en el mismo programa Visual


Basic 6.0

¿Que son esas extensiones mencionado anteriormente?

1) *.mdb: La extensión .mdb es un archivo creado por el programa ofimático Microsoft Access,
lo cual se crean base de datos.

2) *.bas: La extensión .bas es un archivo creado por el programa Visual Basic 6.0, lo cual
agrega dentro de nuestro programa un Módulo

3) *.frm: La extensión .frm es el archivo fundamental que crea el programa Visual Basic 6.0,
donde nosotros vemos la parte gráfica, con que si los textbox, checkbox, lisbox, labels,
CommandButton, etc, etc..

4) *.vbp: La extensión .vbp, el el archivo raíz donde podemos acceder al codigo fuente y a la
parte gráfica.

Primero abrimos Visual Basic 6.0 y creamos un EXE estándar:

Luego creamos los siguientes botones y cajas de textos con sus respectivos Labels:

Creamos:

1) 5 Labels
2) 5 TextBox
3) 7 CommandButton
4) 1 DataGrid (Más adelante veremos cómo se agrega un DataGrid (En español: Red de
Datos))
5) 1 ADODC ó ADO (Más adelante veremos cómo se agrega un ADODC o ADO (Es uno de
los mecanismos que usan los programas de computadoras para comunicarse con las bases
de datos, darles órdenes y obtener resultados de ellas.))

Tendrá los siguientes botones:

1) Nuevo
2) Modificar
3) Grabar
4) Eliminar
5) Buscar
6) Salir
7) Cancelar

Por ahora debe quedarte así:

Bien ahora debemos agregar lo más importante, para poder visualizar los datos ingresados; el
DataGrid (Mencionado anteriormente):

Hagamos lo siguiente le damos Click derecho en la barra donde agregamos los eventos
(Cómo se ve en las siguientes) y le damos Click donde dice Componentes y te mostrará el
siguiente cuadro:
Ahora, buscaremos en el mismo cuadro de ventanas de Componentes, y buscar el
componente: "Microsoft DataGrid Control 6.0 (OLEDB)", lo cual agrega DataGrid. (NOTA: No
cambiar la pestaña Controles dejala seleccionado, porque si elijes la pestaña Diseñadores o
Objetos insertados, no encontrarás el Componente DataGrid 6.0), Y hacer lo que la imagen
muestra:

Ahora elegir el DataGrid ya creado, y agregarlo en el formulario:

Agregamos, el DataGrid como si fuera el evento tradicional en VB 6.0 (Eventos en TextBox,


CommandButton, Labels, etc...) en el formulario:
NOTA: No vayas a cerrar Visual Basic 6.0, para no perder el formulario creado

Ahora creamos la Base de Datos, si tienes Microsoft Access 2010 te enseñaré una forma de
crear la base de datos con extensión .mdb, porque por defecto crear la base de datos con
extensión .accdb. (Bien si no sabes crear Base De Datos y Tablas en Access en Youtube ahí
suficientes Videoturiales para saber crear la Base de Datos y sus respectivas Tablas, si lo
sabes hacer puedes continuar en el Tutorial)

Ingresamos en Microsoft Access 2010, ahora harás lo siguiente

1) Dale Click al icono que es una minicarpeta y te abrirá una ventana emergente y abajo de la
ventana emergente y le das Click donde dice Tipo y eliges Base de Datos de Microsoft Access
(Formato 2002-2003) (*.mdb) y lo guardas en la carpeta en MVC VB 6.0 y en las Sub-
Carpetas en BaseDeDatos y Principal y le ponemos por nombre BaseDeDatos. Como se
muestra en la imagen:

Has una copia del archivo BaseDeDatos.mdb y copialo en la Sub-Carpeta Principal

Ahora después de haber hecho estos pasos guiandose en las imágenes, haras el paso final
para crear la base de datos en la carpeta elegida, le das click en el botón Crear. (Ver la
imágenes)
Ahora Crea una Tabla con nombre Contacto, con los 5 campos que tenga por nombre:
Nombre, Apellido, Telefono, Email y FechaDeNacimiento.

Ahora nos vamos en el Visual Basic 6.0 con el formulario creado, y crearemos un Módulo.

¿Que es Módulo?: Los módulos en programación se utilizan con la finalidad de hacer más
sencilla la codificación y menos extenso el tamaño de cada archivo que compone el sistema.
Además, un sistema muchas veces no realiza un sólo tipo de operaciones, por lo que hay que
programar sus diferentes partes de manera que puedan operar de forma independiente. Esto
facilita el desarrollo, la implantación y las pruebas. Una vez el sistema esté en funcionamiento
si alguna parte del programa llegara a dar errores, se corrige el módulo al cual esta parte
pertenece sin afectar al resto del sistema.

Haz lo siguiente, le das click derecho Donde dice Proyecto1 (Proyecto1), luego te sale una
ventana emergente, acercas el cursor donde dice Agregar y despues le das click en Módulo
(Como se ve en la imágenes)

Al darle click te saldrá una ventana lo cual te dejará crear el módulo, le das click en Abir.
Y se crea el módulo.

Ahora guardemos el formulario creado de la siguiente manera:

1) Dale click en el icono que aparece como un Disquete

2) El archivo Module1.bas en la subcarpeta Controlador


3) El archivo Form1.frm lo guardamos en la carpeta Vista

4) El archivo Proyecto1.vbp lo guardamos en la carpeta Principal

Listo ya estamos a lo seguro, tenemos guardado nuestro proyecto, ahora si podemos


comenzar a programar nuestro programa.

Ahora en dentro del formulario hacemos lo mismo que hicimos al agregar el DataGrid,
darle click derecho en la barra de eventos a agregar, te saldrá un cuadro emergente, le
das click en componentes y buscas "Microsoft ADO Data Control 6.0"
Y lo agregamos en cualquier lugar del formulario en este caso yo lo agregaré en este lugar
como muestra la imagen:
Base de Datos con Visual Basic 6.0 (Access)
[Método CRUD] [Parte 2
]

Ir al tutorial [Parte 1] de Base de Datos con Visual Basic 6.0 (Access) [Método CRUD],
para entender la Parte 2

Fuente: http://www.taringa.net/posts/hazlo-tu-mismo/17155364/Base-de-Datos-con-Visual-
Basic-6-0-Access-PARTE-1.html

Doble click al Modulo que tiene por nombre Module1

Y agrega el siguiente código:

[color=#000000]'Esta variable nos ayuda a conectarnos a la Base de Da


tos creado con Access
Global Base As New ADODB.Connection
'Esta variable nos ayuda a abrir la Tabla cons us respectivos campos
'Nos Facilitará Agregar, Modificar, Eliminar y Buscar los datos
Global Contacto As New ADODB.Recordset

'Ahora Conectamos
Sub main()
With Base
.CursorLocation = adUseClient
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.
Path & "BaseDeDatos.mdb;Persist Security Info=False"
End With
End Sub
'Esta función nos ayuda a mostrar los campos de la Tabla Contacto en
el DataGrid Creado
'En el formulario
Sub Contactos()
'Contacto es la Variable "Global Contacto As New ADODB.Recordset
"
With Contacto
If .State = 1 Then .Close
.Open "SELECT * FROM Contacto", Base, adOpenStatic, adL
ockOptimistic
End With
End Sub
[/color]

Ya tenemos nuestro controlador listo, ahora vamos a nuestro formulario Form1


Ahora que abrimos nuestro formulario, darle doble click al Formulario

Antes de entrar en la parte de programación vamos a deshabilitar algunas opciones del


DataGrid, darle click derecho al DataGrid1 y click izquierdo a la opción propiedades, y te
saldrá la siguiente ventana:
Te saldra una ventana lo cual tendras que desactivar las siguientes opciones:

AllowAddNew
AllowDelete
AllowUpdate

Como se ve en la imagen
Darle click en Aplicar y luego click en Aceptar

Darle doble click al formulario, no darle doble click a los


Labels, TextBox, CommandButton, DataGrid y el ADODC1, solamente darle doble click al
formulario, si le das doble click al fomulario te saldrá el siguiente código

[color=#000000]
Private Sub Form_Load()

End Sub
[/color]
Y dentro de la sintaxis copiar y pegar el siguiente código
[color=#000000]
'Estos son los procedimientos Sub creado en el Module1.bas
main
Contactos
'Esta sentencia es para mostrar los campos de la Tabla Contacto
'En el DataGrid
'Si no lo agregas no mostrará en el DataGrid los campos de la Tabl
a Contacto
'De la Base de Datos Access "BaseDeDatos.mdb"
Set DataGrid1.DataSource = Contacto

'Llamamos el procedimiento Sub HabilitarC


ajas()
HabilitarCajas True

'En HabilitarBotones True es Habilitar y


False es Deshabilitar
HabilitarBotones True, False
[/color]
Debe quedarte así
[color=#000000]
Private Sub Form_Load()
'Estos son los procedimientos Sub creado en el Module1.bas
main
Contactos
'Esta sentencia es para mostrar los campos de la Tabla Contacto
'En el DataGrid
'Si no lo agregas no mostrará en el DataGrid los campos de la Tabl
a Contacto
'De la Base de Datos Access "BaseDeDatos.mdb"
Set DataGrid1.DataSource = Contacto
End Sub
[/color]
Arriba de Private Sub Form_Load(), copia y pega el siguiente código
[color=#000000]
'Si le das click al boton Modificar
'Es True
Dim Modificar As Boolean
Dim CodigoDelContacto As Integer
Dim BuscarContacto As String
[/color]

Abajo de End Sub de Private Sub Form_Load(), copia y pega los siguientes códigos:

[color=#000000]
Public Sub HabilitarCajas(Estado As Boolean)
Text1.Locked = Estado
Text2.Locked = Estado
Text3.Locked = Estado
Text4.Locked = Estado
Text5.Locked = Estado
End Sub

Public Sub HabilitarBotones(Habilitado As Boolean, Deshabilitado As B


oolean)
'Boton "Nuevo"
Command1.Enabled = Habilitado
'Boton "Modificar"
Command2.Enabled = Habilitado
'Boton "Grabar"
Command3.Enabled = Deshabilitado
'Boton "Eliminar"
Command4.Enabled = Habilitado
'Boton "Cancelar"
Command5.Enabled = Deshabilitado
'Boton "Buscar"
Command6.Enabled = Habilitado

End Sub

Sub Limpiar()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text1.SetFocus
End Sub
[/color]

Ahora le das doble Click al botón "Nuevo", y copia el siguiente código:


[color=#000000]
Private Sub Command1_Click()
'Habilitamos las Cajas con el procedimiento Sub HabilitarCajas() con
False
HabilitarCajas False
'Limpiamos Cajas de Textos
Limpiar
'Usamos la variable global Modificar en False
Modificar = False
'En HabilitarBotones False es Habilitar y True es Des
habilitar
HabilitarBotones False, True
End Sub
[/color]
Ahora le das doble Click al botón "Modificar", y copia el siguiente código:
[color=#000000]
Private Sub Command2_Click()
'Habilitamos las Cajas con el procedimiento Sub HabilitarCajas() con
False
HabilitarCajas False
'Limpiamos Cajas de Textos
'Usamos la variable global Modi en False
Modificar = True
'En HabilitarBotones False es Habilitar y True es Des
habilitar
HabilitarBotones False, True
End Sub
[/color]
Ahora le das doble Click al botón "Grabar", y copia el siguiente código:
[color=#000000]
Private Sub Command3_Click()
'Validamos las cajas de textos
If Text1.Text = "" Then MsgBox "No has ingresado el Nombre", vbInf
ormation, "Aviso": Text1.SetFocus: Exit Sub
If Text2.Text = "" Then MsgBox "No has ingresado el Apellido",
vbInformation, "Aviso": Text2.SetFocus: Exit Sub
If Text3.Text = "" Then MsgBox "No has ingresado el Telefon
o", vbInformation, "Aviso": Text3.SetFocus: Exit Sub
If Text4.Text = "" Then MsgBox "No has ingresado el Corr
eo Electrónico", vbInformation, "Aviso": Text4.SetFocus: Exit Sub
If Text5.Text = "" Then MsgBox "No has ingresado la F
echa de Nacimiento", vbInformation, "Aviso": Text5.SetFocus: Exit Sub
'Si le diste click al boton "Nuevo" Hacer
If Modificar = False Then
With Contacto
.Requery
.AddNew
!Nombre = Text1.Text
!Apellido = Text2.Text
!Telefono = Text3.Text
!Email = Text4.Text
!FechaDeNacimiento = Text5.Text
.Update
.Requery
End With
'Si le diste click al boton "Modificar" Hacer
Else
With Contacto
.Requery
.Find "id='" & Val(CodigoDelContac
to) & "'"
'Si Existe el contacto elegido
!Nombre = Text1.Text
!Apellido = Text2.Text
!Telefono = Text3.Text
!Email = Text4.Text
!FechaDeNacimiento = Text5.Text
.UpdateBatch
.Requery
End With
End If
Limpiar
'Habilito Cajas
HabilitarCajas True
'Habilito Botones
HabilitarBotones True, False
End Sub
[/color]
Ahora le das doble Click al botón "Eliminar", y copia el siguiente código:
[color=#000000]
Private Sub Command4_Click()
If CodigoDelContacto = 0 Then
MsgBox "Elija el Contacto", vbInformation, "AVISO"
Exit Sub
Else
With Contacto
.Find "id='" & Trim(CodigoDelContacto) & "'"
'Si no encontró el registro
If .EOF Then
MsgBox "No se encontró el contacto", vbInformation, "No
se encontro"
Exit Sub
Else
If MsgBox("¿Desea eliminar el contacto: " & DataGr
id1.Columns(1) & "?", vbInformation + vbYesNo) = vbYes Then
.Delete
.Requery
'Esto evita si quiero eliminar un registro y lo
vuelvo eliminar no me permitira a hacerlo
CodigoDelContacto = 0
End If
End If
End With
End If
End Sub
[/color]
Ahora le das doble Click al botón "Cancelar", y copia el siguiente código:
[color=#000000]
Private Sub Command5_Click()
'En HabilitarBotones True es Habilitar y False es Deshabilitar
HabilitarBotones True, False
'Llamamos el procedimiento Sub HabilitarCajas()
Limpiar
HabilitarCajas True
End Sub
[/color]
Ahora le das doble Click al botón "Buscar", y copia el siguiente código:
[color=#000000]
Private Sub Command6_Click()
BuscarContacto = InputBox("Ingrese el nombre del Contacto", "BUSCANDO
CONTACTO", "Ingrese el nombre del Contacto";)
If BuscarContacto = "" Then
MsgBox "No has ingresado el nombre del Contacto", vbInformation,
"AVISO"

Else
'Si ingresaste el cliente
With Contacto
.Requery
.Find "Nombre='" & Trim(BuscarContacto) & "'"
If .EOF Then
MsgBox "No se encontro el Contacto: " & BuscarContac
to, vbInformation, "AVISO"
.Requery
Exit Sub
Else
'Si se encontro el registro
'Llenamos las cajas de texto
'Campos

Text1.Text = !Nombre
Text2.Text = !Apellido
Text3.Text = !Telefono
Text4.Text = !Email
Text5.Text = !FechaDeNacimiento

End If
End With
End If
End Sub
[/color]
Ahora le das doble Click al botón "Salir", y copia el siguiente código:
[color=#000000]
Private Sub Command7_Click()
If MsgBox("¿Desea salir?", vbInformation + vbYesNo, "Aviso";) = vbYes
Then
Unload Me
End If
End Sub
[/color]

Ahora le das doble Click al DataGrid1, y copia y pega al siguiente código:


[color=#000000]
Private Sub DataGrid1_Click()
With Contacto
If .BOF Or .EOF Then Exit Sub
CodigoDelContacto = DataGrid1.Columns(0).Text
Text1.Text = DataGrid1.Columns(1).Text
Text2.Text = DataGrid1.Columns(2).Text
Text3.Text = DataGrid1.Columns(3).Text
Text4.Text = DataGrid1.Columns(4).Text
Text5.Text = DataGrid1.Columns(5).Text
End With
End Sub
[/color]
Este código sirve para elegir nuestro contacto dentro del DataGrid1, y poderlo modificar ó
eliminar

Le damos click en el icono de Disquete para poder guardar todo lo copiado y le damos click en
Iniciar, para compilar y probar.

Y el programa debe ya compilar y no darte ningún error, y guarda, modifica,


elimina y busca todo tipo de datos que quieras, te mostraré algunos datos que agregué en el
programa, lo cual se verá dentro del DataGrid1.

Você também pode gostar