SlideShare una empresa de Scribd logo
1
TABLA DE CONTENIDO
DIEGO ALEJANDRO VELEZ URREGO
ACCESS
PROFESORA DILLY DAGNIS
CEFIT
CORREO THEKOUSHI@GMAIL.COM
TECNICO EN SISTEMAS
2
INTRODUCCIÓN
Introducción al Microsoft Access
El Microsoft Access es un software utilizado para el desarrollo de sistemas de
Base de Datos. Él está basado en el argumento de las bases de datos
relacionales en el cual el usuario/proyectista mantiene informaciones organizadas
en forma tabular. No es el objetivo de esta apostilla detallar cualquier metodología
de análisis de sistemas orientado a la especificación de soluciones basadas en el
argumento relacional. Normalmente este análisis y reflexión previos, constituyen
pasos importantes para la obtención de buenos sistemas automatizados de
almacenamiento y recuperación de informaciones.
A lo largo del texto, se emplea un ejemplo/modelo muy simple basado en apenas
tres tablas. Lo que se desea automatizar es una nómina de empleados donde,
además de las informaciones típicas de nombre y número, participan
informaciones asociadas referentes al departamento del empleado, su cargo y su
salario. Estas informaciones constan en otras dos listas. Estas listas son
naturalmente tabulares y su exacto contenido queda evidente a lo largo del texto.
El texto que sigue no pretende de forma alguna agotar todos los recursos y
posibilidades del Access. En general, los puntos más relevantes y de utilidad más
inmediata fueron abordados. Se intentó evitar el detalle minucioso principalmente
en referencia a los recursos estéticos de la pantalla. Además de esto, ciertamente,
hay puntos que simplemente fueron olvidados o ignorados a lo largo de esta
compilación. La parte de programación no es abordada en este texto introductorio.
Todos los contenidos de una Base de Datos en Access son reunidos en un único
archivo de extensión mdb. Para abrir una Base de Datos Basta seleccionar el
archivo de la pantalla de diálogo del menú Archivo opción Abrir Base de Datos.
Para crear una nueva Base de Datos se selecciona la opción Nueva Base de
Datos.
El Access también crea un archivo de extensión lbd. Este archivo tiene utilidad en
habientes multiusuários donde una misma Base de datos puede estar siendo
3
accedido simultáneamente por varios usuarios. Si este no fuera el caso, entonces
no es necesario preocupare con este archivo. Inclusive no es necesario copiar el
archivo conjuntamente con el archivo de extensión mdb, por ejemplo, para un
disco. El Access recrea el archivo ldb si el no estuviera presente.
Conviene observar que en el menú Archivo cuenta con la opción Guardar,
mientras, ella no se refiere al archivo mdb. Ella sirve para guardar objetos aislados
del Access: Tablas, formularios, consultas, informes y macros. Esto significa que a
lo largo de una sesión el archivo mdb es constantemente actualizado y no es
posible revertirlo a su condición original al inicio de la cesión.
4
Contenido
INTRODUCCIÓN......................................................................................................................... 2
TEORIA 1 HOJA.......................................................................................................................... 5
TABLAS..................................................................................................................................... 6
1.1 Campos:..................................................................................................................... 6
1.2 Registros:................................................................................................................... 8
1.3 Llave primaria............................................................................................................. 9
1.4 Llave foránea o secundaria.........................................................................................10
2 FORMULAROS .......................................................................................................................13
2.1 Formulario:.....................................................................................................................13
3 PANEL DE CONTROL ANIDADO ...............................................................................................14
4 INFORMES.............................................................................................................................18
4.1 Informes:........................................................................................................................18
5. CONSULTAS..........................................................................................................................19
5.1 Asistente para consultas:.................................................................................................19
5.2 Consultas con parámetros: ..............................................................................................40
6.CONCLUSIONES.....................................................................................................................59
7.CIBERGRAFIA.........................................................................................................................60
5
TEORIA 1 HOJA
Microsoft Access es un sistema de gestión de bases de datos incluido en el
paquete ofimático denominado Microsoft Office. Igualmente, es un gestor de datos
que recopila información relativa a un asunto o propósito particular, como el
seguimiento de pedidos de clientes o el mantenimiento de una colección de
música, etcétera. Está pensado en recopilar datos de otras utilidades (Excel,
SharePoint, etcétera) y manejarlos por medio de las consultas e informes.
Historia
Proyectos Omega y Cirrus Maimara Retamales[editar]
Microsoft carecía de una solución propia de base de datos relacional, y hasta
entonces se limitaba a distribuir un producto de terceros llamado R:BASE, una
aplicación para MS-DOS. En 1988 se empezó a desarrollar un producto SQL (de
nombre clave Omega) para Windows y OS/2, junto con el que se escribió un
lenguaje de macros llamado EB ("Embedded Basic") que se utilizaría en la
mayoría de software Microsoft hasta la llegada de VBA. También se buscaba que
Omega funcionara como front-end para Microsoft SQL Server. Omega requería
una enorme cantidad de recursos de los procesadores 386 disponibles en la
época para usos comerciales, retrasando su llegada desde el primer cuatrimestre
de 1990 hasta enero de 1991. Más tarde partes del proyecto fueron utilizados para
otros proyectos de Microsoft. Cirrus (nombre clave para Access) y Thunder
(nombre clave para Visual Basic, en el que se utilizó el motor Embedded Basic).
Tras el adelanto de Access, Omega fue demostrado ante varios periodistas en
1992 y Access presentaba funciones que Omega no tenía.
Después de la cancelación de Omega, algunos de sus desarrolladores fueron
reasignados al proyecto Cirrus (la mayoría fue a parar al equipo creador de Visual
Basic). Su meta era crear un competidor de productos como dBase y Paradox en
el entorno Windows. El proyecto pareció condenado con la compra de FoxPro
(una App de base de datos completamente diferente a Access) por parte de
Microsoft, pero la compañía decidió continuar con el desarrollo de Cirrus. Al
principio se asumió que el producto usaría el motor Extensible Storage Engine (Jet
Blue) pero al final fue reemplazado por otro motor llamado Microsoft Jet Database
Engine (Jet Red). El proyecto usó partes del código escrito para Omega y una
versión.
6
TABLAS
1.1 Campos:
Todoslos campode unatabla tienenpropiedades.Éstasdefinenlascaracterísticasyel
comportamientodel campo.Lapropiedadmásimportante de uncampoessu tipode datos.El
tipode datos de un campo determinalaclase de datosque va a poderalmacenar.Por
ejemplo,uncampocuyotipode datos seaTextopodráalmacenardatos que se compongande
caracteresde textoonuméricos,mientrasque uncampo cuyotipode datos seaNúmerosólo
podrá almacenardatosnuméricos.
El tipode datos de un campodeterminaotrasmuchascualidadesimportantesdel mismo,
como:
La formade usar el campo enexpresiones.
El tamañomáximode un valordel campo.
Si el campo se puede indizar.
Los formatosque se puedenusarcon el campo.
7
Cuandose crea un nuevocampoen lavistaDiseño,se especificasutipode datosy, de forma
opcional,susdemáspropiedades.
1. Tipo de datos
2. Propiedadesde campo
Cuandose crea un campo enla Vistade hojade datos,sutipode datosse define
automáticamente.Si creauncampoen estavistamediante unaplantillade campoo un
campo existente de otratabla,el tipode datosya está definidoenlaplantillaoenla otra
tabla.Si crea un campo mediante laespecificaciónde datosenlavistaHoja de datos,
MicrosoftOffice Accessasignauntipode datos a dichocampo basándose enlosvaloresque
escriba.Si escribe valoresde distintostiposde datos,Accesspuedepedirle que tome una
decisiónsobre el tipode datos.
8
1. Cree un campo al especificardatosenunacolumnavacía.
2. Ajuste el tipode datosdel campo y otraspropiedadesdel mismomediante lafichaHojade
datosde lacinta de opciones.
1.2 Registros:
En informática,o concretamente enel contextode unabase de datosrelacional,unregistro
(tambiénllamadofilaotupla) representaunobjetoúnicode datosimplícitamente
estructuradosenunatabla.En términossimples,unatablade una base de datos puede
imaginarse formadade filasycolumnasocampos.Cada filade una tablarepresentaun
conjuntode datosrelacionados,ytodaslasfilasde la mismatablatienenlamismaestructura.
Un registroesun conjuntode camposque contienenlosdatosque pertenecenaunamisma
repeticiónde entidad.Se le asignaautomáticamente unnúmeroconsecutivo(númerode
registro) que enocasionesesusadocomoíndice aunque lonormal ypráctico esasignarle a
cada registroun campoclave para su búsqueda
9
1.3 Llave primaria:
Una clave principal esuncampo o un conjuntode camposde la tabla que proporcionaun
identificadorúnicoparacada registro.Enuna base de datos, lainformaciónse divide entablas
distintasenfuncióndel tema.A continuación,se usanrelacionesde tablasyclavesprincipales
para indicara Accesscómo debe volverareunirlainformación.Accessusacamposde clave
principal paraasociar rápidamente losdatosde variastablasycombinaresosdatosde forma
significativa.
Puede incluirloscamposde clave principal enotrastablasparahacer referenciaalatabla que
esel origende la clave principal.Enesastablas,loscamposse denominanclavesexternas.Por
ejemplo,uncampoId.de cliente de latablaClientestambiénpodríaaparecerenlatabla
Pedidos.EnlatablaClientes,éstaeslaclave principal.EnlatablaPedidosse denominaclave
externa.Unaclave externaeslaclave principal de otratabla
10
1.4 Llave foráneao secundaria:
Clave foránea
En el contextode basesde datosrelacionales,unaclave foráneao clave ajena(oForeignKey
FK) esuna limitaciónreferencial entre dostablas.Laclave foráneaidentificaunacolumnao
grupode columnasenunatabla (tablahijao referendo) que se refiere aunacolumnao grupo
de columnasenotra tabla (tablamaestrao referenciada).Lascolumnasenlatablareferendo
debenserlaclave primariau otra clave candidataenla tablareferenciada.
Los valoresenunafilade las columnasreferendodebenexistirsoloenunafilaenlatabla
referenciada.Así,unafilaenla tablareferendonopuede contenervaloresque noexistenen
la tablareferenciada.De estaforma,lasreferenciaspuedensercreadasparavincularo
relacionarinformación.Estoesunaparte esencial de lanormalizaciónde base de datos.
Múltiplesfilasen latablareferendopuedenhacerreferencia,vincularse orelacionarseala
mismafilaenlatabla referenciada.Mayormente estose ve reflejadoenunarelaciónuno
(tablamaestrao referenciada)amuchos(tablahijao referendo).
La tablareferendoylatablareferenciadapuedenserlamisma,estoes,laclave foránea
remite ohace referenciaalamismatabla.Esta clave externaesconocidaenSQL:2003 como
auto-referenciaoclave foránearecursiva.Unatablapuede tenermúltiplesclavesforáneasy
cada una puede tenerdiferentestablasreferenciadas.Cadaclave foráneaesforzada
independientementeporel sistemade base de datos.Portanto,las relacionesencascada
11
entre tablaspuedenrealizarse usandoclavesforáneas.Configuracionesimpropiasde las
clavesforáneasoprimariaso noforzar esasrelacionessonfrecuentementelafuente de
muchosproblemasparala base de datos o para el modelamientode losmismos.
Por ejemplo,digamosque haydostablas,unatablaCONSUMIDORque incluye todoslosdatos
de losconsumidores,yotraque es latabla de ORDENES.La intenciónesque todaslasórdenes
esténasociadasa lainformacióndel consumidoryque vivenensupropiatabla.Para lograr
estodebemoscolocarunaclave foráneaenla tablaORDENES con relaciónala llave primaria
de la tablaCONSUMIDOR.
La clave foráneaidentificaunacolumna(s) enunaTABLA REFERENCIANTEa una columna(s) en
la TABLA REFERENCIADA.
LLAVE SECUNDARIA oFONAREA.
Es aquellaque utilizasparareferenciarlosdatosde loscuales provienen,porejemplo:tienes
una tablacon la listade productoslacual tiene loscampos:CLAVE,DESCRIPCIÓN yPRECIO.
Por otro lado,tienesunatablaconel detalle de laVENTA,lacual contiene datosde Cuantosy
que productoshas vendido,enesatablanohace faltarepetirlosdatosdel productotales
como DESCRIPCIÓN YEL PRECIO,ya que lostienesenlatablade productos,así entonces,lo
unicoque necesitasesunaLLAVEFORANEA que te apunte desde latablaVENTASa la tabla
PRODUCTOS,para saber que productoesel que estasvendiendo,ejemplo:
TABLA PRODUCTOS:
CLAVEDESCRIPCIÓN PRECIO
--------------------------------------...
1 FRIJOL10
2 ARROZ11
3 POLLO13
TABLA VENTAS:
12
PRODUCTO CANTIDAD
--------------------------------------...
1 3
2 4
1 5
2 1
1 3
ComopuedesobservarenlatablaVENTAStengouna columnaPRODUCTOque estará ligada
con la columnaCLAVEde la tablaPRODUCTOS,estopermite que consolosaberel númerodel
productopuedosabersu descripciónypreciosi revisoenla tablaPRODUCTOS.
En las llavesforaneasosecundariaspuedenrepetirse losdatos,comoveselnúmero1se repite
3 veces.Enlas llavesprimariasestonoesposiblepuestoque debe mantenerseuna
INTEGRIDADes decirque nose repita.Enel caso de lasllavesforaneasosecundariasla
INTEGRIDADque se exige esque laclave tengasucorrespondiente númeroenlaTablaque se
referencia,porejemplo;NOEXISTEEL PRODUCTO6, por lotanto no deberiapoderanotaren
lasVENTASun númeroque noexistaenlatabla PRODUCTOS.
LLAVE CANDIDATA
La llave candidataessolomeramenteconceptualenrealdadnoloimplementasenlabase de
datosy es más biencuandohacesel analisisde cualesserantusllavesprimarias.Cuandocreas
lastablas existencamposque sonCANDIDATOSaserlas llavesprimarias,porquepodrían
llegara cumplirel requisitode norepetirse,porejemplo,volvemosalatabla EMPLEADOS que
tiene loscampos:Nombre,RFC,asíno sotros sabemosque nopuedenexistirDOSPERSONAS
CON EL MISMO RFC,por lotanto la columnaRFCsería CANDIDATA a serla llave
primaria...peroentonceslapreguntaes,porque nose tomacomola llave primariasi cumple el
requisito,larespuestaesporque enocasionesesmásfacil que nosotrosdefinamosuncampo
que podamoscontrolarnumericamenteyademásseamásfacil de determinar,tal esel caso
por el cual agregamosel campo Calve a la tablaEMPLEADOS.
13
2 FORMULAROS
2.1 Formulario:
Formularios
Imagendel botónLosformulariospermitencrearunainterfazde usuarioenlaque puede escribir
y modificardatos.Losformulariosamenudocontienenbotonesde comandosyotroscontroles
que realizandistintastareas.Puede crearunabase de datos sinusar formularioscontansolo
modificarlosdatosenlashojasde datosde latabla.Sin embargo,lamayoría de losusuariosde
basesde datos prefierenusarformulariosparaver,escribirymodificardatosenlastablas.
Puede programarbotonesde comandosparadeterminarqué datosaparecenenel formulario,
abrir otrosformulariosoinformes,oejecutarotrastareas.Porejemplo,puede tenerun
formulariollamado"Formulariode cliente"enel que trabajaconlos datosde los clientes.El
formulariode cliente puede tenerunbotónque abraun formulariode pedidoenel que puede
especificarunpedidonuevoparael cliente.
Los formulariostambiénle permitencontrolarde qué maneraotrosusuariosinteractúanconlos
datosde labase de datos.Por ejemplo,puedecrearunformularioque muestre solodeterminados
camposy permitaque se realicenúnicamenteciertasoperaciones.Estoayudaa protegerlosdatos
y a asegurarse de que losdatos se especificancorrectamente.
Para obtenermásinformaciónsobre losformularios,veael artículoIntroducciónalosformularios.
14
3 PANEL DE CONTROL ANIDADO
Crear un panel de control para una base de datos de
Access
5 comentarios
Enviar por correo electrónicoEscribe un blogCompartir con Tw itterCompartir con Facebook
Si tenemosuna base de datosde Access que va a ser utilizada por usuarios,nos será realmente
útil crear un panel de controlo formulario de acceso,que permita al usuario manejar la aplicación
de forma sencilla.
Lo más cómodo para que el usuario maneje la base de datos con facilidad es ir crear formularios
para las acciones mas habituales, como introducción de registros en las tablas, búsqueda de
información, creación de informes y etiquetas, etc. Una vez creados estos formularios creamos
un panel de control que enlace con los formularios que va a utilizar el usuario. Estos formularios
pueden ser a su vez, paneles de control secundarios.
El panel de control principal permitirá la entrada a los demás formularios.
Access dispone de un asistente para crear el Panel de Control, en el menú Herramientas –
Utilidades de la base de datos – Administrador del panel de control.
Si aún no hemos creado ningún panel de controlaparece un cuadro de diálogo,preguntándonos
si queremos crearlo en este momento. Contestamos Si.
Crear un panel de control para una base de datos de Access:
15
Pulsamos en el botón Nueva para ir agregando cada una de las páginas(formularios,en nuestro
ejemplo) a los que queremos acceder mediante el panel de control.
Así, vamos agregando uno a uno los enlaces que va a tener nuestro panel de control principal.
En nuestro ejemplo hemos añadido enlaces a los formularios Búsqueda, Entrada de datos,
Etiquetas e Informes.
16
Una vez creados los enlaces, seleccionamos el primero (busqueda) y pulsamos en Modificar
para enlazarlo realmente con el formulario Busqueda, que permite al usuario buscar registros.
En Comando seleccionamos Abrir el formulario en modo Edición y seleccionamos el formulario
Busqueda. Pulsamos Aceptar para finalizar.
De esta forma vamos
seleccionando cada uno de los enlaces y los vamos asociando al formulario indicado en cada
caso, mediante la opción comando y formulario.
El resultado de nuestro ejemplo será un panel de control con la siguiente apariencia:
17
18
4 INFORMES
4.1 Informes:
¿Qué son y cómo crear informes?
Si necesitas compartir información de tu base de datos con alguien pero no quieres
que trabajen en ella, tienes la opción de crear un informe porque ellos te permiten
organizar y presentar los datos en un formato de fácil lectura y atractivo a la vista.
Con Access 2010 puedes crear informes fácilmente y personalizarlos a
partir de cualquier consulta o tablas en tu base de datos. En esta
lección, aprenderás a crear, modificar e imprimir informes.
19
5. CONSULTAS
5.1 Asistente para consultas:
Crear unaconsultade selecciónsencilla
Se aplicaa: Access2007
IMPORTANTE: Este artículo se ha traducidocon traducciónautomática;veala declinaciónde
responsabilidades.Parasureferencia,puedeencontrarlaversióneninglésde este artículoaquí.
Una consultade selecciónse puedeusarparacrear subconjuntosde datosque sirvanpara
responderapreguntasespecíficas.Tambiénse puede usarparasuministrardatosaotros objetos
de base de datos.Una vezcreada una consultade selección,se puedeusarsiempre que sea
necesario.
En este tema,se explicacómocrear consultasde selecciónsencillasque busquendatosenuna
tablaúnica.Tambiénse explicacómomejorarlaconsultadefiniendocriteriosparalosregistrosy
agregandovalorescalculados.
En este artículo
Introducción
Crear unaconsulta
Agregarcriteriosa laconsulta
Agregarcálculosa la consulta
Resumirvaloresde consulta
20
Introducción
Una consultade selecciónes untipode objetode base de datosque muestrainformaciónenuna
Vistade hojade datos.Una consultapuede obtenersusdatosde unatabla o de varias,de
consultasexistentes,ode unacombinaciónde ambasopciones.Lastablaso lasconsultasde las
que una consultaobtiene susdatosse conocencomosu origende registros.
Ya cree consultasde selecciónsencillasmedianteunasistenteotrabajandoenlavistaDiseño,los
pasosson,en esencia,losmismos.Debeelegirel origende registrosque deseautilizarylos
camposque deseaincluirenlaconsulta.Opcionalmente,puedeespecificarcriteriosparadepurar
losresultados.
Una vez creadala consultade selección,puede ejecutarlaparaverlosresultados.Lasconsultasde
selecciónsonmuyfácilesde ejecutar:sólotieneque abrirlasenlavistaHojade datos. Podrá
reutilizarlassiempre que lonecesite;porejemplo,comoorigende registrosparaunformulario,un
informe uotra consulta.
NOTA:Para obtenerinformaciónsobre el usode unaconsultacomo origende registrosparaun
formulariooinforme,veael artículoUsar una consultacomoorigende registrosde unformulario
o informe.
Hay variostiposde consulta,y cada una sirve paraun findistinto.Porejemplo,unaconsultade
selecciónparapresentardatos.Unaconsultade acción cambialosdatos de su origende datoso
crea una nuevatabla.Una consultade parámetrosle pide que especifique criterioscuandose
ejecuta.Eneste tema,se tratan únicamente lasconsultasde selección.
NOTA:En este temase describe cómose crean consultasde selecciónque devuelvendatosde una
únicatabla.Si deseacrearconsultasque devuelvandatosde doso variastablas,veael artículo
Crear unaconsultabasada envariastablas.
Parte superiorde lapágina
21
Crear unaconsulta
En este ejercicio,crearálaconsultade seleccióncontactosde Londres.Puedecrearestaconsulta
enla vistaDiseñoomediante unasistente.Además,si estáfamiliarizadoconlasinstruccionesSQL,
puede crearuna consultamientras trabajaenla vistaSQL escribiendounainstrucciónSELECT
sencilla.
Antesde comenzar,debe tenerunatablaque contengadatos.A continuación,se proporcionan
datosde ejemploenformade tablaHTML.
Identificadorde cliente
Compañía
Dirección
Ciudad
StateOrProvince
Códigopostal
CountryOrRegion
Teléfono
Contacto
22
Fechade nacimiento
1
Museode Ciencias
Rodeode la Cruz 477
Caracas
DF
12345
Venezuela
(202) 555-0122
EstebanPuerto
03.12.1945
".2"
Líneas AéreasCieloAzul
23
CarlosPellegrini 1263
San Cristóbal
Táchira
01234
Venezuela
(201) 555-0123
DavidSantos
21.03.1959
3%
BodegasCobra
C/ Córcega452
I. de Margarita
NuevaEsparta
24
98100
Venezuela
(206) 555-0042
Ezequiel Picó
01.04.1973
-4
ContosoPharmaceuticals
Av.Benavides4858
Londres
NS1 EW2
RU
(171) 555-0125
Manuel Pereira
25
16.06.1967
'5
FourthCoffee
Londres
W1J 8QB
RU
(171) 555-0165
JuliánPrecio
09.08.1971
6%
Mensajeríasconsolidadas
Av.5 de Mayo Porlamar
I. de Margarita
26
NuevaEsparta
98100
Venezuela
(206) 555-0007
CristinaPortillo
27.05.1948
7
Graphic DesignInstitute
151 Strand
Londres
WC2R 0ZA
RU
(171) 555-0178
27
María Barrera
12.08.1961
8%
Lópeze hijos,S.L.
Av.Libertador135
Barinas
DF
97200
Venezuela
(503) 555-0086
AntonioMoreno
01.09.1975
9
28
TailspinToys
22 WicklowStreet
Londres
WC1 0AC
RU
GuillermoFernández
15.02.1953
10
Woodgrove Bank
37 Lothbury
Londres
EC2R 7ED
RU
29
(171) 555-0101
Tom Perham
25.09.1938
Puede especificarmanualmente losdatosde estatablade ejemploocopiarestatablaenun
programa de hojasde cálculo,como MicrosoftOffice Excel 2007, e importarla hojade datos
resultante auna tablade MicrosoftOffice Access2007.
Escribirlosdatos de ejemplomanualmente
En la fichaCrear,en el grupoTablas,haga clic enTabla.
Office Access2007 agrega unanuevatablaen blancoa la base de datos.
NOTA:No necesitaseguireste pasosi abre unanuevabase de datosen blancoperodeberá
hacerlosiempre que agregue unatabla ala base de datos.
Haga doble clicenla primeraceldade la filadel encabezadoyescribael nombre del campoenla
tablade ejemplo.
De formapredeterminada,Accessindicaloscamposenblancoenla filadel encabezadoconel
textoAgregarnuevocampo,como:
Un nuevocampo enuna hojade datos
30
Use lasteclasde flechapara desplazarse alasiguiente celdaenblancodel encabezadoyescribael
nombre del segundocampo(tambiénpuede presionarTABo hacer doble clicenlanuevacelda).
Repitaeste pasohastaque termine de escribirtodoslosnombresde campo.
Escriba losdatosen latabla de ejemplo.
Al ir escribiendolosdatos,Accessdeduce untipode datospara cada campo. Cadacampo de una
tablatiene untipode datos específico,comoNúmero,TextooFecha/Hora.Lostiposde datos
ayudana escribirlosdatosde formaprecisay a evitarerrores,comoel usode un númerode
teléfonoenuncálculo.Puedeespecificarel tipode datosde cada campo de una tablay cambiar el
tipode datos de un campo en determinadascircunstancias.Paraestatablade ejemplo,debería
dejarque Accessdeduzcael tipode datos.
Una vez terminadode escribirlosdatos,hagaclicenGuardar.
Métodoabreviadode tecladopresioneCTRL+G.
Se abrirá el cuadro de diálogo Guardar como.
En el nombre Nombre de latabla,escribaClientesyhagaclicen Aceptar.
Copiarla tablaen unprograma de hojasde cálculoe importarlaa Access
Inicie el programade hojasde cálculoy cree un nuevoarchivoenblanco.Si utilizaExcel, se creaun
nuevolibroenblancode formapredeterminada.
Copie latablade ejemploproporcionadaenlasecciónanteriorypéguelaenlaprimeraceldade la
primerahojade cálculo.
31
Con latécnicaproporcionadaporel programa de hojas de cálculo,asigne unnombre ala hoja de
cálculoClientes.
Guarde el archivo de hojade cálculoen una ubicaciónapropiadayvayaa lossiguientespasos.
Importarla tablaa Access
En una base de datos nuevao existente:
En la pestañaDatosexternos,enel grupoImportar,hagaclic enExcel.
O bien,
Haga clic enMás y seleccioneunprogramade hojasde cálculode lalista.
Aparece el cuadrode diálogoObtenerdatosexternos - Hojade cálculode Nombre del programa.
Haga clic enExaminar,abra el archivode hoja de cálculoque creó enlospasosanterioresy,a
continuación,hagaclicenAceptar.
Se iniciael Asistente paraimportaciónde hojasde cálculo.
De formapredeterminada,el asistenteseleccionalaprimerahojade cálculodel libro(Clientes,si
ha seguido lospasosdescritosenlaanteriorsección),ylosdatosde lahoja de cálculoaparecenen
la seccióninferiorde lapáginadel asistente.HagaclicenSiguiente.
En la siguiente páginadel asistente,seleccione Primerafilacontiene encabezadosde columnay,a
continuación,hagaclicenSiguiente.
32
En la siguiente páginadel asistente tiene laoportunidadde cambiarlosnombresde campoylos
tiposde datos o de omitircamposenla operaciónde importación,mediante loscuadrosde texto
y listasde Opcionesde campo.Nodebe hacerloparaeste ejemplo.Hagaclicen Siguiente.
En la páginasiguiente delasistente,enel cuadroOpcionesde campo,seleccione Sí(Sin
duplicados) enlalistaIndexadoyluegoEnterolargoenlalistaTipode dato.Haga clicenSiguiente
para continuar.
En la páginasiguiente delasistente,seleccione laopciónElegirlaclave principal,elijaIdClienteen
la listayhaga clic enSiguiente.
De formapredeterminada,Accessaplicael nombre de lahojade cálculoa lanuevatabla.
Asegúrese de que latablase denominaClientesyhagaclic enFinalizar.
En la últimapáginadel asistente,tiene laopciónde guardarlospasosdel procesode importación
para usarlosmás adelante.Comoestáimportandounatablade ejemplo,nose recomiendaque
guarde estospasos.
NOTA:Si no tiene unprograma de hojasde cálculo,puede copiarlosdatosde ejemploenun
editorde texto,comoBlocde notas.Para obtenermásinformaciónsobre laimportaciónde datos
de texto,veael artículo Importaro vinculara losdatosde unarchivo de texto.
Generarla consulta.
En primerlugar,usará un asistente paracrearla consulta,basándose enlatablade ejemploque
acaba de crear.Después,lamejoraráenla vistaDiseño.Encada paso,puede revisarlainstrucción
SQL que se generaautomáticamente mediantelospasosque vayasiguiendo.
En la fichaCrear,en el grupoOtros,haga clic enAsistente paraconsultas.
33
En el cuadro de diálogoNuevaconsulta,hagaclicenAsistente paraconsultassencillasy,a
continuación,hagaclicenAceptar.
En Tablas yconsultas,haga clicenla tablaque contiene losdatosque deseausar.Eneste caso,
haga clicen Tabla:Clientes.Recuerde que unaconsultatambiénpuedeusarotraconsultacomo
origende registros.
En Campos disponibles,hagadoble clicenloscamposContacto,Dirección,TeléfonoyCiudad.Esto
losagrega a la listaCamposseleccionados.Unavezagregadosloscuatrocampos,haga clic en
Siguiente.
Llame a la consultaContactosde Londresy, a continuación,hagaclicenFinalizar.
Accessmostrará todoslosregistrosde loscontactosen lavistaHoja de datos. Los resultados
incluyentodoslosregistros,perosólomuestranloscuatrocamposespecificadosenel asistente
para consultas.
RevisarlainstrucciónSQLinicial
Haga clic enVistaSQL enla barra de estadode Accesso haga cliccon el botónsecundarioenla
fichade objetode consultay,a continuación,hagaclicenVistaSQL.Accessabre la consultaenla
vistaSQL y muestrala siguiente:
SELECT Customers.[Contact],Customers.[Address],Customers.[Phone],Customers.[City]
FROMCustomers;
Tal como puede ver,enSQLla consultatiene dospartesbásicas:lacláusulaSELECT, que listalos
camposque están incluidosenlaconsulta,ylacláusulaFROM,que listalastablas que contiene
esoscampos.
NOTA:Si ha agregadoloscamposen unordendiferente al procedimientoanterior,el orden
utilizadose reflejaráenlacláusulaSELECT.
34
Cierre laconsulta.Tengaencuentaque la consultase guarda automáticamente.
Parte superiorde lapágina
Agregarcriteriosa laconsulta
Para limitarel númerode registrosque se devuelvenenlosresultadosde laconsulta,puede
especificarcriterios.
Un criteriode consultase puede considerarcomounacondiciónque se especificaparaun campo.
El criterioespecificaunacondición,basadaenlosvaloresdel campo,que expresaloque desea
incluirenlaconsulta,como"mostrar sólolosregistrosenlosque el valorde CiudadseaLondres".
Abra laconsultaenla vistaDiseño.Agregaráuncriterioal campo Ciudadpara verenlos resultados
de consultasóloaquelloscontactosque sonde Londres.Tambiénagregarácriteriosal campo
Direcciónyal campo Teléfonoparadepuraraúnmás losresultadosde laconsulta.
En la filaCriteriosdel campoCiudad,escribalondres.
Ahora,agregue doscriteriosmáspara que los resultadosseanmásútiles.Supongaque sólodesea
verlos registrosenlosque esténpresentestantoladireccióncomoel númerode teléfono.
En la filaCriterios del campoDirección,escribaNoesNuloAND<>"". Haga lo mismoenlafila
Criteriosdel campoTeléfono.
NOTA:El criterio,NoesNuloAND<>"", es verdaderosiempre que hayaunvalorconocidonovacío
para el campo para el que esun criterio.Es falsosiempre que hayaunvalordesconocido(Nulo) o
cuandoel valor conocidoestávacío ("").Puede usarestaexpresiónparacomprobarun campo
para un valorconocidono vacío.
35
Cambie a lavistaHoja de datos para verlos resultados.
RevisarlainstrucciónSQLcon criterios
Haga clic enVistaSQL enla barra de estadode Accesso haga cliccon el botónsecundarioenla
fichadel documentode consultay,a continuación,hagaclicenVistaSQL. Accessmuestrael
siguiente códigoSQL:
SELECT Customers.[Contact],Customers.[Address],Customers.[Phone],Customers.[City]
FROMCustomers
WHERE (((Customers.[Address]) IsNotNull And(Customer.[Address])<>"")
AND ((Customer.[Phone]) IsNotNull And(Customer.[Phone])<>"")
AND ((Customer.[City])="london"));
Observaráque lainstrucciónSQL tiene ahoraunacláusulaWHERE. Los criteriosque especifica
para loscampos de consultaaparecenenSQL enla cláusulaWHERE. En este caso, se combinan
utilizandoel operadorAND.
¿Y si nodeseaque se combinenlascondicionesconel operadorAND?Dichode otromodo,¿cómo
especificadoso máscriteriosperode modoque se incluyanlosregistrosque satisfagan
simplementeunode ellosoambos?
Especificarcriteriosalternativosmediante OR
Supongaque deseavertodoslosregistrosenlosque laciudad esLondresy enlosque se dispone
al menosde untipode datode contacto(ya seala direcciónoel númerode teléfono).Desea
combinarloscriteriosmediante el operadorOR,de laformasiguiente:
Para especificarcriteriosalternativos,use lasfilasCriteriosyOenla cuadrícula de diseño.Todos
losregistrosque cumplanloscriteriosdefinidosenlafilaCriteriosoenla filaOse incluyenenel
resultado.
36
Ahora,modificarálaconsultaespecificandocriteriosalternativosen lasfilasCriteriosyO.
Regrese ala vistaDiseño.
Quite lacadenaNo esNuloAND<>"" de la filaCriteriosdel campoTeléfono.
En la filaOdel campo Teléfono,escribaNoesNuloAND<>"".
En la filaOdel campo Ciudad,escribalondres.
Cambie a lavistaHoja de datos para verlos resultados.Enlosresultadosde laconsulta,se
mostrarántodos losregistrosque incluyanunadirección,unnúmerode teléfono,oambosyenlos
que el campo CiudadseaLondres.
NOTA:Para especificarmásde dosconjuntosde criteriosalternativos,use lasfilasdebajode lafila
O. Cada filarepresentaunconjuntoindependientede criterios.
RevisarlainstrucciónSQLcon criteriosrevisados
Haga clic enVistaSQL enla barra de estadode Accesso haga cliccon el botónsecundarioenla
fichadel documentode consultay,a continuación,hagaclicenVistaSQL. Accessmuestrael
siguiente códigoSQL:
SELECT Customers.[Contact],Customers.[Address],Customers.[Phone],Customers.[City]
FROMCustomers
WHERE (((Customers.[Address]) IsNotNull And(Customer.[Address])<>"") AND
((Customer.[City])="london"))
37
OR (((Customers.[Phone]) IsNotNull And(Customers.[Phone])<>"") AND
((Customers.[City])="london"));
Observaráque han cambiadodoscosas: el criterioque especificaque laciudadesLondresaparece
ahora dosvecesy loscriteriosde lacláusulaWHERE estáncombinadosmediante el operadorOR.
Para obtenermásinformaciónsobre cómoespecificarcriteriosparadiversostiposde campos,vea
Ejemplosde criteriosde consulta.
Parte superiorde lapágina
Agregarcálculosa la consulta
Una base de datosbiendiseñadanoalmacenasimplesvalorescalculadosentablas.Porejemplo,
una tablapuede almacenarlafechade nacimientode unapersonaperonosu edadactual.Si se
conoce la fechaactual yla fechade nacimientode lapersona,siempre se puedecalcularlaedad
actual,por lo que noes necesarioalmacenarese datoenlatabla.En vezde eso,se creauna
consultaque calculay muestrael valorpertinente.Loscálculos se efectúancadavezque se
ejecutalaconsulta,de modoque,si losdatos subyacentescambian,tambiéncambianlos
resultadoscalculados.
En este ejercicio,modificarálaconsultaContactosde Londrespara que muestre lafechade
nacimientoylaedadactual de cada contacto.
Abra laconsultaenla vistaDiseño.
En la ventanade la tablaClientes,arrastre el campoFechaNacimientoalaprimeracolumnaen
blancode la cuadrícula de diseño.Tambiénpuedehacerdoble clicenel nombre del campopara
agregarloautomáticamente enlaprimeracolumnaenblanco.
En la siguiente columna,enlafilaCampo,escribalaexpresiónque calculelaedadparacada
registro.EscribaEdad: DifFecha("aaaa",[FechaNacimiento],Fecha()).
38
Edad esel nombre que utilizaparael campo calculado.Si noespecificaunnombre,Accessusará
unogenéricopara el campo,por ejemplo,EXPR1.Lacadenaa continuaciónde losdospuntos(:) es
la expresiónque proporcionalosvaloresparacada registro.La funciónDifFechacalculala
diferenciaentre dosfechascualesquieraydevuelve ladiferenciaenel formatoespecificado.El
formatoaaaa devuelve ladiferenciaenañosyloselementos[FechaNacimiento] yFecha() de la
expresiónproporcionanlosdosvaloresde fecha.Fechaesunafunciónque devuelve lafecha
actual y [FechaNacimiento] hace referenciaal campoFechaNacimientode latablasubyacente.
NOTA:El cálculousadopara Edad en este ejemploesunaaproximaciónque puede resultar
ligeramenteimprecisa,enfuncióndel mesactual.
Cambie a lavistaHoja de datos. Verádoscampos adicionales,FechaNacimientoyEdad,enel
resultado.
RevisarlainstrucciónSQLcon cálculos
Haga clic enVistaSQL enla barra de estadode Accesso haga cliccon el botónsecundarioenla
fichadel documentode consultay,a continuación,hagaclicenVistaSQL. Accessmuestrael
siguiente códigoSQL:
SELECT Customers.[Contact],Customers.[Address],Customers.[Phone],Customers.[City],
Customers.[BirthDate],
DateDiff("yyyy",[BirthDate],Date())ASAge
FROM Customers
WHERE (((Customers.[Address]) IsNotNull And(Customer.[Address])<>"") AND
((Customer.[City])="london"))
OR (((Customers.[Phone]) IsNotNull And(Customers.[Phone])<>"") AND
((Customers.[City])="london"));
Observe que Clientes.[FechaNacimiento] yel campocalculado,Edad,aparecenahoraen la
cláusulaSELECT. La clave AS se usa para designarel nombre del campocalculado.
39
Para obtenermásinformaciónsobre cómoescribirexpresionesque calculanvaloresenuna
consulta,veael artículoCrear una expresión.
Parte superiorde lapágina
Resumirlosvaloresde laconsulta
Resumirlascolumnasde unaconsultaesmás fácil enOffice Access2007, si se compara con la
mismatarea enversionesanterioresde Access.Puedeagregar,contaro calcular otros valores
agregadosy mostrarlosenunafilaespecial (denominadalafilaTotal) que aparece debajode lafila
asterisco(*) enla vistaHoja de datos.
Puede usaruna funciónde agregadodiferente paracadacolumna.Tambiénpuede optarporno
resumirunacolumna.
En este ejercicio,modificarálaconsultaContactosde Londresde modoque se muestre lafila
Total.
Abra laconsultaenla vistaHoja de datos.
En la fichaInicio,enel grupoRegistros,hagaclicenTotales.
Haga clic enla filaTotal de la columnaContacto.
En la listadesplegable,puede elegirentre NingunoyCuenta.Dadoque lacolumnaContacto
contiene valoresde texto,otrasfuncionescomoSumay Promedionosonaplicablesynoestán
disponiblesporlotanto.
40
Seleccione Cuentaparacontar el númerode contactosque se muestranenel resultado.
El número5 aparece en lafilaTotal.
En el campo Edad,seleccione Promedio.Dadoque el campoEdad da como resultadounnúmero,
admite lasfuncionesSuma,Promedio,Cuenta,Máximo,Mínimo,DesviaciónestándaryVarianza.
Accessmuestrala edadpromedioenlafilaTotal.
Para quitarel total de una columna,hagaclic enla filaTotal situadabajolacolumnay, después,
seleccione Ningunoenlalistadesplegable.ParaocultarlafilaTotal,enla fichaInicio,enel grupo
Formatoy tipode datos,haga clicen Totales.
5.2 Consultas con parámetros:
Usar parámetrosenconsultase informes
Se aplicaa: Access2007
IMPORTANTE: Este artículo se ha traducidocon traducciónautomática;veala declinaciónde
responsabilidades.Parasureferencia,puedeencontrarlaversióneninglésde este artículoaquí.
Si deseaque una consultapara solicitarinformacióncadavezque se ejecute,puedecrearun
consultade parámetros.
Tambiénpuede crearun formulariopararecopilarvaloresde parámetro.Conunformulario
puede:
Usar controlesespecíficosde tipode datos
Habilitarlapersistenciade losvaloresde parámetro
41
Proporcionarcontrolesde cuadrocombinado(paraque puedaelegirunvalorde una listaenlugar
de escribirlo)
Usar otroscontrolesque estándisponiblesenformularios
En este artículo se proporcionainformacióngeneral sobre parámetros,se explicacómousar
parámetrosenconsultasytambiéncómousar formulariosparamejorarel uso de parámetros.
En este artículo:
Informacióngeneral
Usar parámetrosenconsultas
Especificarlostiposde datosde losparámetros
Crear unformularioque recopile parámetros
Informacióngeneral
Puede usarcriteriosenunaconsultaenAccesspara limitarel conjuntode registrosque laconsulta
va a devolver.Consideremosel siguiente caso.
Supongamosque tiene unaconsultadenominadaÚltimopedido,que devuelve losnombresylas
direccionesde susclientesjuntoconlafechaenla que enviósuúltimopedido.Acabade agregar
algunosproductosnuevose interesantesal inventarioyal catálogo.Cada vezque envía unpedido,
incluye unacopiadel actual catálogo.Prevé que losnuevosproductosvanatenermucho éxitoy
deseaasegurarse de que todoslosclienteslosconocen.Deseaenviarunnuevocatálogoatodos
losclientesque aúnnolohayan recibidojuntoconunpedido.
42
Por este motivo,deseacrearuna listade correocon losnombresy lasdireccionesde losclientes
cuyo últimopedidose envióantesde publicarse el nuevocatálogo.Paraello,aplicauncriterioal
campo de fechade envíode la consultaÚltimopedido.El criterioespecificaque lafechaque figura
enese campo debe seranteriorala fechaen laque se inicióladistribucióndel nuevocatálogo,
por ejemplo,31/3/2006. Cuandoejecute laconsulta,obtendráunalistade correoque contiene
únicamente losclientesque nohanrecibidoel nuevocatálogo.
Pero,¿qué sucede si vuelve aproducirse estasituación?Podríamodificarel diseño de laconsulta
cambiandoel valorespecificadoporel criteriopero,¿noseríaconveniente si laconsultapudiera
solicitarunafechay usar esafechapara decidirqué clientesse vanaincluirenlalistade correo?
Para ello,deberáusaruntipoespecial de criteriodenominadoparámetro.
Puede que loscuadrosde diálogoproporcionadosporunaconsultade parámetrossean
insuficientesparasusobjetivos.Enesoscasos,puede crearunformularioque se ajuste mejora
sus necesidadesde recopilaciónde parámetros.Eneste artículose explicacómocrear un
formularioque recopileparámetrosde informe.
En este artículo se supone que estáfamiliarizadoconlacreaciónde consultas.Comomínimo,debe
estarfamiliarizadoconlacreaciónde una consultade selecciónantesde continuar.
Para obtenermásinformaciónsobre cómocrearuna consultade selección,veael artículo
Seleccione datosmedianteunaconsulta.Paraobtenermásinformaciónacercade lasconsultasen
general,veael artículoIntroducciónalas consultas.
Este artículo incluye ejemplosde cómousarparámetrosen lasconsultas.Sinembargo,noincluye
una referenciaexhaustivaparaespecificarcriterios.
Para obtenermásinformaciónsobre cómoespecificarcriterios,veael artículode ejemplosde
criteriosde consulta.
Parte superiorde lapágina
43
Usar parámetrosenconsultas
Usar unparámetroen unaconsultaes tanfácil como crear una consultaque usacriterios.Puede
diseñarunaconsultade modoque solicite unsolodato,comoun númerode pieza,ovariosdatos,
como dosfechas.Porcada parámetro,unaconsultade parámetrosmuestraun cuadrode diálogo
independienteenel que se solicitaunvalorparaese parámetro.
Agregarun parámetroa una consulta
Cree una consultade seleccióny,acontinuación,abralaconsultaenla vistaDiseño.
En la filaCriteriosdel campoal que desee aplicarunparámetro,escribaentre corchetesel texto
que debe aparecerenel cuadro de diálogodel parámetro,porejemplo:
[Fechade inicio]
Cuandoejecute laconsultade parámetros,el mensajeaparecerásincorchetesenuncuadrode
diálogo.
Tambiénpuede usarunaexpresiónconlassolicitudesde parámetros,porejemplo:
Entre [fechade comienzo] Y[Fechade finalización]
NOTA:Aparece uncuadro de diálogoindependiente paracada solicitudde parámetros.Enel
segundoejemplo,aparecendoscuadrosde diálogo:unopara lafechade inicioyunopara la fecha
de finalización.
Repitael paso2 para cada campo al que desee agregarparámetros.
44
Puede usarlospasosanterioresparaagregar un parámetroa cualquierade lossiguientestiposde
consultas:
Selección
Tabla de referenciascruzadas
Datos anexados
Creaciónde tabla
Actualización
Tambiénpuede agregarunparámetroa una consultade unión.
Abra laconsultade uniónenla vistaSQL.
Agregue unacláusulaWHERE que contengacada uno de loscampos para losque desee solicitarun
parámetro.
Si ya existe unacláusulaWHERE,compruebe si loscampospara los que desee usarunasolicitud
de parámetrosya estánincluidosenlacláusula.Encaso contrario,agréguelos.
En lugar de usar un criterioenlacláusulaWHERE, use una solicitudde parámetros.
Hacer coincidirparte de un valorde campo con una cadenade parámetro
45
Es posible que quieraaplicarunpocode variabilidadenlaformaenque laconsultaaplicaun
parámetro.Porejemplo,puedeque desee que unaconsultaacepte unacadenade textoyla haga
coincidirconparte de un campo.Para ello,use lapalabraclave Comojuntocon caracteres
comodín.Por ejemplo,deseaque laconsultasolicite unpaíso una regiónde origen,peroningún
valorcoincidente siempre que el camporelevantelacadenade parámetro.Paraello:
Cree una consultade seleccióny,acontinuación,abralaconsultaenla vistaDiseño.
En la filacriteriosdel campoparalosque deseaaplicarel parámetro,escribacomo"*" & [,escriba
el textoque desee usarcomoindicadory,a continuación,escriba] &"*".
Cuandoejecute laconsultade parámetros,el mensajeapareceráenel cuadro de diálogosin
corchetesy sinlapalabra clave Comoo loscaracterescomodín.
Cuandola consultaacepte el parámetro,coincidiráconlosvaloresque contenganlacadenade
parámetro.Porejemplo,lacadenade parámetrouscoincide conlas filasdonde el campode
parámetrotiene el valorAustraliayfilasdonde el valoresAustria.
Puede usarasimismolapalabraclave Comoy loscaracterescomodín para especificarque un
parámetrodebe coincidirconel iniciooel final de unvalorde campo. Para que coincidacon el
iniciode unvalorde campo,omitalas comillas,el caráctercomodíny el carácter de y comercial
(&) delante del corchete de apertura.Paraque coincidaconel final de un valorde campo, omitael
carácter de y comercial,lascomillasyel caráctercomodín situadosdetrásdel corchete de cierre.
Coincidenciabasadaenvaloresdesiguales
Es posible que deseerecopilarunparámetro,peroenlugarde la consultadevuelvafilasconun
valorcoincidente,deseaque laconsultadevuelvafilasparaque otrascomparacionesse evalúa
como verdadero.Porejemplo,deseasolicitarunañoy,a continuación,devolverlasfilasdonde el
valorde añoes mayorque la cadenade parámetro.Paraello,escribaunoperadorde comparación
a la izquierdadel primercorchete del indicadorde parámetro>[año:].
46
Parte superiorde lapágina
Especificartiposde datosde parámetros
Tambiénpuede especificarqué tipode datosdebe aceptarunparámetro.Puede especificarel tipo
de datos para cualquierparámetro,peroes especialmenteimportanteespecificarel tipode datos
para losdatos numéricos,de monedaode fechay hora.Cuandose especificael tipode datosque
debe aceptarun parámetro,losusuariosvenunmensaje de errormásútil si especificanuntipode
datosequivocado,porejemplo,textocuandose esperamoneda.
NOTA:Si se configuraunparámetropara que acepte datos de texto,cualquierentradase
interpretarácomotextoyno se mostrará ningúnmensaje de error.
Para especificarel tipode datosde losparámetrosde unaconsulta,sigaestospasos:
Con laconsultaabiertaenla vistaDiseño,enlafichaDiseño,enel grupoMostrar u ocultar,haga
clicen Parámetros.
En el cuadro de diálogoParámetrosde laconsulta,enla columnaParámetro,escribalasolicitud
de cada parámetropara el que desee especificarel tipode datos.Asegúrese de que cada
parámetrocoincidacon lasolicitudque utilizaenlafilaCriteriosde lacuadrículade diseñode la
consulta.
En la columnaTipode datos,seleccione el tipode datosparacada parámetro.
Parte superiorde lapágina
Crear unformularioque recopile parámetros
47
Si bienlasconsultasde parámetrostienenuncuadrode diálogointegradoque recopila
parámetros,sóloofrecenunafuncionalidadbásica.Si usaunformulariopararecopilar
parámetros,podrádisponerde lassiguientescaracterísticas:
Posibilidadde usarcontrolesespecíficosdel tipode datos,comocontrolesde calendarioparalas
fechas.
Persistenciade losparámetrosrecopilados,paraque puedausarlosconmásde una consulta.
Posibilidadde proporcionaruncuadrocombinadoo cuadro de listapara la recopilaciónde
parámetros,de modoque se puede elegirunvalorenunalistade valoresde datosdisponibles
Posibilidadde proporcionarcontrolesparaotrasfunciones,comoabriro actualizarunaconsulta.
Sigaestospasospara crear unformularioque recopile parámetros.
Paso1: Crear un formularioque acepte entradas
Paso2: Crear un móduloparacomprobarsi el formulariode parámetrosyaestá cargado
Paso3: Crear un grupode macros que controle el formulario
Paso4: Agregarbotonesde comandoAceptary Cancelaral formulario
Paso5: Usar losdatosdel formulariocomocriteriosde consulta
Paso1: Crear un formularioque acepte entradas
48
En la fichaCrear,en el grupoFormularios,hagaclicenDiseñode formularios.
En la vistaDiseño,presione F4para que aparezcala hojade propiedadesy,acontinuación,
especifique laspropiedadesdelformulario,tal comose muestraenlasiguiente tabla.
Propiedad
Valor
Título
Escriba el nombre que debe aparecerenlabarra de título del formulario.
Vistapredeterminada
Un únicoformulario
PermitirvistaFormulario
Sí
PermitirvistaHojade datos
No
PermitirvistaTabladinámica
49
No
PermitirvistaGráficodinámico
No
Barras de desplazamiento
Ninguna
Selectoresde registro
No
Botonesde navegación
No
Estilode losbordes
Diálogo
Por cada parámetroque va a recopilarel formulario,hagaclicenCuadrode textoenel grupo
Controlesde lafichaDiseño.
Configure laspropiedadesde loscuadrosde texto,tal ycomo se muestraenla tablasiguiente.
50
Propiedad
Valor
Nombre
Escriba unnombre que describael parámetro,porejemploFechaDeInicio.
Formato
Elijaunformato que reflejeel tipode datosdel campode parámetro.Porejemplo,seleccione
Fechageneral para uncampo de fecha.
Guarde el formularioyasígnele unnombre,porejemploIntervalode fechas.
Paso2: Crear un móduloparacomprobarsi el formulariode parámetrosyaestácargado
En la fichacrear, enel grupo otros,haga clicen módulo.Si este comandonoestádisponible,haga
clicen la flechadebajode laMacro o el botóndel Módulode clase y,a continuación,hagaclicen
módulo.
En el Editor de Visual Basicse abre un nuevomódulo.
Escriba o pegue el siguiente códigoenel Editorde Visual Basic:
FunctionIsLoaded(ByVal strFormName AsString) AsBoolean
DimoAccessObjectAsAccessObject
51
SetoAccessObject=CurrentProject.AllForms(strFormName)
If oAccessObject.IsLoadedThen
If oAccessObject.CurrentView<>acCurViewDesignThen
IsLoaded= True
End If
End If
End Function
Guarde el móduloy,a continuación,cierre el Editorde VisualBasic.
Paso3: Crear un grupode macros que controle el formulario
En el grupo Otrosde lapestañaCrear,haga clic enMacro. Si el comandono estádisponible,haga
clicen la flechaque aparece bajoel botónMóduloMódulode clase yluegohagaclicen Macro.
En el grupo Mostrar u ocultar de la fichaDiseño,haga clicenMostrar todaslas acciones.
En la fichaDiseño,enel grupoMostrar u ocultar,haga clic enNombresde Macro para mostrarla
columnaNombre de laMacro.
Escriba unnombre de macro, como Cuadrode diálogoAbrir,enlacolumnaNombre de lamacro.
Haga clic enla celdade la columnaAcciónsituadajuntoal nombre de la nuevamacro,haga clic en
la flechadesplegable y,acontinuación,hagaclicenAbrirFormulario.
En la cuadrícula Argumentosde acción(que se encuentradebajode lacuadrículade diseñode
macro),establezcalosargumentosde acción,comose muestraenla tablasiguiente.
Argumento
52
Valor
Nombre del formulario
Escriba el nombre que le asignóal formulariode parámetrosdel informe.
Vista
Formulario
Modo de datos
Editar
Modo de la ventana
Diálogo
En la siguiente celdaAcción,hagaclicenCancelarEventoparaagregaruna segundaacción.Se usa
estaacción para cancelarla vistapreviao laimpresióndel informe cuandounusuariohace clicen
el botónCancelardel formulario.
Si no ve la columnaCondición,hagaclicenCondicionesdel grupoMostraru ocultarenla ficha
Diseño.
En la columnacondición,escribaNotIsLoaded,seguidode unparéntesisde aperturayunas
comillas,seguidoporel nombre que asignadoal formulario de parámetrosdel informey,a
53
continuación,seguidode unascomillasyunparéntesisde cierre.Porejemplo,si el formulariose
denominaselectorde parámetro,escribaNotIsLoaded("Selectorde parámetro").
En la siguiente filaenblancode lacuadrículade diseñode lamacro,escribaun nombre de macro,
como Cuadrode diálogoCerrar.
En la celdaacciónadyacente,hagaclic enla flechadesplegable y,acontinuación,hagaclicen
Cerrar. La consultautilizaráestaacciónpara cerrar el formulariode parámetros.Establezcasus
argumentosde acción,comose muestraenla tablasiguiente.
Argumento
Valor
Tipode objeto
Formulario
Nombre de objeto
Escriba el nombre que le asignóal formulariode parámetrosdel informe.
Guardar
No
En la siguiente filaenblancode lacuadrículade diseñode lamacro,escribaun nombre de macro,
como Aceptar.En laceldaAcciónadyacente,hagaclic enla flechadesplegable y,acontinuación,
54
haga clicen EstablecerValor.Se usaestaacciónpara ocultar el formulariode parámetrosde
informe cuandoel usuariohace clicenAceptar.Configure losargumentosde laacción,tal y como
se muestraen lasiguiente tabla.
Argumento
Valor
Elemento
[Visible]
Expresión
No
En la siguiente filaenblancode lacuadrículade diseñode lamacro,escribaun nombre de macro,
como Cancelar.En laceldaAcciónadyacente,hagaclicen la flechadesplegable y,acontinuación,
haga clicen Cerrar.Se usaesta acciónpara cerrar el formulariode parámetrosde informe cuando
el usuariohace clic enCancelar.Configure losargumentosde laacción,tal y como se muestraen
la siguientetabla.
Argumento
Valor
Tipode objeto
55
Formulario
Nombre de objeto
Escriba el nombre que le asignóal formulariode parámetrosdel informe.
Guardar
No
Guarde y cierre el grupo de macros. Asigne unnombre,porejemplo,laMacro del intervalode
fechaal grupode macros.
Paso4: Agregarbotonesde comandoAceptary Cancelaral formulario
Volveraabrir el formulariode intervalode fechasenlavistaDiseño.
Asegúrese de que noesté seleccionadalaopciónUtilizarasistentesparacontrolesenel grupo
Controlesde lafichaDiseño.
En la fichaDiseño,enel grupoControles,hagaclicenBotón.
Sitúe el punterodebajode loscuadros de textodel formularioy,después,arrastre paracrear un
botónde comando Aceptar.
Si la hojade propiedadesnoestávisible,presioneF4para mostrarla.
56
Configure laspropiedadesdelbotónAceptar,tal comose muestraenla tablasiguiente.
Propiedad
Valor
Nombre
Aceptar
Título
Aceptar
Predeterminado
Sí
AlHacerClic
Escriba el nombre de lamacro, por ejemplo,fechaRange.OK.
Cree un botónde comandoCancelary configure suspropiedades,tal comose muestraenlatabla
siguiente.
Propiedad
57
Valor
Nombre
Cancelar
Título
Cancelar
AlHacerClic
Escriba el nombre de lamacro, por ejemplo,fechaRange.Cancel.
Guarde y cierre el formulario.
Paso5: Usar losdatosdel formulariocomocriteriosde consulta
Abra laconsultaenla vistaDiseño.
Especifiqueloscriteriosparalosdatos.Use el objetoForms, el nombre del formularioyel nombre
de la control:
Por ejemplo,enunabase de datosde Access(.accdbo .mdb),para unformulariodenominado
Intervalode fechas,use lasiguiente expresiónparareferirse aloscontrolesdenominadosFecha
de inicioyFecha de finalizaciónenlaconsulta:
58
Entre [Forms] ![Intervalode fechas]![StartDate] y[Forms]![Intervalode fechas]![EndDate]
59
6.CONCLUSIONES
MicrosoftAccesses unaherramientade fácil manejo paralamanipulación ycreacionde base de
datosajustadasa microempresas,se encuentraincluidadentrodel paquetede microsoftoffice es
una herramientaalacual cualquierpersonasinmuchoconocimientode basesde datos,puede
utilizarlaconel finde crear unasimple plantillaodostablasreacionadas.
60
7.CIBERGRAFIA
https://support.office.com/es-es/article/Conceptos-b%C3%A1sicos-sobre-bases-de-datos-
a849ac16-07c7-4a31-9948-3c8c94a7c204

Más contenido relacionado

ODT
Base de datos
PPTX
Base de datos en microsoft sql server
ODT
Cuestionario de informática ivan hidalgo
PDF
presentacioninformatica-090629151447-phpapp02.pdf
PPTX
Base de datos de scrap
DOCX
Investigacion2 hoja de calculo
PPTX
Diapòsotivas andry
PPTX
34 tozcano garcia yennifer tatiana introduccin a excel 10c
Base de datos
Base de datos en microsoft sql server
Cuestionario de informática ivan hidalgo
presentacioninformatica-090629151447-phpapp02.pdf
Base de datos de scrap
Investigacion2 hoja de calculo
Diapòsotivas andry
34 tozcano garcia yennifer tatiana introduccin a excel 10c

La actualidad más candente (17)

PPTX
diapositivas
DOCX
Cuadro comprativo de hojas de calculo
DOCX
Sistemas de gestores de base de datos
DOC
Base de datos fernando
PPTX
Trabajo bd
PDF
Hoja de cálculo
PPTX
Utilitarios
PPTX
Power point access
ODT
Consulta base de datos
PPTX
Historia del sql
PDF
POOABD (POO Aplicada a B Datos) - RDBMS parte 2 -2020
PPTX
Material Clase BDD: Diseño de una Base de Datos
DOCX
Prueba ayudantía
DOCX
Examen de informatica
ODT
trabajodeinformatica
PPTX
BASE DE DATOS EN MICROSOFT SQL SERVER
diapositivas
Cuadro comprativo de hojas de calculo
Sistemas de gestores de base de datos
Base de datos fernando
Trabajo bd
Hoja de cálculo
Utilitarios
Power point access
Consulta base de datos
Historia del sql
POOABD (POO Aplicada a B Datos) - RDBMS parte 2 -2020
Material Clase BDD: Diseño de una Base de Datos
Prueba ayudantía
Examen de informatica
trabajodeinformatica
BASE DE DATOS EN MICROSOFT SQL SERVER
Publicidad

Similar a Diego velez tutorial access (20)

PPTX
Mayra Guaman Ca3 8
PPTX
Microsoft Access
PPTX
Lina rojas base de datos
PPTX
Microsoft access
PPTX
Lina rojas base de datos
PPTX
Lina rojas base de datos
PPTX
Lina rojas base de datos
PPTX
Lina rojas base de datos
PPTX
PPTX
Microsft acces 2013
DOCX
Whilmar_Molina_Unidad1Informe.docx
DOCX
base de datos definicion.caracteristicas.base de datos relacional
PPTX
historia de asssess
PPTX
microsoft Access
PPTX
Base de datos
PPTX
Tema LOS SGBD O DBMS.pptx
PDF
Dase de datos
PPTX
Base de datos
PPTX
presentacion de Access
PPTX
Sistema gestores de datos. oscar garcia
Mayra Guaman Ca3 8
Microsoft Access
Lina rojas base de datos
Microsoft access
Lina rojas base de datos
Lina rojas base de datos
Lina rojas base de datos
Lina rojas base de datos
Microsft acces 2013
Whilmar_Molina_Unidad1Informe.docx
base de datos definicion.caracteristicas.base de datos relacional
historia de asssess
microsoft Access
Base de datos
Tema LOS SGBD O DBMS.pptx
Dase de datos
Base de datos
presentacion de Access
Sistema gestores de datos. oscar garcia
Publicidad

Último (20)

PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
IPERC...................................
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Programa_Sintetico_Fase_4.docx 3° Y 4°..
informe tipos de Informatica perfiles profesionales _pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
Tomo 1 de biologia gratis ultra plusenmas
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
IPERC...................................
Ernst Cassirer - Antropologia Filosofica.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
Atencion prenatal. Ginecologia y obsetricia
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf

Diego velez tutorial access

  • 1. 1 TABLA DE CONTENIDO DIEGO ALEJANDRO VELEZ URREGO ACCESS PROFESORA DILLY DAGNIS CEFIT CORREO THEKOUSHI@GMAIL.COM TECNICO EN SISTEMAS
  • 2. 2 INTRODUCCIÓN Introducción al Microsoft Access El Microsoft Access es un software utilizado para el desarrollo de sistemas de Base de Datos. Él está basado en el argumento de las bases de datos relacionales en el cual el usuario/proyectista mantiene informaciones organizadas en forma tabular. No es el objetivo de esta apostilla detallar cualquier metodología de análisis de sistemas orientado a la especificación de soluciones basadas en el argumento relacional. Normalmente este análisis y reflexión previos, constituyen pasos importantes para la obtención de buenos sistemas automatizados de almacenamiento y recuperación de informaciones. A lo largo del texto, se emplea un ejemplo/modelo muy simple basado en apenas tres tablas. Lo que se desea automatizar es una nómina de empleados donde, además de las informaciones típicas de nombre y número, participan informaciones asociadas referentes al departamento del empleado, su cargo y su salario. Estas informaciones constan en otras dos listas. Estas listas son naturalmente tabulares y su exacto contenido queda evidente a lo largo del texto. El texto que sigue no pretende de forma alguna agotar todos los recursos y posibilidades del Access. En general, los puntos más relevantes y de utilidad más inmediata fueron abordados. Se intentó evitar el detalle minucioso principalmente en referencia a los recursos estéticos de la pantalla. Además de esto, ciertamente, hay puntos que simplemente fueron olvidados o ignorados a lo largo de esta compilación. La parte de programación no es abordada en este texto introductorio. Todos los contenidos de una Base de Datos en Access son reunidos en un único archivo de extensión mdb. Para abrir una Base de Datos Basta seleccionar el archivo de la pantalla de diálogo del menú Archivo opción Abrir Base de Datos. Para crear una nueva Base de Datos se selecciona la opción Nueva Base de Datos. El Access también crea un archivo de extensión lbd. Este archivo tiene utilidad en habientes multiusuários donde una misma Base de datos puede estar siendo
  • 3. 3 accedido simultáneamente por varios usuarios. Si este no fuera el caso, entonces no es necesario preocupare con este archivo. Inclusive no es necesario copiar el archivo conjuntamente con el archivo de extensión mdb, por ejemplo, para un disco. El Access recrea el archivo ldb si el no estuviera presente. Conviene observar que en el menú Archivo cuenta con la opción Guardar, mientras, ella no se refiere al archivo mdb. Ella sirve para guardar objetos aislados del Access: Tablas, formularios, consultas, informes y macros. Esto significa que a lo largo de una sesión el archivo mdb es constantemente actualizado y no es posible revertirlo a su condición original al inicio de la cesión.
  • 4. 4 Contenido INTRODUCCIÓN......................................................................................................................... 2 TEORIA 1 HOJA.......................................................................................................................... 5 TABLAS..................................................................................................................................... 6 1.1 Campos:..................................................................................................................... 6 1.2 Registros:................................................................................................................... 8 1.3 Llave primaria............................................................................................................. 9 1.4 Llave foránea o secundaria.........................................................................................10 2 FORMULAROS .......................................................................................................................13 2.1 Formulario:.....................................................................................................................13 3 PANEL DE CONTROL ANIDADO ...............................................................................................14 4 INFORMES.............................................................................................................................18 4.1 Informes:........................................................................................................................18 5. CONSULTAS..........................................................................................................................19 5.1 Asistente para consultas:.................................................................................................19 5.2 Consultas con parámetros: ..............................................................................................40 6.CONCLUSIONES.....................................................................................................................59 7.CIBERGRAFIA.........................................................................................................................60
  • 5. 5 TEORIA 1 HOJA Microsoft Access es un sistema de gestión de bases de datos incluido en el paquete ofimático denominado Microsoft Office. Igualmente, es un gestor de datos que recopila información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música, etcétera. Está pensado en recopilar datos de otras utilidades (Excel, SharePoint, etcétera) y manejarlos por medio de las consultas e informes. Historia Proyectos Omega y Cirrus Maimara Retamales[editar] Microsoft carecía de una solución propia de base de datos relacional, y hasta entonces se limitaba a distribuir un producto de terceros llamado R:BASE, una aplicación para MS-DOS. En 1988 se empezó a desarrollar un producto SQL (de nombre clave Omega) para Windows y OS/2, junto con el que se escribió un lenguaje de macros llamado EB ("Embedded Basic") que se utilizaría en la mayoría de software Microsoft hasta la llegada de VBA. También se buscaba que Omega funcionara como front-end para Microsoft SQL Server. Omega requería una enorme cantidad de recursos de los procesadores 386 disponibles en la época para usos comerciales, retrasando su llegada desde el primer cuatrimestre de 1990 hasta enero de 1991. Más tarde partes del proyecto fueron utilizados para otros proyectos de Microsoft. Cirrus (nombre clave para Access) y Thunder (nombre clave para Visual Basic, en el que se utilizó el motor Embedded Basic). Tras el adelanto de Access, Omega fue demostrado ante varios periodistas en 1992 y Access presentaba funciones que Omega no tenía. Después de la cancelación de Omega, algunos de sus desarrolladores fueron reasignados al proyecto Cirrus (la mayoría fue a parar al equipo creador de Visual Basic). Su meta era crear un competidor de productos como dBase y Paradox en el entorno Windows. El proyecto pareció condenado con la compra de FoxPro (una App de base de datos completamente diferente a Access) por parte de Microsoft, pero la compañía decidió continuar con el desarrollo de Cirrus. Al principio se asumió que el producto usaría el motor Extensible Storage Engine (Jet Blue) pero al final fue reemplazado por otro motor llamado Microsoft Jet Database Engine (Jet Red). El proyecto usó partes del código escrito para Omega y una versión.
  • 6. 6 TABLAS 1.1 Campos: Todoslos campode unatabla tienenpropiedades.Éstasdefinenlascaracterísticasyel comportamientodel campo.Lapropiedadmásimportante de uncampoessu tipode datos.El tipode datos de un campo determinalaclase de datosque va a poderalmacenar.Por ejemplo,uncampocuyotipode datos seaTextopodráalmacenardatos que se compongande caracteresde textoonuméricos,mientrasque uncampo cuyotipode datos seaNúmerosólo podrá almacenardatosnuméricos. El tipode datos de un campodeterminaotrasmuchascualidadesimportantesdel mismo, como: La formade usar el campo enexpresiones. El tamañomáximode un valordel campo. Si el campo se puede indizar. Los formatosque se puedenusarcon el campo.
  • 7. 7 Cuandose crea un nuevocampoen lavistaDiseño,se especificasutipode datosy, de forma opcional,susdemáspropiedades. 1. Tipo de datos 2. Propiedadesde campo Cuandose crea un campo enla Vistade hojade datos,sutipode datosse define automáticamente.Si creauncampoen estavistamediante unaplantillade campoo un campo existente de otratabla,el tipode datosya está definidoenlaplantillaoenla otra tabla.Si crea un campo mediante laespecificaciónde datosenlavistaHoja de datos, MicrosoftOffice Accessasignauntipode datos a dichocampo basándose enlosvaloresque escriba.Si escribe valoresde distintostiposde datos,Accesspuedepedirle que tome una decisiónsobre el tipode datos.
  • 8. 8 1. Cree un campo al especificardatosenunacolumnavacía. 2. Ajuste el tipode datosdel campo y otraspropiedadesdel mismomediante lafichaHojade datosde lacinta de opciones. 1.2 Registros: En informática,o concretamente enel contextode unabase de datosrelacional,unregistro (tambiénllamadofilaotupla) representaunobjetoúnicode datosimplícitamente estructuradosenunatabla.En términossimples,unatablade una base de datos puede imaginarse formadade filasycolumnasocampos.Cada filade una tablarepresentaun conjuntode datosrelacionados,ytodaslasfilasde la mismatablatienenlamismaestructura. Un registroesun conjuntode camposque contienenlosdatosque pertenecenaunamisma repeticiónde entidad.Se le asignaautomáticamente unnúmeroconsecutivo(númerode registro) que enocasionesesusadocomoíndice aunque lonormal ypráctico esasignarle a cada registroun campoclave para su búsqueda
  • 9. 9 1.3 Llave primaria: Una clave principal esuncampo o un conjuntode camposde la tabla que proporcionaun identificadorúnicoparacada registro.Enuna base de datos, lainformaciónse divide entablas distintasenfuncióndel tema.A continuación,se usanrelacionesde tablasyclavesprincipales para indicara Accesscómo debe volverareunirlainformación.Accessusacamposde clave principal paraasociar rápidamente losdatosde variastablasycombinaresosdatosde forma significativa. Puede incluirloscamposde clave principal enotrastablasparahacer referenciaalatabla que esel origende la clave principal.Enesastablas,loscamposse denominanclavesexternas.Por ejemplo,uncampoId.de cliente de latablaClientestambiénpodríaaparecerenlatabla Pedidos.EnlatablaClientes,éstaeslaclave principal.EnlatablaPedidosse denominaclave externa.Unaclave externaeslaclave principal de otratabla
  • 10. 10 1.4 Llave foráneao secundaria: Clave foránea En el contextode basesde datosrelacionales,unaclave foráneao clave ajena(oForeignKey FK) esuna limitaciónreferencial entre dostablas.Laclave foráneaidentificaunacolumnao grupode columnasenunatabla (tablahijao referendo) que se refiere aunacolumnao grupo de columnasenotra tabla (tablamaestrao referenciada).Lascolumnasenlatablareferendo debenserlaclave primariau otra clave candidataenla tablareferenciada. Los valoresenunafilade las columnasreferendodebenexistirsoloenunafilaenlatabla referenciada.Así,unafilaenla tablareferendonopuede contenervaloresque noexistenen la tablareferenciada.De estaforma,lasreferenciaspuedensercreadasparavincularo relacionarinformación.Estoesunaparte esencial de lanormalizaciónde base de datos. Múltiplesfilasen latablareferendopuedenhacerreferencia,vincularse orelacionarseala mismafilaenlatabla referenciada.Mayormente estose ve reflejadoenunarelaciónuno (tablamaestrao referenciada)amuchos(tablahijao referendo). La tablareferendoylatablareferenciadapuedenserlamisma,estoes,laclave foránea remite ohace referenciaalamismatabla.Esta clave externaesconocidaenSQL:2003 como auto-referenciaoclave foránearecursiva.Unatablapuede tenermúltiplesclavesforáneasy cada una puede tenerdiferentestablasreferenciadas.Cadaclave foráneaesforzada independientementeporel sistemade base de datos.Portanto,las relacionesencascada
  • 11. 11 entre tablaspuedenrealizarse usandoclavesforáneas.Configuracionesimpropiasde las clavesforáneasoprimariaso noforzar esasrelacionessonfrecuentementelafuente de muchosproblemasparala base de datos o para el modelamientode losmismos. Por ejemplo,digamosque haydostablas,unatablaCONSUMIDORque incluye todoslosdatos de losconsumidores,yotraque es latabla de ORDENES.La intenciónesque todaslasórdenes esténasociadasa lainformacióndel consumidoryque vivenensupropiatabla.Para lograr estodebemoscolocarunaclave foráneaenla tablaORDENES con relaciónala llave primaria de la tablaCONSUMIDOR. La clave foráneaidentificaunacolumna(s) enunaTABLA REFERENCIANTEa una columna(s) en la TABLA REFERENCIADA. LLAVE SECUNDARIA oFONAREA. Es aquellaque utilizasparareferenciarlosdatosde loscuales provienen,porejemplo:tienes una tablacon la listade productoslacual tiene loscampos:CLAVE,DESCRIPCIÓN yPRECIO. Por otro lado,tienesunatablaconel detalle de laVENTA,lacual contiene datosde Cuantosy que productoshas vendido,enesatablanohace faltarepetirlosdatosdel productotales como DESCRIPCIÓN YEL PRECIO,ya que lostienesenlatablade productos,así entonces,lo unicoque necesitasesunaLLAVEFORANEA que te apunte desde latablaVENTASa la tabla PRODUCTOS,para saber que productoesel que estasvendiendo,ejemplo: TABLA PRODUCTOS: CLAVEDESCRIPCIÓN PRECIO --------------------------------------... 1 FRIJOL10 2 ARROZ11 3 POLLO13 TABLA VENTAS:
  • 12. 12 PRODUCTO CANTIDAD --------------------------------------... 1 3 2 4 1 5 2 1 1 3 ComopuedesobservarenlatablaVENTAStengouna columnaPRODUCTOque estará ligada con la columnaCLAVEde la tablaPRODUCTOS,estopermite que consolosaberel númerodel productopuedosabersu descripciónypreciosi revisoenla tablaPRODUCTOS. En las llavesforaneasosecundariaspuedenrepetirse losdatos,comoveselnúmero1se repite 3 veces.Enlas llavesprimariasestonoesposiblepuestoque debe mantenerseuna INTEGRIDADes decirque nose repita.Enel caso de lasllavesforaneasosecundariasla INTEGRIDADque se exige esque laclave tengasucorrespondiente númeroenlaTablaque se referencia,porejemplo;NOEXISTEEL PRODUCTO6, por lotanto no deberiapoderanotaren lasVENTASun númeroque noexistaenlatabla PRODUCTOS. LLAVE CANDIDATA La llave candidataessolomeramenteconceptualenrealdadnoloimplementasenlabase de datosy es más biencuandohacesel analisisde cualesserantusllavesprimarias.Cuandocreas lastablas existencamposque sonCANDIDATOSaserlas llavesprimarias,porquepodrían llegara cumplirel requisitode norepetirse,porejemplo,volvemosalatabla EMPLEADOS que tiene loscampos:Nombre,RFC,asíno sotros sabemosque nopuedenexistirDOSPERSONAS CON EL MISMO RFC,por lotanto la columnaRFCsería CANDIDATA a serla llave primaria...peroentonceslapreguntaes,porque nose tomacomola llave primariasi cumple el requisito,larespuestaesporque enocasionesesmásfacil que nosotrosdefinamosuncampo que podamoscontrolarnumericamenteyademásseamásfacil de determinar,tal esel caso por el cual agregamosel campo Calve a la tablaEMPLEADOS.
  • 13. 13 2 FORMULAROS 2.1 Formulario: Formularios Imagendel botónLosformulariospermitencrearunainterfazde usuarioenlaque puede escribir y modificardatos.Losformulariosamenudocontienenbotonesde comandosyotroscontroles que realizandistintastareas.Puede crearunabase de datos sinusar formularioscontansolo modificarlosdatosenlashojasde datosde latabla.Sin embargo,lamayoría de losusuariosde basesde datos prefierenusarformulariosparaver,escribirymodificardatosenlastablas. Puede programarbotonesde comandosparadeterminarqué datosaparecenenel formulario, abrir otrosformulariosoinformes,oejecutarotrastareas.Porejemplo,puede tenerun formulariollamado"Formulariode cliente"enel que trabajaconlos datosde los clientes.El formulariode cliente puede tenerunbotónque abraun formulariode pedidoenel que puede especificarunpedidonuevoparael cliente. Los formulariostambiénle permitencontrolarde qué maneraotrosusuariosinteractúanconlos datosde labase de datos.Por ejemplo,puedecrearunformularioque muestre solodeterminados camposy permitaque se realicenúnicamenteciertasoperaciones.Estoayudaa protegerlosdatos y a asegurarse de que losdatos se especificancorrectamente. Para obtenermásinformaciónsobre losformularios,veael artículoIntroducciónalosformularios.
  • 14. 14 3 PANEL DE CONTROL ANIDADO Crear un panel de control para una base de datos de Access 5 comentarios Enviar por correo electrónicoEscribe un blogCompartir con Tw itterCompartir con Facebook Si tenemosuna base de datosde Access que va a ser utilizada por usuarios,nos será realmente útil crear un panel de controlo formulario de acceso,que permita al usuario manejar la aplicación de forma sencilla. Lo más cómodo para que el usuario maneje la base de datos con facilidad es ir crear formularios para las acciones mas habituales, como introducción de registros en las tablas, búsqueda de información, creación de informes y etiquetas, etc. Una vez creados estos formularios creamos un panel de control que enlace con los formularios que va a utilizar el usuario. Estos formularios pueden ser a su vez, paneles de control secundarios. El panel de control principal permitirá la entrada a los demás formularios. Access dispone de un asistente para crear el Panel de Control, en el menú Herramientas – Utilidades de la base de datos – Administrador del panel de control. Si aún no hemos creado ningún panel de controlaparece un cuadro de diálogo,preguntándonos si queremos crearlo en este momento. Contestamos Si. Crear un panel de control para una base de datos de Access:
  • 15. 15 Pulsamos en el botón Nueva para ir agregando cada una de las páginas(formularios,en nuestro ejemplo) a los que queremos acceder mediante el panel de control. Así, vamos agregando uno a uno los enlaces que va a tener nuestro panel de control principal. En nuestro ejemplo hemos añadido enlaces a los formularios Búsqueda, Entrada de datos, Etiquetas e Informes.
  • 16. 16 Una vez creados los enlaces, seleccionamos el primero (busqueda) y pulsamos en Modificar para enlazarlo realmente con el formulario Busqueda, que permite al usuario buscar registros. En Comando seleccionamos Abrir el formulario en modo Edición y seleccionamos el formulario Busqueda. Pulsamos Aceptar para finalizar. De esta forma vamos seleccionando cada uno de los enlaces y los vamos asociando al formulario indicado en cada caso, mediante la opción comando y formulario. El resultado de nuestro ejemplo será un panel de control con la siguiente apariencia:
  • 17. 17
  • 18. 18 4 INFORMES 4.1 Informes: ¿Qué son y cómo crear informes? Si necesitas compartir información de tu base de datos con alguien pero no quieres que trabajen en ella, tienes la opción de crear un informe porque ellos te permiten organizar y presentar los datos en un formato de fácil lectura y atractivo a la vista. Con Access 2010 puedes crear informes fácilmente y personalizarlos a partir de cualquier consulta o tablas en tu base de datos. En esta lección, aprenderás a crear, modificar e imprimir informes.
  • 19. 19 5. CONSULTAS 5.1 Asistente para consultas: Crear unaconsultade selecciónsencilla Se aplicaa: Access2007 IMPORTANTE: Este artículo se ha traducidocon traducciónautomática;veala declinaciónde responsabilidades.Parasureferencia,puedeencontrarlaversióneninglésde este artículoaquí. Una consultade selecciónse puedeusarparacrear subconjuntosde datosque sirvanpara responderapreguntasespecíficas.Tambiénse puede usarparasuministrardatosaotros objetos de base de datos.Una vezcreada una consultade selección,se puedeusarsiempre que sea necesario. En este tema,se explicacómocrear consultasde selecciónsencillasque busquendatosenuna tablaúnica.Tambiénse explicacómomejorarlaconsultadefiniendocriteriosparalosregistrosy agregandovalorescalculados. En este artículo Introducción Crear unaconsulta Agregarcriteriosa laconsulta Agregarcálculosa la consulta Resumirvaloresde consulta
  • 20. 20 Introducción Una consultade selecciónes untipode objetode base de datosque muestrainformaciónenuna Vistade hojade datos.Una consultapuede obtenersusdatosde unatabla o de varias,de consultasexistentes,ode unacombinaciónde ambasopciones.Lastablaso lasconsultasde las que una consultaobtiene susdatosse conocencomosu origende registros. Ya cree consultasde selecciónsencillasmedianteunasistenteotrabajandoenlavistaDiseño,los pasosson,en esencia,losmismos.Debeelegirel origende registrosque deseautilizarylos camposque deseaincluirenlaconsulta.Opcionalmente,puedeespecificarcriteriosparadepurar losresultados. Una vez creadala consultade selección,puede ejecutarlaparaverlosresultados.Lasconsultasde selecciónsonmuyfácilesde ejecutar:sólotieneque abrirlasenlavistaHojade datos. Podrá reutilizarlassiempre que lonecesite;porejemplo,comoorigende registrosparaunformulario,un informe uotra consulta. NOTA:Para obtenerinformaciónsobre el usode unaconsultacomo origende registrosparaun formulariooinforme,veael artículoUsar una consultacomoorigende registrosde unformulario o informe. Hay variostiposde consulta,y cada una sirve paraun findistinto.Porejemplo,unaconsultade selecciónparapresentardatos.Unaconsultade acción cambialosdatos de su origende datoso crea una nuevatabla.Una consultade parámetrosle pide que especifique criterioscuandose ejecuta.Eneste tema,se tratan únicamente lasconsultasde selección. NOTA:En este temase describe cómose crean consultasde selecciónque devuelvendatosde una únicatabla.Si deseacrearconsultasque devuelvandatosde doso variastablas,veael artículo Crear unaconsultabasada envariastablas. Parte superiorde lapágina
  • 21. 21 Crear unaconsulta En este ejercicio,crearálaconsultade seleccióncontactosde Londres.Puedecrearestaconsulta enla vistaDiseñoomediante unasistente.Además,si estáfamiliarizadoconlasinstruccionesSQL, puede crearuna consultamientras trabajaenla vistaSQL escribiendounainstrucciónSELECT sencilla. Antesde comenzar,debe tenerunatablaque contengadatos.A continuación,se proporcionan datosde ejemploenformade tablaHTML. Identificadorde cliente Compañía Dirección Ciudad StateOrProvince Códigopostal CountryOrRegion Teléfono Contacto
  • 22. 22 Fechade nacimiento 1 Museode Ciencias Rodeode la Cruz 477 Caracas DF 12345 Venezuela (202) 555-0122 EstebanPuerto 03.12.1945 ".2" Líneas AéreasCieloAzul
  • 23. 23 CarlosPellegrini 1263 San Cristóbal Táchira 01234 Venezuela (201) 555-0123 DavidSantos 21.03.1959 3% BodegasCobra C/ Córcega452 I. de Margarita NuevaEsparta
  • 29. 29 (171) 555-0101 Tom Perham 25.09.1938 Puede especificarmanualmente losdatosde estatablade ejemploocopiarestatablaenun programa de hojasde cálculo,como MicrosoftOffice Excel 2007, e importarla hojade datos resultante auna tablade MicrosoftOffice Access2007. Escribirlosdatos de ejemplomanualmente En la fichaCrear,en el grupoTablas,haga clic enTabla. Office Access2007 agrega unanuevatablaen blancoa la base de datos. NOTA:No necesitaseguireste pasosi abre unanuevabase de datosen blancoperodeberá hacerlosiempre que agregue unatabla ala base de datos. Haga doble clicenla primeraceldade la filadel encabezadoyescribael nombre del campoenla tablade ejemplo. De formapredeterminada,Accessindicaloscamposenblancoenla filadel encabezadoconel textoAgregarnuevocampo,como: Un nuevocampo enuna hojade datos
  • 30. 30 Use lasteclasde flechapara desplazarse alasiguiente celdaenblancodel encabezadoyescribael nombre del segundocampo(tambiénpuede presionarTABo hacer doble clicenlanuevacelda). Repitaeste pasohastaque termine de escribirtodoslosnombresde campo. Escriba losdatosen latabla de ejemplo. Al ir escribiendolosdatos,Accessdeduce untipode datospara cada campo. Cadacampo de una tablatiene untipode datos específico,comoNúmero,TextooFecha/Hora.Lostiposde datos ayudana escribirlosdatosde formaprecisay a evitarerrores,comoel usode un númerode teléfonoenuncálculo.Puedeespecificarel tipode datosde cada campo de una tablay cambiar el tipode datos de un campo en determinadascircunstancias.Paraestatablade ejemplo,debería dejarque Accessdeduzcael tipode datos. Una vez terminadode escribirlosdatos,hagaclicenGuardar. Métodoabreviadode tecladopresioneCTRL+G. Se abrirá el cuadro de diálogo Guardar como. En el nombre Nombre de latabla,escribaClientesyhagaclicen Aceptar. Copiarla tablaen unprograma de hojasde cálculoe importarlaa Access Inicie el programade hojasde cálculoy cree un nuevoarchivoenblanco.Si utilizaExcel, se creaun nuevolibroenblancode formapredeterminada. Copie latablade ejemploproporcionadaenlasecciónanteriorypéguelaenlaprimeraceldade la primerahojade cálculo.
  • 31. 31 Con latécnicaproporcionadaporel programa de hojas de cálculo,asigne unnombre ala hoja de cálculoClientes. Guarde el archivo de hojade cálculoen una ubicaciónapropiadayvayaa lossiguientespasos. Importarla tablaa Access En una base de datos nuevao existente: En la pestañaDatosexternos,enel grupoImportar,hagaclic enExcel. O bien, Haga clic enMás y seleccioneunprogramade hojasde cálculode lalista. Aparece el cuadrode diálogoObtenerdatosexternos - Hojade cálculode Nombre del programa. Haga clic enExaminar,abra el archivode hoja de cálculoque creó enlospasosanterioresy,a continuación,hagaclicenAceptar. Se iniciael Asistente paraimportaciónde hojasde cálculo. De formapredeterminada,el asistenteseleccionalaprimerahojade cálculodel libro(Clientes,si ha seguido lospasosdescritosenlaanteriorsección),ylosdatosde lahoja de cálculoaparecenen la seccióninferiorde lapáginadel asistente.HagaclicenSiguiente. En la siguiente páginadel asistente,seleccione Primerafilacontiene encabezadosde columnay,a continuación,hagaclicenSiguiente.
  • 32. 32 En la siguiente páginadel asistente tiene laoportunidadde cambiarlosnombresde campoylos tiposde datos o de omitircamposenla operaciónde importación,mediante loscuadrosde texto y listasde Opcionesde campo.Nodebe hacerloparaeste ejemplo.Hagaclicen Siguiente. En la páginasiguiente delasistente,enel cuadroOpcionesde campo,seleccione Sí(Sin duplicados) enlalistaIndexadoyluegoEnterolargoenlalistaTipode dato.Haga clicenSiguiente para continuar. En la páginasiguiente delasistente,seleccione laopciónElegirlaclave principal,elijaIdClienteen la listayhaga clic enSiguiente. De formapredeterminada,Accessaplicael nombre de lahojade cálculoa lanuevatabla. Asegúrese de que latablase denominaClientesyhagaclic enFinalizar. En la últimapáginadel asistente,tiene laopciónde guardarlospasosdel procesode importación para usarlosmás adelante.Comoestáimportandounatablade ejemplo,nose recomiendaque guarde estospasos. NOTA:Si no tiene unprograma de hojasde cálculo,puede copiarlosdatosde ejemploenun editorde texto,comoBlocde notas.Para obtenermásinformaciónsobre laimportaciónde datos de texto,veael artículo Importaro vinculara losdatosde unarchivo de texto. Generarla consulta. En primerlugar,usará un asistente paracrearla consulta,basándose enlatablade ejemploque acaba de crear.Después,lamejoraráenla vistaDiseño.Encada paso,puede revisarlainstrucción SQL que se generaautomáticamente mediantelospasosque vayasiguiendo. En la fichaCrear,en el grupoOtros,haga clic enAsistente paraconsultas.
  • 33. 33 En el cuadro de diálogoNuevaconsulta,hagaclicenAsistente paraconsultassencillasy,a continuación,hagaclicenAceptar. En Tablas yconsultas,haga clicenla tablaque contiene losdatosque deseausar.Eneste caso, haga clicen Tabla:Clientes.Recuerde que unaconsultatambiénpuedeusarotraconsultacomo origende registros. En Campos disponibles,hagadoble clicenloscamposContacto,Dirección,TeléfonoyCiudad.Esto losagrega a la listaCamposseleccionados.Unavezagregadosloscuatrocampos,haga clic en Siguiente. Llame a la consultaContactosde Londresy, a continuación,hagaclicenFinalizar. Accessmostrará todoslosregistrosde loscontactosen lavistaHoja de datos. Los resultados incluyentodoslosregistros,perosólomuestranloscuatrocamposespecificadosenel asistente para consultas. RevisarlainstrucciónSQLinicial Haga clic enVistaSQL enla barra de estadode Accesso haga cliccon el botónsecundarioenla fichade objetode consultay,a continuación,hagaclicenVistaSQL.Accessabre la consultaenla vistaSQL y muestrala siguiente: SELECT Customers.[Contact],Customers.[Address],Customers.[Phone],Customers.[City] FROMCustomers; Tal como puede ver,enSQLla consultatiene dospartesbásicas:lacláusulaSELECT, que listalos camposque están incluidosenlaconsulta,ylacláusulaFROM,que listalastablas que contiene esoscampos. NOTA:Si ha agregadoloscamposen unordendiferente al procedimientoanterior,el orden utilizadose reflejaráenlacláusulaSELECT.
  • 34. 34 Cierre laconsulta.Tengaencuentaque la consultase guarda automáticamente. Parte superiorde lapágina Agregarcriteriosa laconsulta Para limitarel númerode registrosque se devuelvenenlosresultadosde laconsulta,puede especificarcriterios. Un criteriode consultase puede considerarcomounacondiciónque se especificaparaun campo. El criterioespecificaunacondición,basadaenlosvaloresdel campo,que expresaloque desea incluirenlaconsulta,como"mostrar sólolosregistrosenlosque el valorde CiudadseaLondres". Abra laconsultaenla vistaDiseño.Agregaráuncriterioal campo Ciudadpara verenlos resultados de consultasóloaquelloscontactosque sonde Londres.Tambiénagregarácriteriosal campo Direcciónyal campo Teléfonoparadepuraraúnmás losresultadosde laconsulta. En la filaCriteriosdel campoCiudad,escribalondres. Ahora,agregue doscriteriosmáspara que los resultadosseanmásútiles.Supongaque sólodesea verlos registrosenlosque esténpresentestantoladireccióncomoel númerode teléfono. En la filaCriterios del campoDirección,escribaNoesNuloAND<>"". Haga lo mismoenlafila Criteriosdel campoTeléfono. NOTA:El criterio,NoesNuloAND<>"", es verdaderosiempre que hayaunvalorconocidonovacío para el campo para el que esun criterio.Es falsosiempre que hayaunvalordesconocido(Nulo) o cuandoel valor conocidoestávacío ("").Puede usarestaexpresiónparacomprobarun campo para un valorconocidono vacío.
  • 35. 35 Cambie a lavistaHoja de datos para verlos resultados. RevisarlainstrucciónSQLcon criterios Haga clic enVistaSQL enla barra de estadode Accesso haga cliccon el botónsecundarioenla fichadel documentode consultay,a continuación,hagaclicenVistaSQL. Accessmuestrael siguiente códigoSQL: SELECT Customers.[Contact],Customers.[Address],Customers.[Phone],Customers.[City] FROMCustomers WHERE (((Customers.[Address]) IsNotNull And(Customer.[Address])<>"") AND ((Customer.[Phone]) IsNotNull And(Customer.[Phone])<>"") AND ((Customer.[City])="london")); Observaráque lainstrucciónSQL tiene ahoraunacláusulaWHERE. Los criteriosque especifica para loscampos de consultaaparecenenSQL enla cláusulaWHERE. En este caso, se combinan utilizandoel operadorAND. ¿Y si nodeseaque se combinenlascondicionesconel operadorAND?Dichode otromodo,¿cómo especificadoso máscriteriosperode modoque se incluyanlosregistrosque satisfagan simplementeunode ellosoambos? Especificarcriteriosalternativosmediante OR Supongaque deseavertodoslosregistrosenlosque laciudad esLondresy enlosque se dispone al menosde untipode datode contacto(ya seala direcciónoel númerode teléfono).Desea combinarloscriteriosmediante el operadorOR,de laformasiguiente: Para especificarcriteriosalternativos,use lasfilasCriteriosyOenla cuadrícula de diseño.Todos losregistrosque cumplanloscriteriosdefinidosenlafilaCriteriosoenla filaOse incluyenenel resultado.
  • 36. 36 Ahora,modificarálaconsultaespecificandocriteriosalternativosen lasfilasCriteriosyO. Regrese ala vistaDiseño. Quite lacadenaNo esNuloAND<>"" de la filaCriteriosdel campoTeléfono. En la filaOdel campo Teléfono,escribaNoesNuloAND<>"". En la filaOdel campo Ciudad,escribalondres. Cambie a lavistaHoja de datos para verlos resultados.Enlosresultadosde laconsulta,se mostrarántodos losregistrosque incluyanunadirección,unnúmerode teléfono,oambosyenlos que el campo CiudadseaLondres. NOTA:Para especificarmásde dosconjuntosde criteriosalternativos,use lasfilasdebajode lafila O. Cada filarepresentaunconjuntoindependientede criterios. RevisarlainstrucciónSQLcon criteriosrevisados Haga clic enVistaSQL enla barra de estadode Accesso haga cliccon el botónsecundarioenla fichadel documentode consultay,a continuación,hagaclicenVistaSQL. Accessmuestrael siguiente códigoSQL: SELECT Customers.[Contact],Customers.[Address],Customers.[Phone],Customers.[City] FROMCustomers WHERE (((Customers.[Address]) IsNotNull And(Customer.[Address])<>"") AND ((Customer.[City])="london"))
  • 37. 37 OR (((Customers.[Phone]) IsNotNull And(Customers.[Phone])<>"") AND ((Customers.[City])="london")); Observaráque han cambiadodoscosas: el criterioque especificaque laciudadesLondresaparece ahora dosvecesy loscriteriosde lacláusulaWHERE estáncombinadosmediante el operadorOR. Para obtenermásinformaciónsobre cómoespecificarcriteriosparadiversostiposde campos,vea Ejemplosde criteriosde consulta. Parte superiorde lapágina Agregarcálculosa la consulta Una base de datosbiendiseñadanoalmacenasimplesvalorescalculadosentablas.Porejemplo, una tablapuede almacenarlafechade nacimientode unapersonaperonosu edadactual.Si se conoce la fechaactual yla fechade nacimientode lapersona,siempre se puedecalcularlaedad actual,por lo que noes necesarioalmacenarese datoenlatabla.En vezde eso,se creauna consultaque calculay muestrael valorpertinente.Loscálculos se efectúancadavezque se ejecutalaconsulta,de modoque,si losdatos subyacentescambian,tambiéncambianlos resultadoscalculados. En este ejercicio,modificarálaconsultaContactosde Londrespara que muestre lafechade nacimientoylaedadactual de cada contacto. Abra laconsultaenla vistaDiseño. En la ventanade la tablaClientes,arrastre el campoFechaNacimientoalaprimeracolumnaen blancode la cuadrícula de diseño.Tambiénpuedehacerdoble clicenel nombre del campopara agregarloautomáticamente enlaprimeracolumnaenblanco. En la siguiente columna,enlafilaCampo,escribalaexpresiónque calculelaedadparacada registro.EscribaEdad: DifFecha("aaaa",[FechaNacimiento],Fecha()).
  • 38. 38 Edad esel nombre que utilizaparael campo calculado.Si noespecificaunnombre,Accessusará unogenéricopara el campo,por ejemplo,EXPR1.Lacadenaa continuaciónde losdospuntos(:) es la expresiónque proporcionalosvaloresparacada registro.La funciónDifFechacalculala diferenciaentre dosfechascualesquieraydevuelve ladiferenciaenel formatoespecificado.El formatoaaaa devuelve ladiferenciaenañosyloselementos[FechaNacimiento] yFecha() de la expresiónproporcionanlosdosvaloresde fecha.Fechaesunafunciónque devuelve lafecha actual y [FechaNacimiento] hace referenciaal campoFechaNacimientode latablasubyacente. NOTA:El cálculousadopara Edad en este ejemploesunaaproximaciónque puede resultar ligeramenteimprecisa,enfuncióndel mesactual. Cambie a lavistaHoja de datos. Verádoscampos adicionales,FechaNacimientoyEdad,enel resultado. RevisarlainstrucciónSQLcon cálculos Haga clic enVistaSQL enla barra de estadode Accesso haga cliccon el botónsecundarioenla fichadel documentode consultay,a continuación,hagaclicenVistaSQL. Accessmuestrael siguiente códigoSQL: SELECT Customers.[Contact],Customers.[Address],Customers.[Phone],Customers.[City], Customers.[BirthDate], DateDiff("yyyy",[BirthDate],Date())ASAge FROM Customers WHERE (((Customers.[Address]) IsNotNull And(Customer.[Address])<>"") AND ((Customer.[City])="london")) OR (((Customers.[Phone]) IsNotNull And(Customers.[Phone])<>"") AND ((Customers.[City])="london")); Observe que Clientes.[FechaNacimiento] yel campocalculado,Edad,aparecenahoraen la cláusulaSELECT. La clave AS se usa para designarel nombre del campocalculado.
  • 39. 39 Para obtenermásinformaciónsobre cómoescribirexpresionesque calculanvaloresenuna consulta,veael artículoCrear una expresión. Parte superiorde lapágina Resumirlosvaloresde laconsulta Resumirlascolumnasde unaconsultaesmás fácil enOffice Access2007, si se compara con la mismatarea enversionesanterioresde Access.Puedeagregar,contaro calcular otros valores agregadosy mostrarlosenunafilaespecial (denominadalafilaTotal) que aparece debajode lafila asterisco(*) enla vistaHoja de datos. Puede usaruna funciónde agregadodiferente paracadacolumna.Tambiénpuede optarporno resumirunacolumna. En este ejercicio,modificarálaconsultaContactosde Londresde modoque se muestre lafila Total. Abra laconsultaenla vistaHoja de datos. En la fichaInicio,enel grupoRegistros,hagaclicenTotales. Haga clic enla filaTotal de la columnaContacto. En la listadesplegable,puede elegirentre NingunoyCuenta.Dadoque lacolumnaContacto contiene valoresde texto,otrasfuncionescomoSumay Promedionosonaplicablesynoestán disponiblesporlotanto.
  • 40. 40 Seleccione Cuentaparacontar el númerode contactosque se muestranenel resultado. El número5 aparece en lafilaTotal. En el campo Edad,seleccione Promedio.Dadoque el campoEdad da como resultadounnúmero, admite lasfuncionesSuma,Promedio,Cuenta,Máximo,Mínimo,DesviaciónestándaryVarianza. Accessmuestrala edadpromedioenlafilaTotal. Para quitarel total de una columna,hagaclic enla filaTotal situadabajolacolumnay, después, seleccione Ningunoenlalistadesplegable.ParaocultarlafilaTotal,enla fichaInicio,enel grupo Formatoy tipode datos,haga clicen Totales. 5.2 Consultas con parámetros: Usar parámetrosenconsultase informes Se aplicaa: Access2007 IMPORTANTE: Este artículo se ha traducidocon traducciónautomática;veala declinaciónde responsabilidades.Parasureferencia,puedeencontrarlaversióneninglésde este artículoaquí. Si deseaque una consultapara solicitarinformacióncadavezque se ejecute,puedecrearun consultade parámetros. Tambiénpuede crearun formulariopararecopilarvaloresde parámetro.Conunformulario puede: Usar controlesespecíficosde tipode datos Habilitarlapersistenciade losvaloresde parámetro
  • 41. 41 Proporcionarcontrolesde cuadrocombinado(paraque puedaelegirunvalorde una listaenlugar de escribirlo) Usar otroscontrolesque estándisponiblesenformularios En este artículo se proporcionainformacióngeneral sobre parámetros,se explicacómousar parámetrosenconsultasytambiéncómousar formulariosparamejorarel uso de parámetros. En este artículo: Informacióngeneral Usar parámetrosenconsultas Especificarlostiposde datosde losparámetros Crear unformularioque recopile parámetros Informacióngeneral Puede usarcriteriosenunaconsultaenAccesspara limitarel conjuntode registrosque laconsulta va a devolver.Consideremosel siguiente caso. Supongamosque tiene unaconsultadenominadaÚltimopedido,que devuelve losnombresylas direccionesde susclientesjuntoconlafechaenla que enviósuúltimopedido.Acabade agregar algunosproductosnuevose interesantesal inventarioyal catálogo.Cada vezque envía unpedido, incluye unacopiadel actual catálogo.Prevé que losnuevosproductosvanatenermucho éxitoy deseaasegurarse de que todoslosclienteslosconocen.Deseaenviarunnuevocatálogoatodos losclientesque aúnnolohayan recibidojuntoconunpedido.
  • 42. 42 Por este motivo,deseacrearuna listade correocon losnombresy lasdireccionesde losclientes cuyo últimopedidose envióantesde publicarse el nuevocatálogo.Paraello,aplicauncriterioal campo de fechade envíode la consultaÚltimopedido.El criterioespecificaque lafechaque figura enese campo debe seranteriorala fechaen laque se inicióladistribucióndel nuevocatálogo, por ejemplo,31/3/2006. Cuandoejecute laconsulta,obtendráunalistade correoque contiene únicamente losclientesque nohanrecibidoel nuevocatálogo. Pero,¿qué sucede si vuelve aproducirse estasituación?Podríamodificarel diseño de laconsulta cambiandoel valorespecificadoporel criteriopero,¿noseríaconveniente si laconsultapudiera solicitarunafechay usar esafechapara decidirqué clientesse vanaincluirenlalistade correo? Para ello,deberáusaruntipoespecial de criteriodenominadoparámetro. Puede que loscuadrosde diálogoproporcionadosporunaconsultade parámetrossean insuficientesparasusobjetivos.Enesoscasos,puede crearunformularioque se ajuste mejora sus necesidadesde recopilaciónde parámetros.Eneste artículose explicacómocrear un formularioque recopileparámetrosde informe. En este artículo se supone que estáfamiliarizadoconlacreaciónde consultas.Comomínimo,debe estarfamiliarizadoconlacreaciónde una consultade selecciónantesde continuar. Para obtenermásinformaciónsobre cómocrearuna consultade selección,veael artículo Seleccione datosmedianteunaconsulta.Paraobtenermásinformaciónacercade lasconsultasen general,veael artículoIntroducciónalas consultas. Este artículo incluye ejemplosde cómousarparámetrosen lasconsultas.Sinembargo,noincluye una referenciaexhaustivaparaespecificarcriterios. Para obtenermásinformaciónsobre cómoespecificarcriterios,veael artículode ejemplosde criteriosde consulta. Parte superiorde lapágina
  • 43. 43 Usar parámetrosenconsultas Usar unparámetroen unaconsultaes tanfácil como crear una consultaque usacriterios.Puede diseñarunaconsultade modoque solicite unsolodato,comoun númerode pieza,ovariosdatos, como dosfechas.Porcada parámetro,unaconsultade parámetrosmuestraun cuadrode diálogo independienteenel que se solicitaunvalorparaese parámetro. Agregarun parámetroa una consulta Cree una consultade seleccióny,acontinuación,abralaconsultaenla vistaDiseño. En la filaCriteriosdel campoal que desee aplicarunparámetro,escribaentre corchetesel texto que debe aparecerenel cuadro de diálogodel parámetro,porejemplo: [Fechade inicio] Cuandoejecute laconsultade parámetros,el mensajeaparecerásincorchetesenuncuadrode diálogo. Tambiénpuede usarunaexpresiónconlassolicitudesde parámetros,porejemplo: Entre [fechade comienzo] Y[Fechade finalización] NOTA:Aparece uncuadro de diálogoindependiente paracada solicitudde parámetros.Enel segundoejemplo,aparecendoscuadrosde diálogo:unopara lafechade inicioyunopara la fecha de finalización. Repitael paso2 para cada campo al que desee agregarparámetros.
  • 44. 44 Puede usarlospasosanterioresparaagregar un parámetroa cualquierade lossiguientestiposde consultas: Selección Tabla de referenciascruzadas Datos anexados Creaciónde tabla Actualización Tambiénpuede agregarunparámetroa una consultade unión. Abra laconsultade uniónenla vistaSQL. Agregue unacláusulaWHERE que contengacada uno de loscampos para losque desee solicitarun parámetro. Si ya existe unacláusulaWHERE,compruebe si loscampospara los que desee usarunasolicitud de parámetrosya estánincluidosenlacláusula.Encaso contrario,agréguelos. En lugar de usar un criterioenlacláusulaWHERE, use una solicitudde parámetros. Hacer coincidirparte de un valorde campo con una cadenade parámetro
  • 45. 45 Es posible que quieraaplicarunpocode variabilidadenlaformaenque laconsultaaplicaun parámetro.Porejemplo,puedeque desee que unaconsultaacepte unacadenade textoyla haga coincidirconparte de un campo.Para ello,use lapalabraclave Comojuntocon caracteres comodín.Por ejemplo,deseaque laconsultasolicite unpaíso una regiónde origen,peroningún valorcoincidente siempre que el camporelevantelacadenade parámetro.Paraello: Cree una consultade seleccióny,acontinuación,abralaconsultaenla vistaDiseño. En la filacriteriosdel campoparalosque deseaaplicarel parámetro,escribacomo"*" & [,escriba el textoque desee usarcomoindicadory,a continuación,escriba] &"*". Cuandoejecute laconsultade parámetros,el mensajeapareceráenel cuadro de diálogosin corchetesy sinlapalabra clave Comoo loscaracterescomodín. Cuandola consultaacepte el parámetro,coincidiráconlosvaloresque contenganlacadenade parámetro.Porejemplo,lacadenade parámetrouscoincide conlas filasdonde el campode parámetrotiene el valorAustraliayfilasdonde el valoresAustria. Puede usarasimismolapalabraclave Comoy loscaracterescomodín para especificarque un parámetrodebe coincidirconel iniciooel final de unvalorde campo. Para que coincidacon el iniciode unvalorde campo,omitalas comillas,el caráctercomodíny el carácter de y comercial (&) delante del corchete de apertura.Paraque coincidaconel final de un valorde campo, omitael carácter de y comercial,lascomillasyel caráctercomodín situadosdetrásdel corchete de cierre. Coincidenciabasadaenvaloresdesiguales Es posible que deseerecopilarunparámetro,peroenlugarde la consultadevuelvafilasconun valorcoincidente,deseaque laconsultadevuelvafilasparaque otrascomparacionesse evalúa como verdadero.Porejemplo,deseasolicitarunañoy,a continuación,devolverlasfilasdonde el valorde añoes mayorque la cadenade parámetro.Paraello,escribaunoperadorde comparación a la izquierdadel primercorchete del indicadorde parámetro>[año:].
  • 46. 46 Parte superiorde lapágina Especificartiposde datosde parámetros Tambiénpuede especificarqué tipode datosdebe aceptarunparámetro.Puede especificarel tipo de datos para cualquierparámetro,peroes especialmenteimportanteespecificarel tipode datos para losdatos numéricos,de monedaode fechay hora.Cuandose especificael tipode datosque debe aceptarun parámetro,losusuariosvenunmensaje de errormásútil si especificanuntipode datosequivocado,porejemplo,textocuandose esperamoneda. NOTA:Si se configuraunparámetropara que acepte datos de texto,cualquierentradase interpretarácomotextoyno se mostrará ningúnmensaje de error. Para especificarel tipode datosde losparámetrosde unaconsulta,sigaestospasos: Con laconsultaabiertaenla vistaDiseño,enlafichaDiseño,enel grupoMostrar u ocultar,haga clicen Parámetros. En el cuadro de diálogoParámetrosde laconsulta,enla columnaParámetro,escribalasolicitud de cada parámetropara el que desee especificarel tipode datos.Asegúrese de que cada parámetrocoincidacon lasolicitudque utilizaenlafilaCriteriosde lacuadrículade diseñode la consulta. En la columnaTipode datos,seleccione el tipode datosparacada parámetro. Parte superiorde lapágina Crear unformularioque recopile parámetros
  • 47. 47 Si bienlasconsultasde parámetrostienenuncuadrode diálogointegradoque recopila parámetros,sóloofrecenunafuncionalidadbásica.Si usaunformulariopararecopilar parámetros,podrádisponerde lassiguientescaracterísticas: Posibilidadde usarcontrolesespecíficosdel tipode datos,comocontrolesde calendarioparalas fechas. Persistenciade losparámetrosrecopilados,paraque puedausarlosconmásde una consulta. Posibilidadde proporcionaruncuadrocombinadoo cuadro de listapara la recopilaciónde parámetros,de modoque se puede elegirunvalorenunalistade valoresde datosdisponibles Posibilidadde proporcionarcontrolesparaotrasfunciones,comoabriro actualizarunaconsulta. Sigaestospasospara crear unformularioque recopile parámetros. Paso1: Crear un formularioque acepte entradas Paso2: Crear un móduloparacomprobarsi el formulariode parámetrosyaestá cargado Paso3: Crear un grupode macros que controle el formulario Paso4: Agregarbotonesde comandoAceptary Cancelaral formulario Paso5: Usar losdatosdel formulariocomocriteriosde consulta Paso1: Crear un formularioque acepte entradas
  • 48. 48 En la fichaCrear,en el grupoFormularios,hagaclicenDiseñode formularios. En la vistaDiseño,presione F4para que aparezcala hojade propiedadesy,acontinuación, especifique laspropiedadesdelformulario,tal comose muestraenlasiguiente tabla. Propiedad Valor Título Escriba el nombre que debe aparecerenlabarra de título del formulario. Vistapredeterminada Un únicoformulario PermitirvistaFormulario Sí PermitirvistaHojade datos No PermitirvistaTabladinámica
  • 49. 49 No PermitirvistaGráficodinámico No Barras de desplazamiento Ninguna Selectoresde registro No Botonesde navegación No Estilode losbordes Diálogo Por cada parámetroque va a recopilarel formulario,hagaclicenCuadrode textoenel grupo Controlesde lafichaDiseño. Configure laspropiedadesde loscuadrosde texto,tal ycomo se muestraenla tablasiguiente.
  • 50. 50 Propiedad Valor Nombre Escriba unnombre que describael parámetro,porejemploFechaDeInicio. Formato Elijaunformato que reflejeel tipode datosdel campode parámetro.Porejemplo,seleccione Fechageneral para uncampo de fecha. Guarde el formularioyasígnele unnombre,porejemploIntervalode fechas. Paso2: Crear un móduloparacomprobarsi el formulariode parámetrosyaestácargado En la fichacrear, enel grupo otros,haga clicen módulo.Si este comandonoestádisponible,haga clicen la flechadebajode laMacro o el botóndel Módulode clase y,a continuación,hagaclicen módulo. En el Editor de Visual Basicse abre un nuevomódulo. Escriba o pegue el siguiente códigoenel Editorde Visual Basic: FunctionIsLoaded(ByVal strFormName AsString) AsBoolean DimoAccessObjectAsAccessObject
  • 51. 51 SetoAccessObject=CurrentProject.AllForms(strFormName) If oAccessObject.IsLoadedThen If oAccessObject.CurrentView<>acCurViewDesignThen IsLoaded= True End If End If End Function Guarde el móduloy,a continuación,cierre el Editorde VisualBasic. Paso3: Crear un grupode macros que controle el formulario En el grupo Otrosde lapestañaCrear,haga clic enMacro. Si el comandono estádisponible,haga clicen la flechaque aparece bajoel botónMóduloMódulode clase yluegohagaclicen Macro. En el grupo Mostrar u ocultar de la fichaDiseño,haga clicenMostrar todaslas acciones. En la fichaDiseño,enel grupoMostrar u ocultar,haga clic enNombresde Macro para mostrarla columnaNombre de laMacro. Escriba unnombre de macro, como Cuadrode diálogoAbrir,enlacolumnaNombre de lamacro. Haga clic enla celdade la columnaAcciónsituadajuntoal nombre de la nuevamacro,haga clic en la flechadesplegable y,acontinuación,hagaclicenAbrirFormulario. En la cuadrícula Argumentosde acción(que se encuentradebajode lacuadrículade diseñode macro),establezcalosargumentosde acción,comose muestraenla tablasiguiente. Argumento
  • 52. 52 Valor Nombre del formulario Escriba el nombre que le asignóal formulariode parámetrosdel informe. Vista Formulario Modo de datos Editar Modo de la ventana Diálogo En la siguiente celdaAcción,hagaclicenCancelarEventoparaagregaruna segundaacción.Se usa estaacción para cancelarla vistapreviao laimpresióndel informe cuandounusuariohace clicen el botónCancelardel formulario. Si no ve la columnaCondición,hagaclicenCondicionesdel grupoMostraru ocultarenla ficha Diseño. En la columnacondición,escribaNotIsLoaded,seguidode unparéntesisde aperturayunas comillas,seguidoporel nombre que asignadoal formulario de parámetrosdel informey,a
  • 53. 53 continuación,seguidode unascomillasyunparéntesisde cierre.Porejemplo,si el formulariose denominaselectorde parámetro,escribaNotIsLoaded("Selectorde parámetro"). En la siguiente filaenblancode lacuadrículade diseñode lamacro,escribaun nombre de macro, como Cuadrode diálogoCerrar. En la celdaacciónadyacente,hagaclic enla flechadesplegable y,acontinuación,hagaclicen Cerrar. La consultautilizaráestaacciónpara cerrar el formulariode parámetros.Establezcasus argumentosde acción,comose muestraenla tablasiguiente. Argumento Valor Tipode objeto Formulario Nombre de objeto Escriba el nombre que le asignóal formulariode parámetrosdel informe. Guardar No En la siguiente filaenblancode lacuadrículade diseñode lamacro,escribaun nombre de macro, como Aceptar.En laceldaAcciónadyacente,hagaclic enla flechadesplegable y,acontinuación,
  • 54. 54 haga clicen EstablecerValor.Se usaestaacciónpara ocultar el formulariode parámetrosde informe cuandoel usuariohace clicenAceptar.Configure losargumentosde laacción,tal y como se muestraen lasiguiente tabla. Argumento Valor Elemento [Visible] Expresión No En la siguiente filaenblancode lacuadrículade diseñode lamacro,escribaun nombre de macro, como Cancelar.En laceldaAcciónadyacente,hagaclicen la flechadesplegable y,acontinuación, haga clicen Cerrar.Se usaesta acciónpara cerrar el formulariode parámetrosde informe cuando el usuariohace clic enCancelar.Configure losargumentosde laacción,tal y como se muestraen la siguientetabla. Argumento Valor Tipode objeto
  • 55. 55 Formulario Nombre de objeto Escriba el nombre que le asignóal formulariode parámetrosdel informe. Guardar No Guarde y cierre el grupo de macros. Asigne unnombre,porejemplo,laMacro del intervalode fechaal grupode macros. Paso4: Agregarbotonesde comandoAceptary Cancelaral formulario Volveraabrir el formulariode intervalode fechasenlavistaDiseño. Asegúrese de que noesté seleccionadalaopciónUtilizarasistentesparacontrolesenel grupo Controlesde lafichaDiseño. En la fichaDiseño,enel grupoControles,hagaclicenBotón. Sitúe el punterodebajode loscuadros de textodel formularioy,después,arrastre paracrear un botónde comando Aceptar. Si la hojade propiedadesnoestávisible,presioneF4para mostrarla.
  • 56. 56 Configure laspropiedadesdelbotónAceptar,tal comose muestraenla tablasiguiente. Propiedad Valor Nombre Aceptar Título Aceptar Predeterminado Sí AlHacerClic Escriba el nombre de lamacro, por ejemplo,fechaRange.OK. Cree un botónde comandoCancelary configure suspropiedades,tal comose muestraenlatabla siguiente. Propiedad
  • 57. 57 Valor Nombre Cancelar Título Cancelar AlHacerClic Escriba el nombre de lamacro, por ejemplo,fechaRange.Cancel. Guarde y cierre el formulario. Paso5: Usar losdatosdel formulariocomocriteriosde consulta Abra laconsultaenla vistaDiseño. Especifiqueloscriteriosparalosdatos.Use el objetoForms, el nombre del formularioyel nombre de la control: Por ejemplo,enunabase de datosde Access(.accdbo .mdb),para unformulariodenominado Intervalode fechas,use lasiguiente expresiónparareferirse aloscontrolesdenominadosFecha de inicioyFecha de finalizaciónenlaconsulta:
  • 58. 58 Entre [Forms] ![Intervalode fechas]![StartDate] y[Forms]![Intervalode fechas]![EndDate]
  • 59. 59 6.CONCLUSIONES MicrosoftAccesses unaherramientade fácil manejo paralamanipulación ycreacionde base de datosajustadasa microempresas,se encuentraincluidadentrodel paquetede microsoftoffice es una herramientaalacual cualquierpersonasinmuchoconocimientode basesde datos,puede utilizarlaconel finde crear unasimple plantillaodostablasreacionadas.