- Tablas y
Consultas - Formularios
- Informes
- Páginas de Acceso a
Datos - Potencia con
Macros - Retoques
finales - Funciones
Estudiadas
Este pequeño manual de apuntes
está dirigido especialmente a aquellas personas que ya
tienen un conocimiento
previo sobre el manejo de bases de datos;
este no es un manual completo de Microsoft
Access ya que mi principal intención a sido la de
presentar a la comunidad de
estudiantes y público en general ideas novedosas sobre la
creación/manipulación de tablas, consultas,
formularios,
páginas de acceso a datos y macros en este
programa.
Cabe indicar que Access es una
base de datos
de muy versátil pero de ‘Escritorio’ que por
lo general es poco recomendable para ser usada como plataforma de
datos para sistemas
empresariales de tamaño mediano/grande debido a su
limitada capacidad de almacenamiento.
Espero que mis conocimientos y experiencias sean de mucha
utilidad en la
creación de sus futuros proyectos.
- Los campos deben identificarse entre corchetes. Ej.
[FechaInicial] - Cuando se hace referencia a un campo calculado que
tome en cuenta las fechas estas deben ir entre dos signos de
dígitos Ej. #01/01/2000#. - Cuando se introduce una cadena de caracteres estas
deben ir entre comillas. Ej: "Esto es una prueba". - Las expresiones o campos calculados deben ser
precedidos del símbolo =, Ej: =[Horas]*[Valor] - Cuando se hace referencia ha un campo de una tabla x
debe ponerse el nombre de la tabla seguido de un punto o un
signo de interrogación el campo. Ej:
[Tblcontrato]![FechaContrato] - Para concatenar cadenas de caracteres se utiliza el
signo &. - Hay posibilidad de establecer
Hipervínculos(Enlaces a otros documentos). - Búsquedas de Campos(Permite crear LISTAS
COMBINADAS). - Integridad Referencial.- No permite eliminar un
registro
maestro que contenga registros
hijos, para poder
eliminar el registro se debe activar la opción de
eliminación en cascada. - Cuando se establece las relaciones entre las tablas.
Se identifica una relación de uno a varios con el numero
1 y de varios a uno con el signo de infinito. - Cuando se realiza una consulta existen campos
calculados; pero como nota interesante cabe anotar que si el
campo al cual se hace referencia en la obtención del
campo calculado se encuentra presente en la consulta no es
necesario activar la casilla de visualización del campo
calculado ya que la condición se ejecuta en el campo al
cual se hace referencia. - Existen cláusulas de predicado para las
consultas(En(or), Como(Permite introducir criterios,
comodines*???), Entre(and). - Hay una opción dentro de las consultas que
permite crear TOTALES å
(Utiliza el Sql para
realizar agrupaciones). - Como nota curiosa quiero aclarar que para cambiar el
signo de moneda esto se lo debe realizar en el panel de
control del Windows. - En access se puede
procesar los años de una fecha con sus cuatro
dígitos, evitando de esta manera confusión en el
tratamiento de las fechas, esto se puede realizar utilizando la
opción General del menú Herramientas, también seria aconsejable
activar la opción de fecha con cuatro dígitos del
Panel de Control de
Windows para mayor seguridad. - La bases de datos pueden ser compactadas(eliminar
espacio innecesario que a veces se crea debido a incrementos o
reducciones de la bdd en uso, cuando se crea o elimina tablas,
consultas, formularios, etc.), esto se puede configurar en la
opción General del Menú Herramientas. - Hay como crear en las consultas Parámetros
Externos, que permiten el ingreso de rangos o criterios de
filtro; esto se realiza mediante la utilización de [] en
la opción CRITERIOS de la consulta. Ej: [Ingrese la
Fecha:], también se puede validar la entrada de los
parámetros con la opción
Consulta-Parámetros. - Hay como realizar consultas tomando como base varias
tablas. - Hay como realizar consultas utilizando como base para
la misma Tablas o Consultas realizadas
anteriormente. - Hay como actualizar datos en las tablas desde las
consultas, dependiendo del tipo de consulta que se
utilice. - Hay consultas de Combinación de
Registros Equivalentes, que consiste en mostrar solo
los registros coincidentes entre ambas tablas:
Madre-Hija(Utiliza la integridad referencial). - Hay consultas de Combinación
Externa, que consiste en visualizar todas las filas de
una tabla incluso si no existen filas coincidentes en la tabla
relacionada, esto se realiza haciendo doble clic en la
línea que establece la relación en ambas
tablas. - Cuando una tabla necesita mas de un atributo(clave)
para definir una relación entre dos tablas se tiene que
seguir los siguientes pasos: Doble clic en la línea de
relación entre las dos estructuras
y escoger la opción Nueva. - En las consultas se utiliza el valor ES NULO o IS
NULL para indicar que el campo al que se hace la referencia
esta vacío o no tiene ningún valor. - No se pueden actualizar los datos que son resultados
de un calculo en una consulta, los campos auto
numéricos, y los campos que son claves
principales. - Las consultas de selección tienen
Propiedades, que nos permiten establecer opciones
tales como: presentación de registros únicos,
bloqueos, permisos, mostrar todos los campos,
etc… - Se puede realizar actualizaciones, anexar datos,
crear tablas, eliminar información en las tablas a través
de consultas, primero debemos realizamos una consulta de
selección y después la transformamos en la
consulta de acción que deseamos. - Podemos utilizar las consultas Anexadas
para ingresar información a tablas
históricas. - Cuando se anexan datos a otra tabla, los datos no se
mueven de la tabla origen a la tabla destino únicamente
se copian. - Cuando se quiere ver en una consulta de
selección los registros de una tabla
hija(Histórico contratos) que
están relacionados con una tabla madre(Histórico
Grupos) y se
desea observar que Grupos están con contrato(en
este caso no se desean visualizar registros repetidos), hay que
activar las propiedades de la consulta para seleccionar
Registros únicos: SI.
- Errores comunes en las consultas de
acción:
- Duplicación de claves principales.- Intento de
duplicar un valor de clave de índice único, si se
quieren añadir datos duplicados tiene que eliminar la
clave principal. - Errores de conversión de datos.- Campos
numéricos muy pequeños, tipos de campo
diferentes(se quieren anexar datos numéricos a un campo
tipo texto) - Registros bloqueados.- Cuando los registros
están compartidos. - Incumplimientos de reglas de
validación.
- Se puede importar datos de otras fuentes
externas a Access, tales como Foxpro, Paradox
y ODBC., Los pasos a seguir son: Obtener Datos Externos y luego
Importar. - Cuando se importa un archivo de
excel por
ejemplo, si se especifica un campo de este archivo como clave
principal, se debe tener en cuenta que la información
que contiene este campo no se encuentre duplicada caso
contrario al momento de ser importada va a presentar errores;
así mismo cuando no se especifica correctamente el tipo
de datos de cada campo se produce un error. - También se puede vincular tablas externas,
pero la desventaja principal de esta acción es la
lentitud en el manejo de la información. - Al momento de trabajar en red o con tablas
compartidas es aconsejable trabajar con consultas para de esta
manera limitar el acceso continuo a las tablas y no disminuir
su rendimiento. - Cuando se trabaja con tablas compartidas al momento
de insertar datos en ellas es necesario hacerlo a través
de un formulario que este solo configurado para la entrada de
datos. - Si se desea acceder a un registro determinado y
modificarlo; para que otro usuario no interfiera es necesario
activar la opción Registro modificado dentro de
las opciones de HERRAMIENTAS. - A menos que este diseñando una
aplicación en la que con frecuencia necesite ser
actualizar cientos de registros de manera simultanea(consultas
de acción), debería seleccionar la casilla
Abrir bases de datos usando bloqueo por
registro). - Puede configurar las opciones para trabajar en red o
con tablas compartidas en: Herramientas – Opciones
– Avanzadas. - Cuando se trabaja con tablas vinculadas, y estas han
sido cambiadas a un directorio diferente de donde se
realizó la vinculación de las mismas por primera
vez, hay que realizar una actualización de los
vínculos(Herramientas – Utilidades de la
bdd.) - Se puede exportar(copiar tablas) tablas de una bdd en
access, a cualquier formato que soporte bdd ODBC. - Si no se desea exportar sino más bien
visualizar la información de una tabla de la bdd de
access en Excel, Word(Tablas), Word(Combinación de Doc.),
se debe escoger la opción Herramientas –
vínculos con Office –
Excel ó Word). - Hay dos tipos de consultas: Las de selección y
las de acción(Eliminar, anexar y actualizar
datos). - Para realizar consultas de acción o de
selección es recomendable establecer las relaciones
entre las tablas que van a participar en la
consulta.
- Ahora que comenzamos a tratar lo que son formularios
es de suma importancia hacer énfasis en que es mejor
utilizar consultas basadas en las tablas originales ya que esto
optimiza y a su vez minimiza el acceso a los datos, sobre todo
cuando se trabaja en un sistema en
red. - En las propiedades del formulario – Datos
– Origen del registro, se puede especificar el origen de
los datos que pueden ser una tabla o consulta. - Cuando se trabaja con una consulta esta hereda todas
las reglas de validación de la tabla. - Si en la consulta trabajamos con un campo de tipo
auto numérico, es necesario bloquear e inactivar este
campo en el formulario, para realizar esto llevamos a cabo los
siguientes pasos: Primeramente seleccionamos el objeto, luego
Propiedades – Datos – Activado(NO) –
Bloqueado(SI). - Cuando deseamos que un control determinado no sea
seleccionado con la tecla TAB para ser actualizado debemos
seleccionar la siguiente opción: Propiedades –
Todas – Punto de Tabulación a NO - En el formulario se puede crear un cuadro
combinado(el asistente debe estar activado) utilizando una
lista de valores:
Propiedades del control – Datos – Tipo de Origen
de la Fila(Lista de Valores) – Origen de Fila(1;
"Visa") - También se pueden crear casillas de
verificación en vez de escribir la palabra
si/no. - Todos los cuadros combinados y casillas de
verificación creados dentro de un formulario no afectan
en nada a la tabla de donde se extrae la
información. - Se pueden ajustar los cuadros de textos y de control
mediante el menú contextual(Tamaño –
Ajustar). - Cuando se ejecuta un formulario se puede especificar
que únicamente se pueda visualizar el formulario como
Vista Formulario para de esta manera no se permite visualizar
los registros en Hojas de Datos, Propiedades(Formulario)
– Todas – Vistas Permitidas. - Se puede establecer el orden de tabulación de
los objetos. - Se pueden crear formularios continuos(Significa el
mismo formulario de forma corrida en la misma
pantalla). - Se puede eliminar las barras de desplazamiento y los
selectores de registros dentro de las Propiedades del
Formulario(Barra de desplazamiento – Selectores de
registro). - Es aconsejable convertir la mayoría de los
formularios a Formularios Modales porque esto fuerza al
usuario a efectuar una acción en el formulario o ha
cerrar el formulario, y evitar que se abra otro
formulario(Propiedades – Todas –
Modal). - Se pueden ocultar el menú Control del
Formulario que permite(Restaurar, Tamaño, Minimizar,
Maximizar, Cerrar y Siguiente) Propiedades del Formulario
– Todas – Cuadro de Control(NO). - Si se desea permitir en un formulario presentar
datos, eliminar datos, pero no añadir debe realizar los
siguientes pasos: Propiedades de Formulario – Todas
– Permitir Agregar(NO) – Entrada de
datos(NO). - Hay como crear formularios basados tanto en las
tablas como en las consultas. - Access permite actualizar cualquier dato de la tabla
que se encuentra en la parte "Varios" de la relación y
cualquier campo que no se clave principal en la parte "Uno" de
la relación. Esto significa que cuando un formulario
este basado en una consulta, puede actualizar todos los campos
del formulario que proceden de la tabla "Varios" y la
mayoría que proceden de la tabla "Uno". Dado que el
propósito general del formulario es buscar y actualizar
los registros de la parte "Varios" de la relación
mientras revisa la información de la parte "Uno", este
tipo de formularios se denomina "Formularios Varios a
Uno". - Dentro de un formulario se puede insertar un
"Subformulario" que permite visualizar información una
tabla que tenga una relación de "uno a
varios". - Se puede crear directamente un subformulario en un
formulario, primeramente se debe haber creado la consulta que
se va a utilizar por el subformulario, en segundo termino se
debe escoger en la barra de herramientas la opción de
subformulario y escoger el tamaño deseado, marcamos el
objeto del subformulario y a continuación abrimos sus
propiedades y en el origen del control ponemos el nombre de la
consulta que contiene la información
deseada. - Es aconsejable que al momento de crear un formulario
que lleve incrustado un subformulario, se realice primero el
subformulario(Este debe basarse en una consulta que puede
incluir campos calculados) y luego se diseñe el
formulario principal, ambos formularios se construyen por
separado y finalmente se unen. - Cuando se cree el subformulario es necesario
establecer su propia barra de desplazamiento vertical(Tipo
tabular).
- Hay dos formas de incrustar el subformulario en el
formulario principal: 1. Es abriendo el formulario principal, y
luego desde la ventana bdd mover el subformulario hacia el
formulario principal, 2. Crear un subformulario mediante el
botón de subformularios de la barra y especificar en el
origen del control el subformulario. - Cuando se trabaja con un subformulario es necesario
vincular los campos principales con el formulario principal con
la finalidad de lograr una correspondencia de "uno a
varios", (vincular campos primarios y secundarios del objeto
incrustado). En un formulario se pueden insertar
objetos ActiveX(Fichas,
Fotografías).
- Algunos controles ActiveX necesitan programación visualbasic para poder ser
controlados de forma precisa. - Un objeto de marco dependiente puede contener una
fotografía para cada uno de los registros
en el formulario pero antes hay que definir este campo en la
tabla como Objeto OLE, es mejor poner el modo de
cambiar el tamaño a Extender. - En el formulario podemos utilizar botones de
enlaces(utilizando el asistente) con otros formularios, se
pueden establecer filtros mediante un campo coincidente en
ambas tablas).
- Eventos del formulario:
- Antes de actualizar.- Este evento permite saber si
será o no almacenado un valor determinado en un
campo. - Después de actualizar.- Este evento permite
actualizar el formulario principal con los nuevos valores del
formulario al que se llamo con una macro. - Al hacer clic.- Este evento permite ejecutar una
macro o acción al hacer clic con el mouse sobre
un objeto. - Al hacer doble clic.- Este evento permite ejecutar
una macro o acción al hacer doble clic con el mouse
sobre un objeto. - Al cargar.- Este evento permite desactivar objetos
dentro del formulario al momento de activarlo. Ej: Desactiva
botones del formulario.
Private Sub Form_Load()
' Turn off stuff if this is not an admin
user
If Not gintIsAdmin Then
Me.AllowEdits = False
Me.AllowDeletions = False
Me.AllowAdditions = False
Me!cmdAddNew.Visible = False
Me!cmdAddNew.Enabled = False
Me!cmdSave.Visible = False
Me!fsubAuthorBooks.Locked = True
End If
End Sub
- Se pueden crear subinformes dentro de un informe,
para presentar detalles relacionados para los registros que
forman parte del origen del informe. - Los informes se
crean a partir de consultas, una de las ventajas de los
informes es que se puede ordenar y agrupar la
información mediante el campo que uno desee. - Aunque en muchas ocasiones el crear informes basados
en consultas que realizan cálculos mejora el rendimiento
de la aplicación, en los informes también se
pueden crear expresiones que calculen operaciones con
los campos. - Se puede crear Encabezados y pies de pagina de
acuerdo al campo que se desea agrupar. - Con el asistente se pueden crear informes que
realicen agrupamientos(palabra completa, los 1,2,3 caracteres
primeros). - Propiedades: En el detalle:
- Autoextensible.- Permite que la sección se
extienda para acomodar los controles que podrían
ampliarse. - Autocomprimible.- Permite que la sección sea
más pequeña en caso de que los controles de esta
sección ocupasen un tamaño menor para acomodar
menos texto. - Visible.- Permite visualizar el detalle.
- Propiedades del Informe total:
- Origen del registro.- Visualiza el nombre de la
consulta que proporciona los datos del informe. - Bloqueos de registros.- Esta propiedad
cuando esta a "Todos los Registros" bloquea totalmente
las filas impidiendo que otros usuarios accedan a esta
consulta, no es recomendable. - Imagen.- Para estas propiedades, introduzca el nombre
del archivo y la ruta de acceso completa del mapa de bits que
desea utilizar como fondo para el informe. - Modo de tamaño de la imagen.- Sirve
para ajustar la imagen al tamaño del
formulario. - Paginas de la imagen.- Puede mostrar la imagen en
todas, la primera o ninguna pagina del informe. - Archivo de ayuda.- Sirve para mostrar ayuda sobre un
ítem determinado, este archivo puede estar creado en el
office 2000 o html.
- Cuando se trabaja con un subinforme es necesario
vincular los campos principales con el informe principal con la
finalidad de lograr una correspondencia de "uno a
varios", (vincular campos primarios y secundarios del objeto
incrustado). - La propiedad "Mantener Juntos" obliga al encabezado y
detalle del formulario estar juntos en la presentación y
no quedar separados(usado mas por
presentación). - La propiedad "Forzar nueva pagina" permite presentar
cada grupo en una
pagina diferente, evitando que todos salgan seguidos unos de
otros. - La propiedad "Estilo de los Bordes" evita mostrar los
márgenes que se crean alrededor del
subformulario(opción transparente).
- Lamentablemente el access al momento de crear paginas
de accesos a datos a partir de cualquier tabla, consulta,
informe o formulario debe tener instalado en la maquina
cliente los
siguientes paquetes de software como
requisito para funcionar correctamente:
- Un sistema
operativo win32. - Internet explorer 5.0
- Una copia de office2000
- Acceso de comparición de archivos para
la base de datos. - Por lo tanto las paginas de acceso a datos creadas en
access funcionan mejor en un ambiente de
tipo INTRANET(dentro de la
empresa).
- Cuando se crea una pagina de acceso a datos se puede
definir niveles de agrupamiento, el problema que presenta esta
utilidad es que en este modo la pagina se vuelve en estado de
solo lectura no
permitiendo realizar ninguna acción de
actualización sobre los registros. - Crear un nivel de agrupamiento consiste en filtrar
los registros o filas perteneciente a un solo
grupo. - Al momento de modificar una pagina de acceso a datos
hay que tener en cuenta que no hay la acción "deshacer
cambios". - Para ver todas las propiedades de la pagina de acceso
a datos haga lo siguiente: Seleccionar pagina del menú
Edición y luego ver
propiedades. - Se puede añadir mas campos o tablas a la
pagina, access automáticamente pide que se establezca la
relación entre las tablas. - Solo se pueden crear paginas de acceso a datos solo a
partir de tablas o consultas.
- En una macro podemos definir múltiples
acciones;
Macros Básicas: - Reloj de arena.- Puntero cambia a un reloj de
arena indicando una demora. - Eco.- Evita que access vuelva a trazar la
pantalla después de que sucedan algunas
acciones. - Ejecutar macro.- Ejecuta otra macro que oculta la
barra de herramientas vista formulario. - Abrir formulario.- Abre un formulario
determinado. - Seleccionar objeto.- Identifica el objeto que
recibe el enfoque(el formulario principal). - IraControl.- Especifica el objeto que recibe el
enfoque dentro del formulario. - Maximizar.- Hace que el formulario ocupe la
pantalla completa. - Cancelar evento.- Indica a access que no almacene
un valor en la tabla. - Establecer valor.- Establece un valor para un
control de formulario. Ej:
- Reloj de arena.- Puntero cambia a un reloj de
Elemento:
[Formularios]![InformaciónCiudad]![NombreCiudad]
Expresion: [Formularios]![FormListaBoda]![Ciudad]
(Formulario que contiene el valor que se desea añadir al
formulario Informacionciudad.)
- Ejecutar macro.- Permite llamar a otra macro o
incluso a un procedimiento
interno de la misma macro. En este ejemplo se llama a un
procedimiento interno de una misma macro.
Ejemplo:
Evaluarentrada.Solicitaredicion.
- Si se desea crear una macro que ejecute un formulario
apenas se abre una base de datos se le debe poner a la macro el
nombre de AUTOEXEC y definir las acciones básicas
mencionadas anteriormente. - Se pueden crear como vimos anteriormente macros
simples, llamar a macros anidadas, pero también se
pueden crear agrupamientos de macros; estas consisten en un
grupo de acciones que tienen un nombre especifico.
Ej.
Todas estas acciones están en una macro de
agrupamiento:
EjecutarInforme.Aceptar
EjecutarInforme.Cancelar
EjecutarInforme.Grupos
- En el agrupamiento de macros, aparte de la ventaja de
crear varias acciones por grupos existe la posibilidad de crear
condiciones que permiten derivar una acción.
Sintaxis:
Forms!nombreformulario!nombrecontrol.
Ejemplo:
1=[Formularios]![OpcionesImpresión]![opcImprimir]
Donde: 1 es el valor del botón de
opción.
Donde: [Formulario] hace referencia a la clase de
objeto.
Donde: [OpcionesImpresion] es el formulario
especifico.
Donde: [OpcImprimir] es el objeto dentro del
formulario que contiene el valor
numérico(1).
Si se desea ejecutar un grupo de acciones
basándose en el valor de salida de una
comprobación, puede introducir la comprobación en
la columna condición de la primera línea de la
acción e introducir puntos suspensivos(…) en la
columna condición para las otras acciones de las series,
estas se ejecutaran siempre y cuando la condición
anterior se ejecute como verdadera.
- Referencias a Objetos:
Formularios![Listaboda] R.Formulario.
Formularios![Listaboda].Barras
R.PropiedadFormulario.
Formularios![Listaboda]![Estado]
R.ObjetoFormulario.
Formularios![Listaboda]![Estado].Visible
R.Prop.ObjetoForm.
- Podemos crear macros que llamen a formularios
especificando criterios de filtración que permita
seleccionar determinados registros(Cláusula WHERE).
Ejemplo:
[Nombreciudad]=[Formularios]![Formlistaboda]![Ciudad]
En este ejemplo filtramos únicamente el nombre
de la ciudad coincidente con el campo del formulario
formlistaboda. Esta macro la debemos asociar un
evento(Alhacerdobleclic).
- Con las macros podemos validar entradas de
datos.
- Si desea crear una barra de herramientas
personalizada, solo servirá para la base de datos en
curso y no para todas las bdd. - Si se desea crear una barra de herramientas que se
pueda utilizar en todas las bases de datos, se deben utilizar o
modificar las barras de herramientas Utilidad1 ó
utilidad2. - Para establecer la barra de herramientas
personalizada como predeterminada en el formulario que se
desea, se debe establecer la propiedad del formulario general:
"Barra de herramientas" con el nombre de la barra personalizada
que se desea. - Para establecer un menú personalizado como
predeterminado en el formulario que se desea, se debe
establecer la propiedad del formulario general: "Barra de
Menus" con el nombre del menú personalizado que se
desea. - Si desea ver las características de la barra
de herramientas personalizada, debe ver las propiedades de la
barra(herramientas – personalizar – propiedades).
Estas permiten fijar la barra en un lugar determinado del
formulario. - Hay una barra de menú "Book Menu Bar" que
contiene algunos elementos del menú principal pero no
todos ya que no permite crear bdd por ejemplo ya que se esta
ejecutando una aplicación dentro de una bdd. - Además de poder crear barras de herramientas,
se puede crear menús, se realiza los siguientes pasos:
Hay una barra de herramientas que se llama "Book menú
Bar(es recomendable tomar esta barra como patrón)" esta
barra de menú es personalizada ya que no contiene los
mismos elementos del menú estándar de access
seguidamente creamos la barra y en la ventana comandos
escogemos nuevo menú y arrastramos los elementos de la
barra "Book menú Bar" hacia el nuevo menú
presionando la tecla Ctrl para que los elementos se copien y no
se muevan de una barra a otra. - Se puede optimizar la estructura
de la bdd utilizando la herramienta del analizador de
rendimiento del menú herramientas, esta utilidad le
muestra
sugerencias e ideas para mejorar el funcionamiento de la bdd,
usted puede incorporarlas o ignorarlas en su
sistema. - Se establece un formulario como formulario de entrada
al momento de abrir la bdd de la siguiente manera: menú
Herramientas – Inicio(se presenta un cuadro que permite
ingresar el formulario que va a ser el f.principal,
además que permite configurar una serie de acciones que
determina el acceso de las utilidades del access y
manipulación de la bdd en curso) y en la macro de
autoexec también se lo especifica. - Una vez terminada la bdd, es necesario compilar los
módulos hechos en visualbasic ya que esto permite mayor
velocidad de
ejecución a la hora de cargar la bdd, menú:
Depuración – compilar. Nota: se debe abrir el
modulo que se desea compilar. - Puede realizar replicas de la bdd
principal: que puede sincronizar usando las utilidades
de access, una vez que se haya configurado la bdd para la
replica, una copia se convierte en el Diseño principal y es esta la
única copia en la que se pueden realizar cambios en el
diseño de las tablas, consultas, formularios, informes,
macros. Antes de convertir una bdd en una "replica de
diseño principal" tiene que tener en cuenta que no
podrá convertirla de nuevo en una bdd normal ya que la
transformación de la bdd a una replica implica muchos
cambios a la bdd para de esta manera poder controlar los
cambios de diseño y de los datos. - Solo el diseño principal puede aceptar cambios
en la estructura de la bdd. Sin embargo los cambios en los
datos pueden realizarse tanto en el diseño principal
como en cualquier replica, los nuevos elementos que se crean
tanto en la replica como en el diseño principal no se
copian automáticamente hay que hacerlo por la tanto de
forma manual.
- Pasos para crear una replica:
- Abrir bdd que se desea crear la replica.
- Herramientas – Crear replica
- Se pide crear una copia de seguridad de la
bdd(extensión *.bak) - Por ultimo convierte la bdd en un diseño
principal - Si se desea crear replicas adicionales se debe abrir
el diseño principal y de nuevo utilizar la orden crear
réplica.
- Cuando abra una replica, puede abrir los objetos
replicados en vista diseño, pero access le advierte que
se abrirá una copia de solo lectura. Si realiza
cualquier cambio de
diseño a un objeto replicado de una replica, solo
podrá guardar los cambios como un nuevo objeto; es
posible crear nuevos objetos pero estos no participaran en la
sincronización.
- Seguridad de una base de datos: Se
puede ver el código y la estructura de la bdd teniendo
presionada la tecla shift al momento de abrir la
aplicación, por lo tanto para evitar este riesgo es
necesario implementar la siguiente seguridad:
- Un sistema informático de seguridad puede ser
abierto o cerrado. Es abierto cuando el acceso es concedido a
todos los usuarios, es cerrado cuando no se concede acceso a
ningún usuario a menos que se lo defina
específicamente. Access es un sistema cerrado aunque
parezca lo contrario.
- En access se pueden dar los siguientes
permisos: - Abrir ejecutar bdd.
- Abrir en modo exclusivo una bdd.
- Modificar diseños de una bdd,
formularios. - Administrar claves y usuarios.
- Leer datos.
- Actualizar datos.
- Insertar datos.
- Eliminar datos.
- Permisos: Existen 2 clases de permisos: Los
Implícitos y Explícitos. Un usuario tiene todos
los permisos del grupo de usuarios al que pertenece y si el a
creado un objeto(es el propietario) además tendrá
el permiso de modificar el diseño y administrar, puesto
que access asigna aquellos permisos cuando una persona crea un
objeto.
- Pasos para establecer seguridad:
- Menú Herramientas
- Seguridad
- Permisos de usuario y de grupo.
- Podemos establecer seguridad mediante el asistente
del access para crear grupos de trabajo:
Tenemos que desde el explorador ejecutar el archivo:
"Wrkgadm.exe" esta dentro del directorio de la
carpeta de instalación del microsoft office. - Una vez que ha ejecutado este archivo y creado el
grupo de trabajo, debe reininiciar el access y seleccionar el
menú herramientas – seguridad – cuentas de
usuario y de grupo. - Seguidamente se debe crear un usuario administrador
con acceso total a todos los objetos de la base y agregarlo al
grupo de "administrador". El "Id Personal del
administrador" debe ser el mismo que el del grupo
creado con el "Wrkgadm.exe". - Una vez creado el usuario administrador podemos
ejecutar el "asistente para seguridad por
usuarios". - Los accesos a los elementos de la bdd permitidos a
los usuarios tienen que ser especificados de forma
individual. - Al momento de proteger una bdd se lo podría
hacer creando solamente nuevos usuarios pero al a ser esto
tendria que asignar permisos para cada usuario de forma
individual, por esta razón es mas sencillo definir un
grupo para cada nivel de acceso que se desee conceder y a
continuación definir los usuarios para cada
grupo.
- Se puede poner clave a la bdd: herramientas –
seguridad – clave bdd. Pero la bdd debe ser abierta de
manera exclusiva. - Compartición de un archivo MDB(bdd en
access):
- Una forma es colocar la bdd en una red y protegerla de
forma que ningun usuario pueda editar el diseño de
ningún objeto, esto solo funciona cuando son pocos
usuarios. - Otra forma es separar todas las tablas de datos en un
archivo MDB independiente colocar este archivo en una red
compartida, y vincular estas tablas en una copia de la bdd que
solo contiene las consultas, formularios, informes, macros de
la aplicación. Esto se lo puede hacer de forma manual,
pero tambien se puede utilizar el asistente "Divisor de
bdd" en el menu herramientas; aquí se especifica
el nombre de la bdd que va a contener solo las tablas y su
ubicación(servidor). La
bdd que contiene los diseños de formularios, informes,
etc …, va a crear vínculos con las tablas a la bdd que
solo contiene informacion. - Esta técnica solo funciona correctamente en
las aplicaciones que requieren una cantidad moderada de
datos(200 Mb. Seria una limitación aceptable) con un
máximo de 20 usuarios simultáneos ya que access
es fundamentalmente un sistema de base de datos de escritorio.
Si se necesita un gran numero de usuarios o de una gran
cantidad de datos es convertir una aplicación access a
microsoft server. - Conversión a una aplicacion Microsoft
Server: Es necesario crear un "archivo de
proyecto de
access" de esta forma se transforman tanto las tablas,
consultas o procedimientos
almacenados directamente en SQL
server.
Requerimientos:
- Acceso a una version de sql server versión
6.5 - Tener instalado microsoft data engine
que viene con office 2000 en su computadora de escritorio.
- Creación de una base de datos solo
ejecutable: Este proceso
permite reducir el riesgo de que alguien viole la seguridad de
la bdd, ademas permite crear una copia de la bdd mas
pequeña y compacta(no se pueden modificar los
formularios, informes, modulos, paginas) los pasos a seguir son
los siguientes: Menu herramientas – utilidades –
Crear archivo MDE(es necesario que la bdd este previamente
compilada). - Creación e un acceso directo: Se
crea un acceso directo en el escritorio indicando la dirección del archivo ejecutable de
access. Después se elige propiedades del acceso directo
creado y en "destino" se ubica la
dirección del archivo MDB que se desea ejecutar
EJ:
"C:Archivos de programaMicrosoft
OfficeOfficeMSACCESS.EXE"
c:sistemaspaccess1Boda.mdb
Hay las siguientes opciones para ejecutar una
bdd:
/compact.- Compacta la bdd.
/excl.- Abre la bdd en forma exclusiva.
/nostartup.- Abre la bdd sin visualizar la pantalla
inicial de access.
/repair.- Repara la bdd especificada pero no la
abre.
/ro.- Abre la bdd especificada pero con acceso de
lectura.
/runtime.- Especifica que access se ejecutará
con las opciones de la versión run-time.
- Se pueden crear menús para toda la
aplicación mediante el asistente para menus:
Herramientas – Utilidades de la base de datos –
Administrador del panel de control. Aquí se especifica
el menú principal de la aplicación.
- Día(fecha).- Extrae el dia de una x
fecha. - Mes(Fecha).- Extrae el mes de una x
fecha. - Año(fecha).- Extrae el año de una x
fecha. - DiaSemana(fecha).- extrae el día de la semana
de una x fecha. - Hora(fecha).- Extrae la hora.
- Fecha().- Hace referencia a la fecha del
campo. - =Ahora().- Presenta la fecha actual junto con la
hora; debe estar acompañada de la propiedad
formato(Fecha larga). - =Pagina().- Muestra el numero de la
pagina. - =Conmutador().- Reemplaza el código por una
cadena de caracteres, soporta hasta siete parejas de
expresiones, Ejemplo:
=Conmutador([Estadocontrato]="A";"Activo",
[Estadocontrato]="Pd" ; "Pagado").
- Round() Redondea un numero x decimales.
- Iff().- Sirve para crear una
condición. - Cmoneda() Convierte un formato de coma flotante en
formato moneda. - Ccadena().-Convierte un expresion numérica a
carácter. - Izq(,1).-Extrae un carácter o numero a partir
de la izquierda. - IsNull().-Detecta si un campo tiene un valor
nulo. - Nz().- Detecta si un campo tiene un valor
nulo. - Encad().- Localiza la primera posición
después del espacio en blanco. - Medio$().- Extrae los caracteres desde esta
posición hasta el final de la
cadena.Ejemplos:
Medio$([NuevosClubs].[Manager],EnCad([NuevosClubs].[Manager],"
"))
- Sum().- Suma los valores
de un campo numérico. - Avg().- Calcula el promedio de un conjunto de valores
numéricos. - Max().- Extrae el numero mayor de un rango
especifico. - Min().- Extrae el numero menor de un rango
especifico. - First().- Se coloca en el primer numero de un campo
numerico. - Last().- Se coloca en el ultimo numero de un campo
numerico. - Cuenta().- Permite contar el numero de
filas(Registros). - Dbusq.-Esta funcion localiza una cadena de caracteres
en una tabla, si no encuentra la cadena buscada devuelve un
valor nulo. - EsNulo.- Comprueba el valor devuelto por la funcion
Dbusq. Ej:
EsNulo(DBúsq("[NombreCiudad]","NombresCiudad","[NombreCiudad]=Ciudad"))
- CuadroMsj.- Permite mostrar un cuadro de mensaje.
Ej.:
CuadroMsj("La ciudad introducida no aparece en la base
de datos. ¿Desea introducir una nueva
ciudad?",36)
El numero 36 presenta un icono de interrogacion y el 4
requiere los valores SI y NO.; Cuando el usuario pulsa el boton
SI, cuadromsj devuelve un 6, cuando presiona NO devuelve el
7.
- Utilizacion del SQL:
- Access permite crear subconsultas dentro de las
consultas con Sqls. - Select.- Especifica los nombres de los campos a
presentar. - From.- Define las tablas a utilizarse en la
consulta. - Where.- Especifica las condiciones que deben cumplir
los registros a ser presentados en la consulta. - Group By.- Agrupa registros coincidentes.
- Having.- Especifica las condiciones que deben cumplir
los grupos de registros para ser presentados en la consulta(se
utiliza junto con la clausula Group By). - Inner Join.- Utilice Inner Join para obtener como
resultado todas las filas que coinciden con la
especificación de combinación de ambas
tablas(Combinación interna). - Left Join.- Para obtener como resultado todas las
filas procedentes de la primera tabla logica combinada en la
especificación de combinación con cualquiera de
las filas que coincidan con la segunda tabla
logica. - Right Join.- Obtendremos todas las filas procedentes
de la segunda tabla logica combinada con cualquiera de las
filas que coincidan con la primera tabla logica. - Order By.- Ordena un conjunto de filas presentadas
por la clausula select. - Union.- Permite unir el resultado de dos
consultas. - Parameters.- Permite recibir parámetros para
la consulta, esta sentencia precede a la cláusula
Select.
- La cláusula AS permite asignar un nombre
apropiado a un campo calculado. - With Owneraccess option.
Comentarios:
Tclgo. A.S. Juan Carlos Romero
Jijón