Bases de datos en visual basic

Solo disponible en BuenasTareas
  • Páginas : 6 (1451 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de febrero de 2010
Leer documento completo
Vista previa del texto
BASES DE DATOS EN VISUAL BASIC
ACCESS  + SQL
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 qfuncionar).
 
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 cadaobjeto.
 
Dijimos q el objeto BDD maneja la base de datos. Entonces podemos cargarla alli de la siguiente manera:
 
Set BDD = OpenDatabase("c:\mis documentos\base1.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 SQLAs String
 
Ya estamos listos para aplicar SQL...
 
SENTENCIAS DE SELECCIÓN O CONSULTAS
ACTUALIZAR LOS DATOS
 
Espero q les sirva de algo, y recuerden q la mejor forma de aprender esto es probando.

SENTENCIAS DE SELECCIÓN O CONSULTAS
 
Bien, SQL permite realizar consultas mediante sentencias de selección "SELECT".
Lo q hace esta sentencia SELECT es tomar datos de una base de datospara devolverlos a quien se lo pidió (en nuestro caso quien se lo pide es el objeto TBL).
 
SELECT consta de seis cláusulas: las dos primeras obligatorias (SELECT y FROM) y las otras opcionales (WHERE, GROUP BY, HAVING, UNION, ORDER BY).
 
SELECT y FROM
FUNCIONES DE AGRUPAMIENTO
WHERE
GROUP BY
HAVING
UNION
ORDER BY
CONSULTAS A MAS DE UNA TABLA
 
SELECT y FROM
 
Veamos, con un ejemplo,como funciona:
 
SQL = "SELECT * FROM tabla1"
 
Set TBL = BDD.OpenRecordset(SQL)   'TBL almacena todos los valores de la tabla
 
Nuestra orden SQL es: seleccionar (SELECT) todos los campos (*) de (FROM) la tabla1.
 
Ahora vamos a mostrar en la lista lo q almacenamos.
 
TBL.MoveFirst  'nos posicionamos en el primer registro de la tabla
Do Until TBL.EOF  ''La propiedad EOF se pone TRUEcuando se a llegado al final de la tabla
   List1.AddItem TBL("nombre")
   TBL.MoveNext   'pasamos al siguiente registro
Loop
 
De esta manera, al ejecutar, nos debe aparecer en la lista todos los nombres de la tabla.
 
Si queremos mostrar "nombre" "apellido":
 
TBL.MoveFirst
Do Until TBL.EOF
   List1.AddItem TBL("nombre") & " " & TBL("apellido")
   TBL.MoveNext
Loop
 
Si queremoslistar "nombre" "apellido" tiene "edad":
 
TBL.MoveFirst
Do Until TBL.EOF
   List1.AddItem TBL("nombre") & " " & TBL("apellido") & " tiene " & TBL("edad")
   TBL.MoveNext
Loop
 
Qué sucede si solo quería tomar de la tabla1 los campos nombre y edad (no el apellido). En este caso la sentencia SQL quedaría:
 
SQL = "SELECT nombre,edad FROM tabla1"
 
Por lo tanto el formato de la sentenciaSELECT hasta ahora es:
 
SELECT campo1,campo2,...,campoN FROM nombre_de_la_tabla
 
NOTA: si ya terminamos de trabajar con la tabla y con la base de datos las podemos cerrar de la siguiente manera:
 
TBL.Close   'cierra tabla
BDD.Close  'cierra base de datos
 
 
 
FUNCIONES DE AGRUPAMIENTO
 
Las funciones de agrupamiento son:
 
DISTINCT: Dijimos q si usabamos el * nos seleccionabatodos los campos. También hay un operador llamado DISTINCT, éste elimina las filas o registros duplicados del resultado de la consulta. Esto se ve bien en el siguiente ejemplo:
 
SQL = "SELECT DISTINCT edad FROM tabla1"  'almacena todas las edades sin repetirlas
Set TBL = BDD.OpenRecordset(SQL)
TBL.MoveFirst
Do Until TBL.EOF
   List1.AddItem TBL("edad")
   TBL.MoveNext
Loop
 
COUNT: Este...
tracking img