Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
21Activity
0 of .
Results for:
No results containing your search query
P. 1
Bases de Datos Con Microsoft Access y Dao

Bases de Datos Con Microsoft Access y Dao

Ratings:

4.0

(2)
|Views: 3,628 |Likes:
Published by api-26022024

More info:

Published by: api-26022024 on Oct 15, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

BASES DE DATOS CON MICROSOFT ACCESS
Y D.A.O.
(Data Access Objects)
TUTORIAL 1: Por Malcom Marchen
Parte I
THE13THBANDIDO.FREEHOST.COM

Existen varias formas de acceder a una base de datos, en este tutorial, se manejaran solamente bases de
datos de Access (mdb). Una de esas formas es mediante la tecnolog\u00eda DAO, por Data Access Objects ;
los obejtos DAO, funcionan como un intermediario entre nuestra apliaci\u00f3n Visual Basic y el motor de
bases de datos JET, con el que Access trabaja, dicho de alguna manera pordefault. Por lo anterior,
recomiendo de sobremanera acceder por DAO a una base de datos tipo Access.

Las ventajas de DAO con Access, adem\u00e1s de las mencionadas, es que trabaja directamente con el
motor JET, el cual puede trabajar sobre diferentes bases de datos; la posibilidad de combinar tablas de
diferentes origenes, es decir, obtener datos de una base de dBase, Oracle etc. sin necesidad de hacer
que el usuario de nuestra aplicaci\u00f3n tenga la necesidad de instalar dichos programas y/o sistemas, sino
que bastar\u00e1 con incluir en nuestro programa de instalaci\u00f3n las dll\u2019s correspondientes al motor JET.
Adem\u00e1s el motor JET soporta todas las versiones de Access.

Aunque como todo, tiene sus desventajas, y una de ellas es la cantidad de recursos del sistema que
necesita JET, adem\u00e1s de ser muy grande. DAO solo pod\u00eda acceder a bases de datos ODBC a trav\u00e9z del
motor JET, sin embargo, esto solo fue hasta la versi\u00f3n 3.5.

Personalmente, me inclino por la opci\u00f3n de Access/DAO para las bases de datos \u201cpeque\u00f1as\u201d.

No es objetivo de este tutorial el manejo de Access, pero se aclarar\u00e1n algunos procedimientos que
ser\u00e1n necesarios para comprender bien este texto, como puede ser crear la base con puro c\u00f3digo, o por
visdata (Visual Basic 6 vers. incluye esta aplicaci\u00f3n en cualquiera de sus versiones empresarial o
profesional), tocar\u00e9 lo menos posible Access, para enfocarnos directamente en la creaci\u00f3n de la
aplicaci\u00f3n; entiendo que tal vez tu ya tienes una base de datos, aunque incluyo los archivos necesarios
para que no queden dudas respecto a DAO/Access.

Si tienes problemas con DAO/Access, si eres principiante o simplemente necesitas ejemplos, cr\u00e9eme,
esta es la p\u00e1gina correcta. La forma en que se presentar\u00e1 el texto es con el formato siguiente:
PROPIEDADES
VALORCONTROL
CODIGO
Por \u00faltimo, despu\u00e9s del c\u00f3digo pongo la explicavi\u00f3n de cada parte del mismo, aunque en el proyecto
anexado pongo los comentarios de cada funci\u00f3n, aqu\u00ed no , por razones de tama\u00f1o del docuemnto.
La ruta de acceso a las bases de datos en TODO el tutorial, la manejo como A:\, puedes usar un floppy
igual que yo o modificar la ruta en todos los ejemplos; creo que para esto no hay mayor problema.
-Creaci\u00f3n de la base de datos con objetos DAO
El c\u00f3digo de este tema esta en: Creaci\u00f3n una base con objetos DAO.vbp

Comenzamos por crear una base de datos Access mediante c\u00f3digo basic, siempre es bueno saber crear la base por c\u00f3digo y por el programa Access, si ya tienes el archivo MDB, puedes saltarte este tema, de no ser que te interese y este consiente que ninguna iformaci\u00f3n est\u00e1 de mas.

1.Abre un nuevo proyecto MVB6 (EXE Estandar)
2.Clickea en la barra de men\u00fas la opcion PROYECTO (Project, yo tengo la versi\u00f3n en ingl\u00e9s, pero
me referir\u00e9 a ellos con el nombre en espa\u00f1ol para aquellos que no saben ni una pizca)
3.Clickea en la opci\u00f3n REFERENCIAS
4.Marca la casilla con el item de Microsoft DAO 3.5 Object Library o superior (Yo manejo 3.51 pero
no hay problema por esto en este tutorial) y despu\u00e9s , clickeas en ACEPTAR.
5. Agrega a tu FORM1 dos COMMAND BUTTON, a los que asignaremos las siguientes propiedades:

______________Co mmandbutton1
Nombre
Crearbase_btn
Caption
Nueva base
______________Co mmandbutton2
Nombre
Creartabla_btn
Caption
Nueva tabla
_____________________________
6. Declaramos las siguientes variables a nivel Formulario
Option Explicit

Dim Base_de_datos As DAO.Database
Dim Tabla As DAO.TableDef
Dim Campo As DAO.Field

7. Agrega el siguiente c\u00f3digo al evento Click del bot\u00f3nCrearbase_btn o examina el c\u00f3digo del
proyecto anexado.
Set Base_de_datos = CreateDatabase("a:\Socios.mdb", dbLangGeneral)
8. Agrega el siguiente c\u00f3digo al evento Click del bot\u00f3nCreartabla_b tn o examina el c\u00f3digo del
proyecto anexado.
Set Base_de_datos = OpenDatabase("A:\Empresa") (\ue000 Puede omitirse esta l\u00ednea, checa laAC LARAC ION que
est\u00e1 al final del tema, evitar\u00e1s confusiones)

Set Tabla = Base_de_datos.CreateTableDef("Empleados")
Set Campo = Tabla.CreateField("Clave", dbInteger)
Tabla.Fields.Append Campo

Set Campo = Tabla.CreateField("Puesto", dbText, 20)
Tabla.Fields.Append Campo
Set Campo = Tabla.CreateField("Nombre", dbText, 50)
Tabla.Fields.Append Campo
Set Campo = Tabla.CreateField("Email", dbText, 50)
Tabla.Fields.Append Campo
Base_de_datos.TableDefs.Append Tabla
8. Antes de explicar el c\u00f3digo, examina el siguiente cuadro:
Ingenieria de DAO
DBENGINE --- WORKSPACES
Workspace-----------D ATA B A S E S
Workspace
Database------TABLEDEFS
Database
TableDef
Database
TableDef-------------FIEL DS
TableDef
Field
TableDef
Field
TableDef

Field
TableDef
TableDef-------------IND EXES
TableDef

Field
Field
Field

Este mismo cuadro, lo tienes en la ayuda de VB6. F\u00edjate como el objeto DBENGINE tiene una
colecci\u00f3n de objetos WORKSPACES (Espacios de trabajo)
Dentro de WORKSPACES, existe una colecci\u00f3n de objetos WORKSPACE (Sin la \u201cs\u201d del final), a su
vez, cada uno de ellos, cuenta con una conjutno de objetos DATABASES .

Los conjuntos de DATABASES cuentan con una colecci\u00f3n de objetos DATABASE, y as\u00ed
sucesivamente, cada DATABASE cuenta con una colecci\u00f3n TABLEDEFS, cada TABLEDEFS cuenta
con una colecci\u00f3n de objetos TABLEDEF; cada TABLEDEF posee una colecci\u00f3n de objetos FIELDS
e INDEXES, etc.

Mas claramente , sin usar tecniscismos, y en \u201cespa\u00f1ol\u201d. Comencemos de otra manera, Tenemos un grupo de campos como son clave, puesto, nombre y email , cada uno de ellos representa un Field, el conjunto de cada Field, representa FIELDS (FIELDS es como deecir, conjunto de campos o conjunto de Field ), un conjunto de FIELDS, son parte de una tabla , que en nuestro ejemplo era EMPLEADOS aunque podriamos haber creado tambi\u00e9n otra tabla que se llamara por ejemplo DATOSPERSONALES y otra mas llamada CARACTERISTICASFISICAS; bueno, hasta aqu\u00ed todo claro (espero!), pues cada una de esas tablas son llamadas Tabledef , al grupo de todas las mencionadas tabla (Tabledef), se les agrupa en un solo conjunto de tablas llamado TABLEDEFS. Nuestra base de datos representa un solo objeto Database , este objeto contiene la colecci\u00f3n de TABLEDEFS que acabo de describir.

Aqu\u00ed manejamos una sola base de datos o DATABASE, aunque podriamos o no usar mas bases de datos, que a su vez, formarian un conjunto llamado DATABASES, un conjunto de una sola o varias bases de datos, forman DATABASES.

A este conjunto se le toma como un Espacio de trabajo o Workspace, que es parte de un grupo llamado
WORKSPACES y as\u00ed sucesivamente. Espero realmente haberme explicado bien.
Las propiedades de INDEX las describir\u00e9 mas adelante.

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->