viernes, 5 de marzo de 2010

Un cuadro de diálogo personalizado



La mayoría de los formularios están enlazados a una o varias tablas y consultas (consulta: pregunta sobre los datos almacenados en las tablas o solicitud para llevar a cabo una acción en los datos. Una consulta puede unir datos de varias tablas para servir como origen de datos de un formulario, informe o página de acceso a datos.) de la base de datos. El origen de registros (origen de registros: origen de datos subyacente de un formulario, informe o página de acceso a datos. En una base de datos de Access, puede ser una tabla, una consulta o una instrucción SQL. En un proyecto de Access, puede ser una tabla, una vista, una instrucción SQL o un procedimiento almacenado.) de un formulario hace referencia a los campos de las tablas y consultas base. No es necesario que un formulario contenga todos los campos de cada una de las tablas o consultas en las que está basado.
Un formulario dependiente almacena o recupera los datos del origen de registros base. Otra información del formulario, con el título, la fecha y el número de página, se almacena en el diseño del formulario.
Los elementos gráficos como, por ejemplo, líneas y rectángulos, se almacenan en el diseño del formulario.
Los datos proceden de los campos del origen de registros base.
Un cálculo procede de una expresión almacenada en el diseño del informe.
El texto descriptivo se almacena en el diseño del formulario.El vínculo entre un formulario y su origen de registros se crea mediante los objetos gráficos denominados controles (control: objeto de interfaz gráfica para el usuario, como un cuadro de texto, una casilla de verificación, una barra de desplazamiento o un botón de comando, que permite a los usuarios controlar el programa. Utilice los controles para mostrar datos y opciones, realizar una opción o facilitar la lectura de la interfaz.). El tipo de control más comúnmente utilizado para mostrar y escribir datos es un cuadro de texto

Datos de aspecto agradable



Un formulario es un tipo de objeto de base de datos que se utiliza fundamentalmente para introducir o mostrar datos en una base de datos. También puede usar un formulario como un panel de control que abra otros formularios e informes en la base de datos, o como un cuadro de diálogo personalizado que aceptar los datos del usuario y realiza la acción basada en la entrada

Uso de formularios



Para ver, escribir y cambiar datos de manera sencilla directamente en una tabla, cree un formulario. Al abrir un formulario, Microsoft Access recupera los datos de una o más tablas, y los muestra en la pantalla con el diseño elegido en el Asistente para formularios, o con un diseño que haya creado en la vista Diseño (vista Diseño: ventana que muestra el diseño de estos objetos de base de datos: tablas, consultas, formularios, informes, macros y páginas de acceso a datos. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.).

creación de tabla



Crea una tabla nueva a partir de todos o de parte de los datos de una o más tablas. Por ejemplo, podemos
pasar los promedios de calificaciones que obtuvieron los maestros de la consulta a una tabla aparte.
8
1. Cree una consulta, para lo cual deberá seleccionar las tablas o consultas que contienen los registros que
desea incluir en la nueva tabla.
2. En la vista Diseño de la consulta, haga clic en la flecha situada junto al botón Tipo de consulta en la
barra de herramientas y, a continuación, haga clic en Consulta de creación de tabla. Aparecerá el cuadro
de diálogo Crear tabla.
3. En el cuadro Nombre de tabla, escriba el nombre de la tabla que desea crear o reemplazar.
4. Haga clic en Base de datos activa para incluir la tabla nueva en la base de datos abierta actualmente.
También puede hacer clic en Otra base de datos y escribir el nombre de otra base de datos en la que desea
incluir la tabla nueva. Si es necesario, escriba la ruta de acceso. Elija Aceptar.
5. Arrastre desde la lista de campos hasta la cuadrícula de diseño de la consulta los campos que desea
incluir en la tabla nueva.
6. En la celda Criterios de los campos arrastrados a la cuadrícula, escriba los criterios.
7. Para ver una vista previa de la tabla nueva antes de crearla, haga clic en el botón Vista de la barra de
herramientas. Para regresar a la vista Diseño y realizar cambios o ejecutar la consulta, haga clic en el botón
Vista de la barra de herramientas. Para crear la tabla nueva, haga clic en Ejecutar en la barra de
herramientas.

datos anexados



Agrega un grupo de registros de una o más tablas al final de una o más tablas. Por ejemplo, supongamos
que consigue listas para el nuevo semestre en una tabla. Para evitar tener que escribir toda esta información,
desea anexarla a la tabla Listas.
1. Cree una consulta que contenga la tabla cuyos registros desea anexar a otra tabla.
2. En la vista Diseño de la consulta, haga clic en la flecha situada junto a Tipo de consulta en la barra de
herramientas y, a continuación, haga clic en Consulta de datos anexados. Aparecerá el cuadro de diálogo
Anexar.
3. En el cuadro Nombre de tabla, escriba el nombre de la tabla a la que desea anexar registros.
4. Haga clic en Base de datos activa si la tabla se encuentra en la base de datos abierta actualmente. De
lo contrario, haga clic en Otra base de datos y escriba el nombre de la base de datos en la que esté
almacenada la tabla. Escriba la ruta de acceso si es necesario. Elija Aceptar.
5. Arrastre desde la lista de campos hasta la cuadrícula de diseño de la consulta los campos que desee
anexar y cualquier campo que desee utilizar para establecer criterios.
Si todos los campos de ambas tablas tienen los mismos nombres, simplemente arrastre el asterisco (*) a la
cuadrícula de diseño de la consulta.
6. Si los campos seleccionados tienen el mismo nombre en ambas tablas, Microsoft Access rellena
automáticamente el nombre coincidente en la fila Anexar a. Si los campos de las dos tablas no tienen el
mismo nombre, en la fila Anexar a escriba los nombres de los campos de la tabla a la que está anexando.
7. En la celda Criterios de los campos arrastrados a la cuadrícula, escriba el criterio según el cual deben
realizarse las anexiones.
8. Para ver una vista previa de los registros que anexará la consulta, haga clic en Vista en la barra de
herramientas. Para regresar a la vista Diseño de la consulta, haga clic de nuevo en Vista en la barra de
herramientas. Haga clic en Ejecutar en la barra de herramientas para agregar los registros.

Consultas de acción



Una consulta de acción es una consulta que realiza cambios a muchos registros en una sola operación.
􀂃􀀃de eliminación
Elimina un grupo de registros de una o más tablas. Por ejemplo, puede utilizar una consulta de eliminación
para quitar maestros que ya no trabajan o materias que ya no se imparten. Con las consultas de eliminación,
siempre se eliminan registros enteros, no sólo campos seleccionados dentro de los registros.
1. Cree una consulta nueva que contenga las tablas de las cuales desea eliminar registros.
2. En la vista Diseño de la consulta, haga clic en la flecha situada junto a Tipo de consulta en la barra de
herramientas y, a continuación, haga clic en Consulta de eliminación. Aparece fila Eliminar en lugar de
filas Orden y Mostrar.
3. Para las tablas de las que desee eliminar registros, arrastre el asterisco (*) desde la lista de campos
hasta la cuadrícula de diseño de la consulta. Aparecerá Desde en la celda Eliminar.
4. Para especificar criterios para eliminar registros, arrastre a la cuadrícula de diseño los campos en los
que desea establecer los criterios. Aparecerá Dónde en la celda Eliminar.
5. En la celda Criterios de los campos arrastrados a la cuadrícula, escriba los criterios.
6. Para ver una vista previa de los registros que se van a eliminar, haga clic en Vista en la barra de
herramientas. Para regresar a la vista Diseño de la consulta, haga clic de nuevo en Vista en la barra de
herramientas.

Función SiInm



Regresa una de las dos partes, dependiendo del valor de la expresión.
Sintaxis: SiInm(expr, parteVerdadera, parteFalsa)
Parte Descripción
Expr Requerido. Expresión que se está evluando.
ParteVerdadera Requerido. Valor o expresión que se regresa si expr es verdadero.
ParteFalsa Requerido. Valor o expresión que se regresa si expr es falso.
3. Calificaciones y promedios de alumnos (de la sección anterior – “Consulta de unión”) del
plan de estudio 2IA por cada materia, donde a cada alumno corresponda una columna y a
cada materia una fila.

Consultas de tabla de referencias cruzadas – tablas dinámicas



Una consulta de tabla de referencias cruzadas muestra valores resumidos (sumas, cuentas y
promedios) de un campo de una tabla y los agrupa según un conjunto de hechos enumerados en el
lado izquierdo de la hoja de datos y otro conjunto de hechos enumerados en la parte superior de la
hoja de datos. Esto significa que los valores de un campo se pasan como títulos de las columnas
de una tabla nueva y les da la segunda dimensión a los datos. Varios campos pueden pasar los
datos a la parte izquierda de la hoja de datos, pero solamente uno a la parte superior y solamente
uno para resumir los valores que se van a mostrar.

Consulta de unión



Este tipo de consulta combina campos (columnas) de una o más tablas o consultas en un campo o
columna del resultado de la consulta. Por ejemplo, si tiene seis distribuidores que envían nuevas
listas de inventario cada mes, puede combinar estas listas en un conjunto de resultados mediante
una consulta de unión y, a continuación, crear una consulta de creación de tabla basada en la
consulta de unión para crear una tabla nueva.
1. En la ventana Base de datos, haga clic en la ficha Consultas y después en Nuevo.
2. En el cuadro de diálogo Nueva consulta, haga clic en Vista diseño y después en Aceptar.
3. Sin agregar tablas ni consultas, haga clic en Cerrar, en el cuadro de diálogo Mostrar tabla.
4. En el menú Consultas, señale Específica de SQL y haga clic en Unión.
5. Introduzca instrucciones SQL SELECT combinadas con cualquier operación de UNION si no
desea retornar registros duplicados o UNION ALL si desea retornar registros duplicados.
Por ejemplo:
SELECT * FROM [Nombre de tabla o consulta]
UNION
SELECT * FROM [Nombre de otra tabla o consulta]
etc.
Nota Cada instrucción SELECT debe devolver el mismo número de campos, y en el mismo
orden. Se necesita que los campos correspondientes tengan tipos de datos compatibles, con una
excepción: puede utilizar un campo Numérico y de Texto como campos correspondientes.
Nota Una consulta de unión toma los nombres de sus
columnas de
la primera tabla o instrucción SELECT

Historia


Open Office Access versión 1.0 fue lanzado en noviembre de 1992. Rápidamente, en mayo de 1993, se lanzó Access 1.1 para mejorar la compatibilidad con otros productos de Microsoft e incluir el lenguaje de programación Access Basic.
Para empezar, advierte sobre una serie de circunstancias en las que los controladores de dispositivo obsoletos o configuraciones incorrectas pueden causar la pérdida de datos. Con la eliminación gradual de Windows 95, 98 y ME, la mejora de la confiabilidad de la red y el lanzamiento de Microsoft de 8 Service Pack para el Jet Database Engine, la fiabilidad de las bases de datos Access ha mejorado enormemente tanto en tamaño como en número de usuarios.
Con Office 95, Microsoft Access 95 se convirtió en parte de Microsoft Open Office Professional Suite junto con Microsoft Excel, Word y PowerPoint y la transformación de Access Basic a Visual Basic para Aplicaciones (VBA). Desde entonces, ha habido liberaciones de Microsoft Access con cada versión de Office. Esto incluye el Access 97 (versión 8.0), Access 2000 (versión 9.0), Access 2002 (versión 10.0), Access 2003 (versión 11.0) y Access 2007 (versión 12.0). El formato de base de datos nativa de Access (la base de datos Jet MDB) también ha evolucionado a lo largo de los años. Incluyen los formatos de acceso 1.0, 1.1, 2.0, 95, 97, 2000, y 2002-2007. La más significativa fue la transición de Access 97 a Access 2000, formato que no era compatible antes, y Access 2000 requirió el nuevo formato. Desde Access 2000, todas las nuevas versiones de Access soportan este formato. Se añadieron nuevas características a Access 2002, que pudieron ser usadas por Access 2002, 2003 y 2007.
En Access 2007, se introdujo un nuevo formato de base de datos: ACCDB. El ACCDB soporta los tipos de datos más complejos, como archivos adjuntos y campos con múltiples valores. Estos nuevos tipos de campos son esencialmente de registros y permiten el almacenamiento de múltiples valores en un campo.
Antes del lanzamiento de Access, el mercado de base de datos de escritorio estaba dominado por Borland, con sus programas Paradox y dBase, y FoxPro. Microsoft Access fue el primer programa en masa de base de datos para Windows. Con la compra de FoxPro y la incorporación de sus rutinas de optimización Rushmore dentro de Access, Microsoft Access se convirtió rápidamente en la principal base de datos para Windows de manera efectiva, eliminando la competencia que no daba transición en el mundo MS-DOS.

Imágenes vinculadas a datos en Access 2007


Los tradicionales problemas de Access para mostrar imágenes se han resuelto en la versión 2007 de manera plenamente satisfactoria y por partida doble: El nuevo tipo de datos de Access 2007, "Datos adjuntos", resuelve de manera tan espectacular estos problemas que a muchos nos ha deslumbrado hasta el punto de no apreciar a simple vista otra solución grande, precisamente por ser más sencilla. Me refiero al control Imagen, ahora actualizado, que incluye una propiedad "Origen del Control".
El control Imagen sigue siendo independiente y, si importamos una aplicación de una versión anterior, va a seguir funcionando exactamente igual. La novedad es que en esa nueva propiedad "Origen del control" le podemos indicar el nombre de un campo de texto que contenga la ruta de una imagen y entonces se mostrará la imagen que se encuentra en el archivo cuya ruta tenemos guardada.
La recomendación tradicional siempre ha sido no guardar imágenes en Access, sino la ruta donde se encuentra el archivo y luego, mediante código asignar la propiedad Picture del control en formularios o informes. En Access 2007, asignando la propiedad "Origen del control", nos ahorramos todo el código posterior para que la imagen se muestre y, además, de una forma más eficiente, pues siempre hubo problemas, nunca bien resueltos, de aplicaciones que se rompían cuando pasábamos deprisa los registros, imágenes que se repetían cuando no existía el origen... todo eso está ahora resuelto. Funciona tan fácil que uno se pregunta por qué no ha sido siempre así.
La solución es buena, pero son un conjunto de pequeñas novedades, seguramente ya conocidas, las que la convierten en una solución realmente grande, sobre todo con respecto a versiones anteriores:
Nuevas propiedades del objeto FileDialog de Office
Sigue siendo necesario usar código para seleccionar el archivo de imagen para poder guardar su ruta. Ya antes era sencillo usando el objeto FileDialog de Office (Debemos incluir una referencia a Office 12 Object Library), pero ahora podemos indicarle fácilmente si queremos que el diálogo muestre una vista previa o imágenes en miniatura. Sólo hay que asignar a la propiedad InitialView las constantes msoFileDialogViewPreview o msoFileDialogViewThumbnail
Podemos tener una función como ésta para llamarla cuando queramos obtener la ruta de la imagen deseada:

Un poco de código


La cinta de opciones no está disponible si estamos utilizando un formulario emergente, por lo tanto, no podemos usar el menú de filtro propio de esa cinta, salvo que lo hagamos por código:
Private Sub Filtro_Click()
Dim ctrl As Control
On Error GoTo Filtro_Click_Error
Set ctrl = Screen.PreviousControl
ctrl.SetFocus
DoCmd.RunCommand acCmdFilterMenu
On Error GoTo 0
Exit Sub
Filtro_Click_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Filtro_Click of Documento VBA Form_Detalles de empleados"
End Sub

El mismo botón sirve para filtrar en el formulario principal o en un subformulario. Sólo es cuestión de posicionarse previamente en el campo por el que queremos filtrar

Filtros en hojas de datos


Los menús de filtro también están disponibles en las vistas de hojas de datos de tablas y consultas, sin necesidad de que se trata de un subformulario. Además, están directamente accesibles ambos menús de filtro, el contextual y el que veíamos desde el Ribbon, para el primero usando el botón derecho del ratón y, para el segundo, pulsando sobre el pequeño triángulo con un vértice hacia abajo que aparece junto al nombre de cada campo.Al aplicar el filtro, junto nombre del campo que hemos usado aparece un minúsculo icono de filtroY, si pulsamos en él se despliega el menú de filtro con, entre otras, la opción para quitar el filtro por ese campo.

Usando el Ribbon


En el grupo de la Cinta de Opciones Ordenar y Filtrar, no sólo tenemos el botón de filtro que veíamos antes. Los botones Selección y Avanzadas despliegan una serie de opciones que ya existían en versiones anteriores de Access.Las opciones de Selección ya existían en versiones anteriores, salvo la última, Entre…, también disponible en el menú contextual y en el botón de filtro, bastante novedosa y útil: muestra un cuadro de diálogo con dos cuadros de texto para indicar los límites de un rango por el que filtrar.
La imagen es para un rango de fechas, pero también existe para un rango de números. No existe para texto, aunque para texto hay otras alternativas.
Desplegando el botón Avanzadas encontramos Filtro por formulario y Filtro avanzado/Ordenar. Son viejos conocidos de versiones anteriores; el primero presenta el formulario en una vista especial para introducir criterios y el segungo muestra la cuadrícula QBE para editar el text SQL correspondiente al filtro.
Son herramientas mas complicadas de usar que las nuevas de 2007, pero siguen siendo necesarias si queremos manejar cierta complejidad.
Mediante las herramientas del botón de Filtro del Ribbon o del menú contextual, los distintos criterios de filtro se van concatenando con AND sin opciones de usar OR y sin mostrar una vista conjunta de los distintos criterios que se están aplicando. No es necesario elegir entre una y otras, pues se pueden ir complemantando: el filtro que hayamos creado con el menú desplegable podemos editarlo con Filtro por formulario o con Filtro avanzado/Ordenar para hacerlo más complejo.

Filtros en Access 2007


Access 2007 incorpora importantes herramientas para facilitar que el usuario pueda realizar filtros complejos sobre formularios, incluso sobre informes, de una manera manera muy sencilla, tanto que uno se pregunta si merece la pena continuar con los procedimientos que, durante años, hemos ido añadiendo a nuestras aplicaciones para filtrarPara muestra vale un botón (el de filtro):


Con sólo posicionarnos en un campo de un formulario, en este caso de fecha, y pulsar el botón de Filtro que encontramos en la Cinta de Opciones, Access despliega una abrumadora relación de opciones para filtrar el formulario por el campo en el que nos encontramos.
Las opciones que se despliegan varían según el campo por el que vamos a filtrar sea numérico, de texto o de fecha.