SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
BASES DE DATOS EN VISUAL BASIC
                                ACCESS + SQL
                                     by Damián Sottosanti
                                   Ultima actualización: 03-08-2004



      CREAMOS LA BASE DE DATOS EN ACCESS
Abrimos Access y elegimos "Crear una nueva base de datos usando" "Base de datos de Access en
blanco"




Lo guardamos, por ejemplo, en "mis documentos", con el nombre "db1.mdb"

Después creamos una tabla en vista diseño
Ingresen los mismos datos q ven a continuación, ya q estos son los datos (la tabla) q vamos a usar
para programar.
Guarden la tabla con el nombre "Tabla1"

Ahora ingresamos los datos en la tabla:




Y ahora lo mas importante. Para no tener inconvenientes de compatibilidad vamos a hacer lo
siguiente:
"Herramientas -> Utilidades de las base de datos -> Convertir base de datos -> A una versión
anterior de la base dee datos de Access..."
Guardamos con el nombre "base1.mdb"

Esta base de datos llamada "base1.mdb" es la q vamos a usar en Visual Basic. No usaremos la
otra (db1) por motivos de compatibilidad. En definitiva, ambas bases de datos son iguales, solo
cambia la versión.
AHORA TRABAJAMOS EN VISUAL BASIC

Cuando creamos el proyecto lo primero q debemos hacer para trabajar con nuestra base de datos
es la "referencia al motor de bases de datos de Microsoft". Para esto desde Visual Basic vamos al
menu Proyecto -> Referencia y seleccionamos Microsoft DAO 3.51 Object Library (si tenes otra
versión igual tiene q funcionar).

Ahora para ver lo q estamos haciendo cuando ejecutamos, vamos a agregar una ListBox (llamada
List1) en nuestro formulario.

A partir de ahora es todo codigo.

Creamos las variables en la parte General del formulario:

Dim BDD as DataBase 'Objeto para manejar la base de datos
Dim TBL as RecordSet 'Objeto para manejar la Tabla

Es importante q tengan en cuenta lo q maneja cada objeto.

Dijimos q el objeto BDD maneja la base de datos. Entonces podemos cargarla alli de la siguiente
manera:

Set BDD = OpenDatabase("c:mis documentosbase1.mdb") 'Abre la base de datos

Bueno, ahora q tenemos abierta la base de datos, vamos a realizar unas consultas utilizando
ordenes SQL. Por lo tanto podriamos declarar una variable para almacenar nuestra sentencia SQL.

Dim SQL As String
Ya estamos listos para aplicar SQL...
              ORDENES PARA MODIFICAR DATOS
UPDATE
INSERT INTO
DELETE




UPDATE
Podemos cambiar los datos q queramos en la tabla q queramos mediante la orden UPDATE. Por
ejemplo, en la tabla1, donde teniamos nombre, apellido y edad. Supongamos q queremos q todas
las edades se pongan a 0 (cero).

Private Sub Form_Load()
Dim BDD As Database
Dim TBL As Recordset
Dim SQL As String

Set BDD = OpenDatabase("c:mis documentosbase1.mdb")
SQL = "UPDATE tabla1 SET edad = 0"
BDD.Execute SQL
SQL = "SELECT * FROM tabla1"
Set TBL = BDD.OpenRecordset(SQL)
TBL.MoveFirst
Do Until TBL.EOF
  List1.AddItem TBL("nombre") & " " & TBL("apellido") & " tiene " & TBL("edad")
 TBL.MoveNext
Loop


TBL.Close
BDD.Close

End Sub

En este caso cambiamos la manera de trabajar, o mejor dicho, para la orden UPDATE trabajamos
directamente sobre el objeto Database q almacena la base de datos donde queremos realizar el
cambio. Para ejecutar una sentencia SQL podemos poner nombre_variable_database.Execute
"sentencia_SQL"

Veamos nuestra sentencia: actualizar (UPDATE) de la tabla1 las edades, ponerlas a cero (SET
edad=0).

Tambien podemos utilizar la orden WHERE para especificar algo mas preciso. Por ejemplo poner a
cero las edades q sean mayores q 21.

SQL = "UPDATE tabla1 SET edad = 0 WHERE edad>21"
INSERT INTO
Tambien podemos insertar nuevos registros. Para ello utilizamos la orden INSERT INTO. Veamos
un ejemplo. En la tabla1 tengo los campos nombre, apellido y edad. Bien, ahora quiero agregar un
nuevo nombre, apellido y edad.

SQL = "INSERT INTO tabla1 (nombre,apellido,edad) VALUES('damian','sotto',22)"
BDD.Execute SQL

Bien, primero decimos insertar en la tabla1 (INSERT INTO tabla1) nuevos valores para los campos
(nombre, apellido,edad) los valores son para el primer campo damian, para el segundo sotto y para
el tercero 22.

En VALUES se escriben los valores de los campos en el mismo orden en q se especificaron. Los
caracteres van entre ' ' y las fechas entre {}. Si no especificamos valores entonces el campo queda
vacio. Pero si o si debe haber un valor para poder crear un nuevo registro.

Bueno, ya sabemos como actualizar datos y como agregar datos. Ahora nos falta como eliminar
datos.




DELETE
Esta sentencia se utiliza para borrar los registros de una tabla. La sentencia es DELETE FROM
nombre_tabla WHERE condiciones.

SQL = "DELETE FROM tabla1 WHERE edad<21"
BDD.Execute SQL

Con esta sentencia borro todos los registros cuya edad sea menor a 21.
Si no especifico un WHERE, se borran todos los registros, o sea, la tabla me queda vacia.

SQL = "DELETE FROM tabla1"
BDD.Execute SQL

Ahora, si la tabla esta vacia, cuando hagamos una busqueda dentro de ella el programa va a dar
error. Una solución sería:

SQL = "SELECT * FROM tabla1"
Set TBL = BDD.OpenRecordset(SQL)

If TBL.EOF Then ''EOF esta en verdaero si no hay datos
   MsgBox "No hay datos que coincidan con la búsqueda especificada"
   Exit Sub
End If
'si llega hasta aca es porq hay datos
TBL.MoveFirst
Do Until TBL.EOF
  List1.AddItem TBL("nombre") & " " & TBL("apellido") & " tiene " & TBL("edad")
  TBL.MoveNext
Loop

TBL.Close
BDD.Close

Más contenido relacionado

La actualidad más candente

Creacion de tablas SQL Server 2008
Creacion de tablas SQL Server 2008Creacion de tablas SQL Server 2008
Creacion de tablas SQL Server 2008jeshito111
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datosAlvaro Cardona
 
Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Netjennysofia
 
Visual 2010 sql server 2008
Visual 2010 sql server 2008Visual 2010 sql server 2008
Visual 2010 sql server 2008Alex Vasquez
 
Tutorial access97
Tutorial access97Tutorial access97
Tutorial access97iyiyiyhihi
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial BásicoJosu Orbe
 
ConexióN De Base De Datos
ConexióN De Base De DatosConexióN De Base De Datos
ConexióN De Base De DatosVerenice Corea
 
TUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENOTUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENOiberhack
 
Tutorial access 2007
Tutorial access 2007Tutorial access 2007
Tutorial access 2007jpalencia
 
Tipos de datos en MySQL Workbench
Tipos de datos en  MySQL  WorkbenchTipos de datos en  MySQL  Workbench
Tipos de datos en MySQL WorkbenchJair Ospino Ardila
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sqlevavivez
 
Manual para la creacion de tablas en sql
Manual para la creacion de tablas en sqlManual para la creacion de tablas en sql
Manual para la creacion de tablas en sqlval.14
 

La actualidad más candente (17)

Creacion de tablas SQL Server 2008
Creacion de tablas SQL Server 2008Creacion de tablas SQL Server 2008
Creacion de tablas SQL Server 2008
 
Curso oracle por temas
Curso oracle por temasCurso oracle por temas
Curso oracle por temas
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datos
 
Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Net
 
TECNOLOGIA
TECNOLOGIATECNOLOGIA
TECNOLOGIA
 
Visual 2010 sql server 2008
Visual 2010 sql server 2008Visual 2010 sql server 2008
Visual 2010 sql server 2008
 
Tutorial access97
Tutorial access97Tutorial access97
Tutorial access97
 
MySQL. Tutorial Básico
MySQL. Tutorial BásicoMySQL. Tutorial Básico
MySQL. Tutorial Básico
 
ConexióN De Base De Datos
ConexióN De Base De DatosConexióN De Base De Datos
ConexióN De Base De Datos
 
TUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENOTUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENO
 
Tutorial access 2007
Tutorial access 2007Tutorial access 2007
Tutorial access 2007
 
manual visual basic 02
manual visual basic 02 manual visual basic 02
manual visual basic 02
 
Tipos de datos en MySQL Workbench
Tipos de datos en  MySQL  WorkbenchTipos de datos en  MySQL  Workbench
Tipos de datos en MySQL Workbench
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sql
 
Manual para la creacion de tablas en sql
Manual para la creacion de tablas en sqlManual para la creacion de tablas en sql
Manual para la creacion de tablas en sql
 
CREACION DE TABLAS
CREACION DE TABLASCREACION DE TABLAS
CREACION DE TABLAS
 
Access
AccessAccess
Access
 

Destacado

Blog blog
Blog blogBlog blog
Blog blogpau
 
Juan a. y juanfran
Juan a. y juanfranJuan a. y juanfran
Juan a. y juanfranelavargas
 
Free growing deep and strong guide
Free growing deep and strong guideFree growing deep and strong guide
Free growing deep and strong guidecarljf1948
 
Presentacio informatica
Presentacio informaticaPresentacio informatica
Presentacio informaticamartimm
 

Destacado (7)

Blog blog
Blog blogBlog blog
Blog blog
 
Ejercicio 1
Ejercicio 1Ejercicio 1
Ejercicio 1
 
Juan a. y juanfran
Juan a. y juanfranJuan a. y juanfran
Juan a. y juanfran
 
Free growing deep and strong guide
Free growing deep and strong guideFree growing deep and strong guide
Free growing deep and strong guide
 
Presentacio informatica
Presentacio informaticaPresentacio informatica
Presentacio informatica
 
25 Noviembre
25 Noviembre25 Noviembre
25 Noviembre
 
Open Innovation
Open InnovationOpen Innovation
Open Innovation
 

Similar a Bases de-datos-en-visual-basic

Similar a Bases de-datos-en-visual-basic (20)

Bases de-datos-en-visual-basic
Bases de-datos-en-visual-basicBases de-datos-en-visual-basic
Bases de-datos-en-visual-basic
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Trabajo navarro
Trabajo navarroTrabajo navarro
Trabajo navarro
 
Trabajo brayan
Trabajo brayanTrabajo brayan
Trabajo brayan
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Vcsf
VcsfVcsf
Vcsf
 
Base de dato access laura pinilla
Base de dato access laura pinillaBase de dato access laura pinilla
Base de dato access laura pinilla
 
Consulta base de datos
Consulta base de datos Consulta base de datos
Consulta base de datos
 
Trabajo
TrabajoTrabajo
Trabajo
 
Diapositivas brandon
Diapositivas brandonDiapositivas brandon
Diapositivas brandon
 
Diapositivas brandon
Diapositivas brandonDiapositivas brandon
Diapositivas brandon
 
Diapositivas brandon
Diapositivas brandonDiapositivas brandon
Diapositivas brandon
 
base de datos
base de datosbase de datos
base de datos
 
wicho
 wicho wicho
wicho
 
Presentación1
Presentación1Presentación1
Presentación1
 
Oscar
OscarOscar
Oscar
 
Base de datos
Base de datosBase de datos
Base de datos
 
Informatica.juank
Informatica.juankInformatica.juank
Informatica.juank
 

Bases de-datos-en-visual-basic

  • 1. BASES DE DATOS EN VISUAL BASIC ACCESS + SQL by Damián Sottosanti Ultima actualización: 03-08-2004 CREAMOS LA BASE DE DATOS EN ACCESS Abrimos Access y elegimos "Crear una nueva base de datos usando" "Base de datos de Access en blanco" Lo guardamos, por ejemplo, en "mis documentos", con el nombre "db1.mdb" Después creamos una tabla en vista diseño
  • 2. Ingresen los mismos datos q ven a continuación, ya q estos son los datos (la tabla) q vamos a usar para programar.
  • 3. Guarden la tabla con el nombre "Tabla1" Ahora ingresamos los datos en la tabla: Y ahora lo mas importante. Para no tener inconvenientes de compatibilidad vamos a hacer lo siguiente: "Herramientas -> Utilidades de las base de datos -> Convertir base de datos -> A una versión anterior de la base dee datos de Access..."
  • 4. Guardamos con el nombre "base1.mdb" Esta base de datos llamada "base1.mdb" es la q vamos a usar en Visual Basic. No usaremos la otra (db1) por motivos de compatibilidad. En definitiva, ambas bases de datos son iguales, solo cambia la versión. AHORA TRABAJAMOS EN VISUAL BASIC Cuando creamos el proyecto lo primero q debemos hacer para trabajar con nuestra base de datos es la "referencia al motor de bases de datos de Microsoft". Para esto desde Visual Basic vamos al menu Proyecto -> Referencia y seleccionamos Microsoft DAO 3.51 Object Library (si tenes otra versión igual tiene q funcionar). Ahora para ver lo q estamos haciendo cuando ejecutamos, vamos a agregar una ListBox (llamada List1) en nuestro formulario. A partir de ahora es todo codigo. Creamos las variables en la parte General del formulario: Dim BDD as DataBase 'Objeto para manejar la base de datos Dim TBL as RecordSet 'Objeto para manejar la Tabla Es importante q tengan en cuenta lo q maneja cada objeto. Dijimos q el objeto BDD maneja la base de datos. Entonces podemos cargarla alli de la siguiente manera: Set BDD = OpenDatabase("c:mis documentosbase1.mdb") 'Abre la base de datos Bueno, ahora q tenemos abierta la base de datos, vamos a realizar unas consultas utilizando ordenes SQL. Por lo tanto podriamos declarar una variable para almacenar nuestra sentencia SQL. Dim SQL As String
  • 5. Ya estamos listos para aplicar SQL... ORDENES PARA MODIFICAR DATOS UPDATE INSERT INTO DELETE UPDATE Podemos cambiar los datos q queramos en la tabla q queramos mediante la orden UPDATE. Por ejemplo, en la tabla1, donde teniamos nombre, apellido y edad. Supongamos q queremos q todas las edades se pongan a 0 (cero). Private Sub Form_Load() Dim BDD As Database Dim TBL As Recordset Dim SQL As String Set BDD = OpenDatabase("c:mis documentosbase1.mdb") SQL = "UPDATE tabla1 SET edad = 0" BDD.Execute SQL SQL = "SELECT * FROM tabla1" Set TBL = BDD.OpenRecordset(SQL) TBL.MoveFirst Do Until TBL.EOF List1.AddItem TBL("nombre") & " " & TBL("apellido") & " tiene " & TBL("edad") TBL.MoveNext Loop TBL.Close BDD.Close End Sub En este caso cambiamos la manera de trabajar, o mejor dicho, para la orden UPDATE trabajamos directamente sobre el objeto Database q almacena la base de datos donde queremos realizar el cambio. Para ejecutar una sentencia SQL podemos poner nombre_variable_database.Execute "sentencia_SQL" Veamos nuestra sentencia: actualizar (UPDATE) de la tabla1 las edades, ponerlas a cero (SET edad=0). Tambien podemos utilizar la orden WHERE para especificar algo mas preciso. Por ejemplo poner a cero las edades q sean mayores q 21. SQL = "UPDATE tabla1 SET edad = 0 WHERE edad>21"
  • 6. INSERT INTO Tambien podemos insertar nuevos registros. Para ello utilizamos la orden INSERT INTO. Veamos un ejemplo. En la tabla1 tengo los campos nombre, apellido y edad. Bien, ahora quiero agregar un nuevo nombre, apellido y edad. SQL = "INSERT INTO tabla1 (nombre,apellido,edad) VALUES('damian','sotto',22)" BDD.Execute SQL Bien, primero decimos insertar en la tabla1 (INSERT INTO tabla1) nuevos valores para los campos (nombre, apellido,edad) los valores son para el primer campo damian, para el segundo sotto y para el tercero 22. En VALUES se escriben los valores de los campos en el mismo orden en q se especificaron. Los caracteres van entre ' ' y las fechas entre {}. Si no especificamos valores entonces el campo queda vacio. Pero si o si debe haber un valor para poder crear un nuevo registro. Bueno, ya sabemos como actualizar datos y como agregar datos. Ahora nos falta como eliminar datos. DELETE Esta sentencia se utiliza para borrar los registros de una tabla. La sentencia es DELETE FROM nombre_tabla WHERE condiciones. SQL = "DELETE FROM tabla1 WHERE edad<21" BDD.Execute SQL Con esta sentencia borro todos los registros cuya edad sea menor a 21. Si no especifico un WHERE, se borran todos los registros, o sea, la tabla me queda vacia. SQL = "DELETE FROM tabla1" BDD.Execute SQL Ahora, si la tabla esta vacia, cuando hagamos una busqueda dentro de ella el programa va a dar error. Una solución sería: SQL = "SELECT * FROM tabla1" Set TBL = BDD.OpenRecordset(SQL) If TBL.EOF Then ''EOF esta en verdaero si no hay datos MsgBox "No hay datos que coincidan con la búsqueda especificada" Exit Sub End If 'si llega hasta aca es porq hay datos TBL.MoveFirst
  • 7. Do Until TBL.EOF List1.AddItem TBL("nombre") & " " & TBL("apellido") & " tiene " & TBL("edad") TBL.MoveNext Loop TBL.Close BDD.Close