A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía...

155
GUIA ACCESS 1 Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz A C C E S S Ver Contenido en Pág. 148. Guía alfabética de Tablas, Consultas, Formularios e Informes. BaseDatos Tablas Consultas Formularios Informes Macros y Módulos . (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. Ir a Guía Excel.doc si está en misma Carpeta. Ir a Guía PowerPoint.doc si está en misma Carpeta. Ir a Guía FrontPage.doc si está en misma Carpeta. Saltar desde interior de Hipervínculos con Intro o Click, regresar al mismo con May+F5. Regresar a este índice con Ctrl+Inicio. Buscar texto con Ctrl+B. Para comandos generales de Office y Windows ver Guía Word. Esta guía es parte de JRMWEB . Conozca INICIO , con muchas utilidades gratis. A Abrir lista desplegable seleccionada ALT+ Abrir objeto Base de datos INTRO o doble Clic o ALT+B Acceso directo, crear ALT+E, D . Activado, propiedad Ver Cuadro de texto, prop. Activado. Actualización de las Tablas por las Consultas Ver Consulta , Prop. Tipo Recordset Actualizar datos automáticamente Ver Consulta de Actualización. Actualizar registros en entorno multiusuario ALT+ R, A. Actualizar Tablas vinculadas ALT+ H, E, M. Agrupar (y Ordenar) registros Diseño, Informes: ALT+ V, O . Ver Pág 79, Agrupar registros del informe. Agrupar datos Ver Totales . Ajustar espacio horizontal/vertical entre controles Ver Controles , ajustar espacio Ajustar tamaño y alinear controles Ver Controles , ajustar. Ver Controles , alinear. Ajustes y complementos de Objetos y Controles Ver Pág 76, Objetos /Controles. Alinear controles Ver Controles , alinear Alto de registro ALT+ F, A. Ampliar área de entrada en celda MAY+F2 Analizar rendimiento de Base de datos ALT+H, Z, R. Analizar tabla ALT+H, Z, T. Trata de mejorar el diseño. Ancho de columna ALT+ F, N. Añadir línea en campo Memo CTRL+INTRO. Añadir nuevo registro CTRL++ (signo más) Añadir registros a tabla a partir de otra(s) Ver Consulta de Datos anexados. Asistente para consultas Ver Consulta de selección. Asistente para controles Pág 60, Botón Asistente para controles. Asistente para Formularios Ver Pág 53, Crear Formulario con Asistente. Autocorrección ALT+H, A. Ver Guía Word 97.doc . Autoformas, Dibujo Ver Ajustes y complementos de Objetos y Controles. Autoformato (formulario/informe) Seleccionar completo, sección o controles y ALT+F, U. Ver Botón Opciones para atributos a aplicar y Botón Personalizar para crear nuevos Autoformatos. Ver Plantillas de formula- rios e informes. Autoformulario Los Autoformularios son muy útiles como base para diseño de formularios. En Ventana Base de datos: ALT+I, O . Crea automáticamente un formulario tipo columna (ver abajo), basado en la tabla o consulta seleccionada. Asistentes en Nuevo de Ficha Formularios de Ventana Base de datos: Autoformu- lario en Columna: Nombres de campos a la izquierda, datos a la derecha, registro a registro, con formato. Hoja de datos: igual a presentación de tabla, con nombres de campos en la cabecera superior. Con Vista Formulario presenta un solo registro (fila), con formato (cabecera, detalle, controles, etc.). Tabular: Igual que Hoja de datos, pero con todos los registros en Vista Formulario, con formato. En Vista Hoja de datos es igual a Autoformulario Hoja de datos. Autoinforme ALT+I, N . Crea automáticamente un informe, basado en la tabla o consulta seleccionada, tipo columna. Ver Pág 77, Crear Informe con Autoinforme . Ver Autoformulario para formatos en columna, ta- bular o hoja de datos. Ver Nuevo objeto. B Barras de Herramientas, ver, personalizar ALT+V, B . Base de datos Ver Pág 12. Base de datos, compactar ALT+ H, U, O.

Transcript of A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía...

Page 1: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 1

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn

Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

A C C E S S Ver Contenido en Pág. 148.

Guía alfabética de Tablas, Consultas, Formularios e Informes. BaseDatos Tablas Consultas Formularios Informes

Macros y Módulos. (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. Ir a Guía Excel.doc si está en misma Carpeta.

Ir a Guía PowerPoint.doc si está en misma Carpeta. Ir a Guía FrontPage.doc si está en misma Carpeta.

Saltar desde interior de Hipervínculos con Intro o Click, regresar al mismo con May+F5. Regresar a este índice con Ctrl+Inicio. Buscar texto con Ctrl+B. Para comandos generales de Office y Windows ver Guía Word.

Esta guía es parte de JRMWEB.

Conozca INICIO, con muchas utilidades gratis.

A Abrir lista desplegable seleccionada ALT+ Abrir objeto Base de datos INTRO o doble Clic o ALT+B Acceso directo, crear ALT+E, D. Activado, propiedad Ver Cuadro de texto, prop. Activado. Actualización de las Tablas por las Consultas Ver Consulta, Prop. Tipo Recordset Actualizar datos automáticamente Ver Consulta de Actualización. Actualizar registros en entorno multiusuario ALT+ R, A. Actualizar Tablas vinculadas ALT+ H, E, M. Agrupar (y Ordenar) registros Diseño, Informes: ALT+ V, O. Ver Pág 79, Agrupar registros del informe. Agrupar datos Ver Totales. Ajustar espacio horizontal/vertical entre controles Ver Controles, ajustar espacio Ajustar tamaño y alinear controles Ver Controles, ajustar. Ver Controles, alinear. Ajustes y complementos de Objetos y Controles Ver Pág 76, Objetos/Controles. Alinear controles Ver Controles, alinear Alto de registro ALT+ F, A. Ampliar área de entrada en celda MAY+F2 Analizar rendimiento de Base de datos ALT+H, Z, R. Analizar tabla ALT+H, Z, T. Trata de mejorar el diseño. Ancho de columna ALT+ F, N. Añadir línea en campo Memo CTRL+INTRO. Añadir nuevo registro CTRL++ (signo más) Añadir registros a tabla a partir de otra(s) Ver Consulta de Datos anexados. Asistente para consultas Ver Consulta de selección. Asistente para controles Pág 60, Botón Asistente para controles. Asistente para Formularios Ver Pág 53, Crear Formulario con Asistente. Autocorrección ALT+H, A. Ver Guía Word 97.doc. Autoformas, Dibujo Ver Ajustes y complementos de Objetos y Controles. Autoformato (formulario/informe) Seleccionar completo, sección o controles y ALT+F, U. Ver Botón Opciones

para atributos a aplicar y Botón Personalizar para crear nuevos Autoformatos. Ver Plantillas de formula-rios e informes.

Autoformulario Los Autoformularios son muy útiles como base para diseño de formularios. En Ventana Base de datos: ALT+I, O. Crea automáticamente un formulario tipo columna (ver abajo), basado en la tabla o consulta seleccionada. Asistentes en Nuevo de Ficha Formularios de Ventana Base de datos: Autoformu-lario en Columna: Nombres de campos a la izquierda, datos a la derecha, registro a registro, con formato. Hoja de datos: igual a presentación de tabla, con nombres de campos en la cabecera superior. Con Vista Formulario presenta un solo registro (fila), con formato (cabecera, detalle, controles, etc.). Tabular: Igual que Hoja de datos, pero con todos los registros en Vista Formulario, con formato. En Vista Hoja de datos es igual a Autoformulario Hoja de datos.

Autoinforme ALT+I, N. Crea automáticamente un informe, basado en la tabla o consulta seleccionada, tipo columna. Ver Pág 77, Crear Informe con Autoinforme. Ver Autoformulario para formatos en columna, ta-

bular o hoja de datos. Ver Nuevo objeto.

B Barras de Herramientas, ver, personalizar ALT+V, B. Base de datos Ver Pág 12. Base de datos, compactar ALT+ H, U, O.

Page 2: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

2 MENUS EN VISTA GENERAL Págs. 155

Base de datos, compilar y compactar (*.mde, diseño no modificable) ALT+H, U, E. Base de datos, concepto, introducción, menús Ver Pág 12 Base de datos. Base de datos, convertir desde versión anterior a Access 97 ALT+ H, U, C. Base de datos, dividir ALT+, E, D. En Tablas y restantes objetos, para personalizar por usuario formula-

rios, etc. Base de datos, documentación ALT+H, Z, D. Base de datos, formulario inicio, menú Ver Inicio de la Base de datos. Ver Panel de control. Ver Acceso

directo, crear. Base de datos, ir a Ventana F11. Base de datos, nueva ALT+A, N. Ficha General: Base de datos en blanco. Ficha Bases de datos: Ejemplos

o plantillas para crear una base de datos. Para ejemplos: Neptuno, Pedidos o Soluciones, Ver Pág 12 Base de datos.

Base de datos, opciones ALT+ H, N. Predeterminar: Fuentes, colores, teclado, plantillas, carpetas, etc. Base de datos, plantillas, ejemplos Ver Nueva Base de datos . Base de datos, propiedades (contenido, estadísticas, personalizar) ALT+A, B . Ver Documentación. Base de datos, rendimiento ALT+H, Z, R. Ver Compactar Base de datos. Base de datos, reparar ALT+ H, U, R. Base de datos, replicas, copias Ver Réplica. Base de datos, seguridad Ver Seguridad de Base de datos. Base de datos, ventana Ir con F11. Saltar entre fichas con CTRL+TAB o CTRL+MAY+TAB (atrás). Bloqueado, propiedad Ver Cuadro de texto, Prop. Activado y Bloqueado. Bloqueos del registro Ver Consulta, Prop. Bloqueo del registro. En entorno multiusuario. Bordes de objetos Ver Objeto, bordes Borrar cuadrícula de diseño consulta, filtro ALT+ E, D. Borrar Ver Eliminar Botón de Alternar, control Ver Pág 64, Botón Alternar. Botón de Comando, control Ver Pág 67, Botón de Comando. Botón de Opción, control Ver Pág 64, Botón de Opción. Botón Flecha en Cuadro Herramientas Ver Seleccionar objetos., controles. Buscar por filtro, propiedad Ver Cuadro de texto, prop. Buscar por filtro. Buscar Hojas de datos y formularios. CTRL+B. Ver las opciones de 'Buscar en' y 'Coincidir' del cuadro

de diálogo. Para campos en blanco, poner Nulo o Es Nulo. Para campos textos longitud 0 poner "". Para ambas búsquedas desmarcar Con formato, poner Hacer coincidir todo el campo y marcar Sólo campo ac-tivo, por lo que antes se habría colocado en la columna correspondiente. Ver Filtrar para ver sólo los re-gistros buscados.

Búsqueda, columna de, campo de En Hoja: ALT+ I, M. En Diseño: ALT+ I, B. Crea con un Asistente un Cuadro de lista o combinado en un campo o columna para seleccionar e introducir datos basados en los valores de otra tabla o consulta normalmente relacionada, o en una lista de valores fijos. En Vista Diseño de tabla en columna Tipo de datos, también se accede al Asistente al final de su lista. En la Ficha Búsqueda en la Propiedades del campo, aparecerán los datos del Cuadro, dónde también se puede crear manualmente o modificar. Se puede introducir a partir de copiar una instrucción SQL de una consulta (Ver SQL), que se puede eliminar después de copiar. Ver Pág 18, Campo de Búsqueda. Ver Pág 29, Ficha Búsqueda en Diseño de Tabla. Ver Pág 64, Cuadro Combinado o Lista, controles. Ver Pág 30, Propieda-des de Cuadros de lista o combinados.

C Calcular totales Ver Totales. Cálculos en control Ver Cuadros de texto. Cambiar Control a otro tipo Seleccionar y ALT+ F, C. Cambiar nombre objeto de Base de datos ALT+E, M. Campo actual, deshacer cambios ESC Campo calculado Ver Campo Calculado, Pág. 43 Campo calculado, agregar a un informe Ver Pág 79, Insertar campo calculado. Campo de búsqueda Ver Búsqueda, columna, campo de. Campo de Clave principal Ver Clave principal. Campo memo, nueva línea: CTRL+INTRO Campo, ampliar MAY+F2 Campo, decimales Ver Propiedad Lugares Decimales, Pág. 25. Campo, descripción Ver Propiedad Descripción., Pág. 20. Campo, editar F2 Campo, eliminar En Tabla, diseño: ALT+E, M. Campo, formato Ver Propiedad Formato, Pág. 21. Campo, indexado Ver Propiedad Indexado, Pág. 29. Campo, insertar En Tabla, diseño: en campo inferior a la inserción: ALT+I, F. Pasar entre columnas

con TAB. Para Propiedades: F6. Utilizar y . Campo, insertar valor mismo campo registro anterior CTRL+ ' (Apóstrofo) Campo, insertar valor predeterminado CTRL+ALT+BARRA Campo, máscara de entrada Ver Propiedad Máscara, Pág. 24. Campo, mostrar control de búsqueda Ver Propiedad Mostrar control en Ficha Búsqueda en Diseño de tabla,

Pág 29.

Page 3: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 3

Campo, nombre en consulta Ver Consulta, Pág. 32. Campo, nombre Ver Propiedad Nombre del campo, Pág.19. Campo, requerido, obligatorio Ver Propiedad Requerido, Pág. 28. Campo, tamaño Ver Propiedad Tamaño del campo., Pág. 20. Campo, tipo Ver Propiedad Tipo del campo., Pág. 19. Campo, título Ver Propiedad Título del campo. Pág. 26. Campo, validación Ver Propiedad Validación del campo, Pág. 27. Campo, valor predeterminado Ver Propiedad Valor predeterminado, Pág. 26. Campo, ver completo MAY+F2. Campos en blanco (Nulos, Null) Ver Pág 51, Campos en blanco en consultas. Operar con ellos. Campos, lista (diseño formulario/informe) ALT+ V,. L. Para ver y arrastrar. Campos, moverse entre ellos TAB o MAY+TAB (atrás) o Inicio o Fin. Primer campo del primer registro:

CTRL+Inicio. Ultimo campo del último registro: CTRL+Fin. Cancelar entradas En campo antes de salir de él: Esc. Otro Esc cancela los campos en los demás cam-

pos, antes de haber salido del registro. Igual con deshacer (CTRL+Z). Cancelar operaciones de consulta, filtro o buscar CTRL+PAUSA Cartas modelo, combinar con registros Ver Combinar correspondencia. Casilla de Verificación, control Ver Pág 64, Casilla de Verificación. Casilla de Verificación, Marcar/desmarcar BARRA Celdas, apariencia Hoja de datos, ALT+ F, E. Cuadrícula, color y tipo. Fuente: ALT+F, U. Utilizar también

opciones Barra Herramientas Formato (Hoja de datos). Predeterminar en ALT+H, N, Ficha Hoja de datos. Clave principal, establecer Tabla, diseño: ALT+E, V. Campo/s identificador de cada registro en una tabla

(Primary Key). Ver Indices. Codificar/descodificar la Base de datos ALT+H, S, O. Ver Seguridad Base de datos. Código del Formulario o Informe activo (diseño) ALT+V, G. Módulo de Access Basic. Color de Hoja Ver Celdas, apariencia. Columna actual, seleccionar Ver Seleccionar columna. Columna de búsqueda, insertar Ver Búsqueda, columna de. Columna dependiente, propiedad Ver Cuadro de Línea o Combinado, prop. Columna dependiente. Columna, ancho ALT+ F, N. Columna, cambiar nombre en tabla ALT+ F, C. Importante: deberá cambiar a mano todas las referen-

cias al nombre antiguo. Columna, eliminar Consulta, diseño: ALT+E, M. Ver Eliminar. Columna, inmovilizar ALT+ F, V. Quedan a la izquierda de la ventana. Liberar todas las columnas: ALT+

F, T. Pueden quedar cambiadas de posición. Columna, insertar ALT+I, C. A la izquierda de la columna actual. Columna, mostrar ALT+ F, M. Columna, mover posición en Hoja Clic en cabecera(s) para seleccionar (varias con MAY) y Clic en

cabecera y arrastrar. No cambia posición en Vista Diseño. Columna, ocultar ALT+ F, O. Seleccionar para varias. Ver Mostrar columna. Columnas, unir en una Ver Consulta de Unión. Combinación entre tablas o consultas, propiedades Defiinir qué registros incluir de la principal y relacionada.

Ver Pág 30, Relaciones. Propiedades de la Combinación.

Combinar correspondencia ALT+H,V,C. Crear cartas modelo según documento de Word y tabla o consulta de Access.

Compactar Base de datos ALT+ H, U, O. Compilar Base de datos y compactar (*.mde, diseño no modificable) ALT+H, U, E. Complementos de Access ALT+ H, E, A. Asistentes, generadores y complementos de menú adicionales. Configurar página (orientación, márgenes, numero columnas) ALT+A, R Constantes, lista CTRL+MAY+J Consulta de Actualización En Consulta, diseño: ALT+ C, A. Modificación de campos en conjunto, de

una o varias tablas. En 'Actualizar a' introducir la expresión de actualización, por Ej.: [PrecioUnidad]*1,1 para incrementar en un 10%. Ver Consultas de Acción. Para no reemplazar por Cálculos o en varios campos, considerar Reemplazar.

Consulta de Buscar duplicados Asistente con ALT+O en Ficha Consultas de Base de datos. Consulta de Buscar no-coincidentes Asistente con ALT+O en Ficha Consultas de Base de datos. Consulta de Creación de Tabla En Consulta, diseño: ALT+ C, N. Crea tabla a partir de otra(s) tabla(s) o

consulta(s). Ver Consultas de Acción. Consulta de Datos Anexados En Consulta, diseño: ALT+ C, D. Añade registros a tabla desde otra(s) o

desde consulta. En la fila 'Anexar a' seleccionar el campo de la tabla de destino a introducir la información de esa columna. Ver Consultas de Acción.

Consulta de Eliminación En Consulta, diseño: ALT+ C, U. Elimina registros en conjunto de una tabla. Arrastrar el campo asterisco (tabla completa) al primer campo de la cuadrícula. Añadir los campos en que se basará en criterio de eliminación. En la fila Eliminar especificar la opción Desde para el campo asteris-co, y en los demás especificar Donde y abajo, en fila Criterios, la expresión de selección, Ej. <#1/1/98#. Ver Consultas de Acción.

Consulta de Parámetros En Consulta, diseño: ALT+ C, O. Solicita criterio(s) al usuario al ejecutarse. Se puede utilizar en cualquier consulta. Editar el cuadro de diálogo con el nombre y tipo de datos de cada parámetro y después utilizar sus nombres en los criterios. Ej.: Entre [Fecha de Inicio] y [Fecha final].

Page 4: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

4 MENUS EN VISTA GENERAL Págs. 155

Consulta de Referencias Cruzadas En Consulta, diseño: ALT+ C, F. Convierte campo(s) en cabece-ra de fila para mostrar valores cruzados con la cabeceras de las columnas, tipo Hoja de cálculo, con los valores cruzados en las celdas. En la fila Total, especificar el tipo de resumen que se desea aplicar a cada uno de los campos. En la fila Tab ref cruz, especificar si el campo estará como Encabezado de Fila o Co-lumna, o será el Valor en las celdas. Asistente con ALT+O en Ficha Consultas de Base de datos. Ver Consulta, Prop. Títulos de Columnas. Ver Ejemplo en Pág 37.

Consulta de Selección En Consulta, diseño: ALT+ C, S. Muestra registros según criterio(s). Asistente con ALT+O en Ficha Consultas de Base de datos. Ver Expresiones. Ver Filtrar registros, para selecciones sencillas y provisionales.

Consulta de Unión Ver Consulta Específica SQL. Reúne en un columna el contenido de dos columnas. Consulta específica de SQL En Consulta, diseño: ALT+ C, E. Consulta de Unión, Paso a través y

Difinición de datos. Consulta, abrir Intro o doble Clic o ALT+B. En diseño: ALT+D o CTRL+Intro o CTRL+doble Clic. Consulta, actualizar MAY+F9 Consulta, cambiar nombre campo Ver Consulta, Pág. 32. Consulta, campo calculado Ver Campo Calculado, Pág. 43 Consulta, campos Ver Consulta, Pág. 32. Consulta, cerrar Ver Objeto de Base de datos actual, cerrar. Consulta, concepto, diseño, menús Ver Pág 32 Consultas. Consulta, criterios de selección En Consulta, diseño: Introducir en línea Criterios bajo campo a tratar. Ver

Pág 41, Expresiones. Consulta, ejemplo Ver Ejemplo en Pág 37. Consulta, eliminar campo/s En Consulta, diseño: seleccionar con Clic con flecha en linea superior a nom-

bre de campo (o CTRL+Barra) y Supr. Arrastrar (o MAY+Teclas dirección) antes si varios campos. Elimi-nar un campo con ALT+E, M, sin seleccionar.

Consulta, filtrar registros Ver Filtrar registros. Los filtros aplicados no se pueden guardar en consultas. Ver Con-sulta, criterios de selección.

Consulta, Hoja respuesta dinámica Ver Hoja de respuesta dinámica. Consulta, mostrar campo Marcar cuadro bajo campo en línea Mostrar. Consulta, mover campo En Consulta, diseño: seleccionar con Clic con flecha en linea superior a nombre de

campo (o CTRL+Barra) y arrastrar (o MAY+Teclas dirección) si varios. De nuevo Clic misma posición y arrastrar a entre columnas a intercalar.

Consulta, nueva Ver Nuevo objeto de Base de datos. Ver Consulta de... Consulta, ordenar En Hoja de datos: Ver Registros, ordenar. El diseño no se afecta, aunque sí se guar-

da el nuevo orden, quitándose con ALT+R, Q. En diseño: Clic en fila Orden bajo columna/s a ordenar. Prioridad en columnas a la izquierda.

Consulta, permitir modificación de tabla/s base Ver Consulta, Prop. Tipo Recordset Consulta, Prop. Bloqueos del Registro Ver Pág 49 Prop. Bloqueos del Registro. Entorno multiusuario. Consulta, Prop. Permisos de ejecución Ver Pág 49 Prop. Permisos de ejecución. Consulta, Prop. Tipo Recorset Ver Pág 50 Prop. Tipo Recorset. Permisos de modificación de las

Tablas por las Consultas. Consulta, Prop. Títulos de Columnas Ver Pág 48 Prop. Títulos de columnas. Ordena y limita títulos de

columnas en Tablas de Referencias Cruzadas. Consulta, Totales Ver Totales. Consultas de Acción Es una consulta que realiza cambios a muchos registros en una sola operación. Exis-

ten cuatro tipos de consultas de acción: de eliminación, de actualización, de datos anexados y de creación de tabla. Es conveniente realizar primero una consulta de Selección y convertirla después de verificarla en una de Acción desde el menú Consulta en vista de Diseño, o ver la Hoja de datos de ésta. . Estas consul-tas se ejecutan después de diseñadas con ALT+C, C.

Consultas, combinación entre tablas y consultas Ver Pág 30, Relaciones. Propiedades de la Combinación.

Consultas, propiedades Ver Propiedades, hoja. Contraseña, seguridad ALT+ H, S, E.. Ver Pág 14 Contraseña. Ver Seguridad de la Base de

datos. Control ActiveX, insertar (formulario/informe) ALT+ I, C. Control calculado o con cálculo Ver Cuadros de texto. Control Ficha Ver Pág 70, Control Ficha. Control, cambiar a otro tipo Seleccionar y ALT+ F, C. Control, formato Ver Controles, formato. Control, mover al frente, al fondo ALT+ F, F o ALT+ F, E. Ver Controles, mover. Control, tamaño Ver Controles, tamaño. Controles ActiveX, registrar, eliminar ALT+ H, C. Controles y Objetos, ajustes y complementos Ver Pág 76, Objetos/Controles. Controles, espacios horizontal/vertical con otros Seleccionar y ALT+ F, Z o ALT+ F, V. Igualar, aumentar,

disminuir. Controles, ajustar a la cuadrícula, activar/desactivar ALT+ F, L. En controles nuevos. Controles, ajustar tamaño a contenido. También Tamaño Al más alto, Al más corto, Al más ancho, Al más estre-

cho. Seleccionar y ALT+ F, T. Controles, alinear a la cuadrícula. También Alinear A la izquierda, A la derecha, Arriba, Abajo. Seleccionar y

ALT+ F, A. Controles, asistente Ver Asistente para controles.

Page 5: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 5

Controles, Cuadro de Herramientas, Tool box (diseño formulario/informe) Ver Cuadro de Herramientas. Controles, definición Ver Pág 59, Controles. Tipos de Controles (ver cada uno en su nombre): Etiquetas,

Cuadros de texto, Grupos de opciones, Botones de alternar, Botones de opción, Casillas de verificación, Cuadros combinados, Cuadros de lista, Botones de comando, Imagen, Marcos de objetos independientes o Marcos de objetos dependientes, Subformularios, Subinformes, Saltos de página, Líneas, Rectángulos, Controles ficha, Otros Controles (ActiveX).

Controles, formato Barra Herramientas formato o más opciones en su Ficha Formato del Cuadro Propie-dades. Ver Pág 76, Objetos/Controles. Para varios, ver Seleccionar objetos, controles.

Controles, mover Ver Pág 60, Botón seleccionar objetos (Flecha). Controles, predeterminar valores para el formulario/informe activo Seleccionar control y ALT+ F, N. Ver Planti-

llas para formularios e informes. Ver Pág 75, Cambiar propiedades predeterminadas de un tipo de con-trol.

Controles, seleccionar varios Ver Seleccionar objetos, controles. Controles, tamaño Ver Pág 76, Objetos/Controles. Convertir desde base de datos anterior de Access a Access 97 ALT+ H, U, C. Copiar, Guardar como o exportar objeto Ver Exportar. Copias de trabajo de la Base de datos Ver Réplica. Correo electrónico, enviar por ALT+A, V Crear Acceso directo ALT+E, D. Criterios Ver Consulta, criterios de selección. Criterios, solicitar al usuario al ejecutar consulta Ver Consulta de Parámetros. Cuadrícula de Hoja, ver/no ver Ver Celdas, apariencia. Cuadrícula, ajustar controles nuevos, activar/desactivar ALT+ F, L. Cuadrícula, alinear controles Seleccionar y ALT+ F, A. Cuadrícula, borrar de diseño consulta, filtro ALT+ E, D. Cuadrícula, diseño formulario/informe mostrar/ocultar ALT+ V, C. Cuadro Combinado Ver Cuadro de Lista o Combinado. Cuadro de Diálogo Ver Formulario de Diálogo. Cuadro de Herramientas, Controles, Tool box (diseño formulario/informe) mostrar/ocultar ALT+ V, A. Se puede

colocar como cualquier barra. Para bloquear una herramienta (dejar fija), doble clic. Desbloquearla, ESC. Dejar Activado Botón Asistente.

Cuadro de Lista o Combinado, buscar un registro Ver Pág. 66, Buscar un Registro con valor de Lista. Cuadro de Lista o Combinado, controles Ver Pág 64, Cuadro Combinado o Lista. Cuadro de Lista o Combinado, para introducir datos en tablas Ver Búsqueda, columna, campo de. Cuadro de Lista o Combinado, prop. Columna dependiente Ver Pág 67, Prop. Columna dependiente. Cuadro de Lista o Combinado, prop. Tipo de origen de la fila y Fila de origen Ver Pág 66, Prop. Tipo de... Cuadro de Lista o Combinado, propiedades Ver Pág 30, Propiedades de Cuadros de ..., Resumen. Cuadro de texto, control Ver Pág 60, Cuadros de texto. Cuadro de texto, prop. Activado y Bloqueado Ver Pág 62, Prop. Activado. Cuadro de texto, prop. Buscar por filtro Ver Pág 62, Prop. Buscar por filtro. Cuadro de texto, prop. Máscara de entrada Ver Pág 24, Propiedad Máscara. Cuadro de texto, prop. Origen del control Ver Pág 61, Prop. Origen del Control. Cuenta, totales, funciones de agregado Consultas, diseño: ALT+ V, T.

D Datos predeterminados para campo Ver Búsqueda, columna de. Datos, captura En Hoja de datos de Tabla o Consulta y en Formulario basado en tabla o consulta. Ver

Registro, nuevo. Tener en cuenta que mediante Consulta o Formulario pueden no estar incluídos todos los campos de la tablas o tablas incluídas, y que pueden ser necesarios.

Decimales, campo Ver Propiedad Lugares Decimales, Pág. 25. Definir qué registros incluir de Tabla principal y relacionada Ver Relaciones, Tipo de Combinación. Descripción de campo, objeto Ver Propiedad Descripción, Pág. 20. Deshacer CTRL+Z Detener consulta, ordenar, buscar CTRL +PAUSA Dibujo, Autoformas Ver Ajustes y complementos de Objetos y Controles. Diseño, abrir desde Ventana Base de datos ALT+ D o CTRL+INTRO o CTRL+doble Clic Dividir Base de datos Ver Base de datos, dividir. Documentación de la Base de datos ALT+H, Z, D. Duplicidad de registros, eliminar en consultas Ver Pág 50 Valores Unicos.

E Edición campo F2 Editar registro Ver Registro, editar Efectos 3D Ver Ajustes y complementos de Objetos y Controles Ejecutar consulta de acción ALT+ C, C. Ejemplo de consulta Ver Ejemplo en Pág 37. Ejemplo de formulario Ver Ejemplo, Pág. 72. Ejemplos, plantillas, de Bases de datos Ver Nueva base de datos. Eliminar columna ALT+E, M. Eliminar registros según selección Ver Consulta de Eliminación.

Page 6: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

6 MENUS EN VISTA GENERAL Págs. 155

Eliminar ALT+E, L.. Elimina sin recuperación. Registro: seleccionarlo(s) con MAY+BARRA (y o ) y SUPR. Registro actual: CTRL+- (menos). Columna: seleccionarla(s) con CTRL+BARRA (y o ) y SUPR. Selección depende de ALT+ H, N, Teclado. Ver Eliminar registros según selección.

Emergente, Propiedad Ver Formularios, Prop. Emergente. Encabezado o Pie de Informe, agregar/quitar ALT+ V, E. Encabezado o Pié de página del informe, agregar /quitar Informe, diseño: ALT+ V, E. Ver Pág 79, Agregar

o quitar Enc./pie de informe. Encabezado o Pié de página o formulario, agregar/quitar Formulario, diseño: ALT+ V, E. Ver Pág 55, Agre-

gar o quitar Enc./pie de formulario. Entrada de datos ALT+ R, E. Muestra sólo los registros que se introducen. Quitar con ALT+ R, Q. Entrada de datos, propiedad Ver Formularios, Prop. Entrada de datos. Enviar por correo electrónico ALT+A, V. Espacios entre controles Ver Controles, espacios Etiqueta, control Ver Pág 60, Etiqueta. Etiquetas postales Ver Pág 79, Crear etiquetas postales. Para una, o una página: Ver Guía Word 97.doc. Exportar, Copiar o Guardar como F12 o ALT+A, X. Como documento Word: ALT+H, V, P. Como

Hoja de Excel: ALT+ H, V, A. Expresiones aritméticas Ver Pág 43, Expresiones aritméticas. Expresiones de condiciones de macro Ver Pág 44, Expresiones de condiciones de macro. Expresiones de fecha Ver Pág 42, Expresiones de fecha. Expresiones de texto Ver Pág 42, Expresiones de texto. Expresiones de validación Ver Pág 44, Expresiones de validación de campos. Expresiones en formularios e informes Ver Pág 45, Expresiones en formularios e informes. Expresiones SQL como criterio Ver Pág 44, Expresiones SQL como criterio. Expresiones varias Ver Pág 43, Expresiones varias. Expresiones Combinación de operaciones con símbolos y objetos para manipular y producir resultados y

definiciones a partir de datos de textos, numéricos, de fechas, etc. Ver Pág 41, Expresiones. Expre-siones para Consultas, Formularios e Informes, Validación, Criterios SQL, Condiciones de Macro.

F Fecha actual, insertar CTRL+MAY+, (coma) Fecha y Hora actuales, insertar en formulario/informe ALT+ I, H. Dentro Cuadro de texto. Fecha y Hora, campos Ver Propiedad Formato, Pág. 21. Ficha, control Ver Pág 70, Control Ficha. Fichas, moverse entre ellas Ver Saltar. Fila de origen, propiedad Ver Cuadro de Lista o Comb., Prop. Fila de origen. Fila, altura de registro ALT+ F, A. Filtrar registros En Hoja de datos (Tablas, Consultas, Formularios): Por selección: Seleccionar un

campo (no columna) o parte de un campo y ALT+R, I, S. Filtrar excluyendo la selección: Seleccionar un campo o parte de un campo y ALT+R, I, E.. Por formulario: ALT+ R, I, F. Seleccionar con flecha de lista en cada campo los valores deseados. Para otro valor en mismo campo, utilizar la ficha "O". Filtro u orden avanzado: Similar a diseño de consulta con todas las opciones de ordenar, etc., pero sobre una sola ta-bla. Muestra todos los campos en el resultado. Ordenar: Ver Registros, ordenar Se puede efectuar en el resultado de cualquier filtro. Aplicar filtro u ordenar: ALT+ R, C. Aplica el último realizado. Quitar filtro u ordenar: ALT+ R, Q. Presenta todos los registros y en su orden original. Ver Consulta de Selección para más opciones. Ver Tabla, propiedades.

Filtro, propiedad Ver Formularios, Prop. Filtro. Formato de campo Ver Propiedad Formato, Pág. 21. Formato de campo en consulta Ver Hoja de datos, formato de campos Formulario de Diálogo (Cuadro de Diálogo) Ver Pág 55, Crear Formulario emergente o Cuadro diálogo. Formulario de inicio de la Base de datos Ver Inicio de la Base de datos. Ver Panel de control. Formulario emergente (con Botón de Comando) Ver Pág 55, Crear Formulario emergente. Formulario, crear automático Ver Autoformulario. Formulario, crear basado en más de una tabla Ver Pág 54, Crear Formulario basado en más de una tabla. Formulario, crear con asistente Ver Pág 53, Crear Formulario con Asistente. Ver Autoformulario. Formulario, encabezado o pie Ver Encabezado o pie. Ver Secciones de formularios Formulario, propiedades Ver Propiedades, hoja. Formulario/Subformulario, saltar Ver Subformulario Formularios, concepto, introducción, Menús Ver Pág 52, Formularios. Formularios, ejemplos Ver Ejemplo, Pág. 72 Formularios, formato Ver Pág 76, Objetos/Controles. Formularios, Prop. Bloqueos del Registro Ver Pág 49 Prop. Bloqueos del Registro. Entorno multiusuario. Formularios, Prop. Emergente Ver Pág 58, Propiedad Emergente (PopUp). Formularios, Prop. Entrada de datos Ver Pág 58, Prop. Entrada de datos. Formularios, Prop. Filtro Ver Pág 56, Prop. Filtro. Formularios, Prop. Modal Ver Pág 59, Prop. Modal. Formularios, Prop. Ordenar por Ver Pág 57, Prop. Ordenar por. Formularios, Prop. Origen del Registro Ver Pág 56, Prop. Origen del Registro. Formularios, Prop. Permitir ediciones Ver Pág 57, Prop. Permitir ediciones. Formularios, secciones Ver Secciones de formularios.

Page 7: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 7

Fuente , Formularios /Informes Ver Pág 76, Objetos/Controles. Fuente, Hoja de datos Ver Celdas, apariencia. Funciones de agregado de dominio Ver Pág 46, Funciones de agregado de dominio. Funciones de agregado SQL Ver Pág 47, Funciones de agregado SQL. Funciones de agregado, totales Consultas, diseño: ALT+ V, T. (Suma, Mín, Máx, Promedio, Cuenta, etc.) Funciones en expresiones Ver Pág 46, Funciones en Expresiones. Funciones generales Ver Pág 47, Algunas Funciones generales. Funciones, referencia Ver Pág 120, Referencia de Funciones.

G Generador de Expresiones Ver Generador. Ver Expresiones. Generador de expresiones, presentar CTRL+F2 Gráfico, insertar (formulario/informe, en diseño) ALT+ I, G. También desde Nuevo Formulario/Informe.

Utiliza Microsoft Graph y Asistente. Grupo de Opciones, control Ver Pág 63, Grupo de Opciones. Grupo del Informe, calcular un total o promedio Ver Pág 80, Calcular un total o promedio para informe. Grupo del Informe, comenzar en nueva fila o columna Ver Pág 81, Comenzar cada grupo. Grupo del Informe, restablecer número de página para cada uno Ver Pág 82, Restablecer núms. de páginas. Grupos de trabajo Ver Pág. 15 Proteger Base de datos. Guardar como, Copiar o exportar objeto Ver Exportar Guardar registro MAY+INTRO antes de salir del registro. Se guarda automáticamente el cambiar de

registro.

H Herramientas de controles Ver Cuadro de herramientas. Hipervínculo, insertar ALT+ I, V. Hoja de datos, apariencia Ver Celdas, apariencia. Hoja de datos, formato de campos en consultas Consultas, diseño: Colocarse dentro de campo y ALT+

INTRO para Propiedades del Campo. Hoja de datos, desplazamiento Ver Registros, moverse. Ver Campos, moverse. Hoja de datos, ver ALT+V, H desde Diseño de Tabla, Consulta o Formulario. Hoja de propiedades, mostrar del objeto activo o seleccionado ALT+INTRO o ALT+V, E. Hoja de respuesta dinámica Es la Hoja de datos de las Consultas y funcionan de forma igual, inclusive

cambian los datos en las tablas, si le está autorizado (Ver Consulta, Prop. Tipo Recordset) Hora actual, insertar CTRL+MAY+. (punto) HTML, guardar como ALT+A, H

I Identificador de registro Ver Clave principal. Imagen de fondo Ver Ajustes y complementos de Objetos y Controles. Imagen, control Ver Pág 68, Imagen. Imagen, insertar (formulario/informe) ALT+ I, E. Ver Ajustes y complementos de Objetos y Controles. Importar tabla, hoja cálculo, texto ALT+A, O, O. Ver Vincular tabla. Imprimir CTRL+P o ALT+A, I. Ver Vista Preliminar. Ver Configurar página Indexado de campo Ver Propiedad Indexado, Pág. 29. Indices Tablas, Diseño: ALT+ V, N. Presenta el cuadro de índices (claves de ordenamiento) para

establecer o modificar todos los índices de la tabla. Ver Indexado. Ver Tabla, propiedades. Ver Registros, ordenar.

Informe, agregar un informe existente a otro para crear un subinforme Ver Pág 78, Agregar Informe a otro. Informe, agrupar y ordenar registros Ver Agrupar (y ordenar) registros (Diseño Informe). Ver Ordenar (y

Agrupar) registros (Diseño Informe). Informe, calcular porcentajes Ver Porcentajes en Informes. Informe, calcular suma continua Ver Suma continua de informe. Informe, calcular total o promedio del grupo Ver Grupo del Informe, calcular... Informe, comenzar cada grupo en nueva fila o columna Ver Grupo del Informe, comenzar... Informe, crear automático Ver Autoinforme. Informe, crear basado en más de una tabla Ver Pág 78, Informe basado en más de una tabla. Informe, crear con Asistente Ver Pág 78, Crear Informe con Asistente. Informe, crear sin Asistente Ver Pág 78, Crear Informe sin Asistente. Informe, crear subinforme en informe existente Ver Pág 78, Crear subinforme en informe existente. Informe, encabezado o pie Ver Encabezado o pie. Ver Secciones de informes. Informe, propiedades Ver Propiedades, hoja. Informe, restablecer núm. de página para cada grupo Ver Grupo del Informe, restablecer. Informe, Vista Preliminar de impresión (Desde Vista Diseño de Informe) ALT+ V, M. Informe, Vista Previa del diseño del Informe (muestra esquema) ALT+ V. T. Informes Ver Pág 77. Informes, concepto, introducción, menús Ver Pág 77, Informes. Informes, secciones Ver Secciones de informes. Inicio de la Base de datos, opciones ALT+H, I. Personalizar título, icono y formulario inicial. Ver Panel de

control. Ver Acceso directo, crear. Inmovilizar columna Ver Columna, inmovilizar

Page 8: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

8 MENUS EN VISTA GENERAL Págs. 155

Insertar campo Ver Campo, insertar. Insertar columna ALT+I, C. A la izquierda de la columna actual. Insertar control ActiveX (formulario/informe) ALT+ I, C. Insertar fecha actual CTRL-MAY+, (coma) Insertar fecha y hora actuales, en formulario/informe ALT+ I, H. Dentro Cuadro de texto. Insertar gráfico (formulario/informe) ALT+ I, G. Utiliza Microsoft Graph y Asistente. Insertar hipervínculo ALT+ I, V. Insertar hora actual CTRL+MAY+. (punto). Insertar imagen (formulario/informe) ALT+ I, E. Insertar líneas Ver Ajustes y complementos de Objetos y Controles. Insertar número de página ALT+ I, M. En Cuadro de texto de formulario o informe. Insertar Objeto ALT+ I, O.

Integridad referencial Proteger las relaciones lógicas entre tablas relacionadas. Ver Pág 30, Relaciones. Internet, HTML, guardar como ALT+A, H Introducir datos mediante Cuadro de lista, combinado Ver Búsqueda, columna, campo de. Ir a número de registro F5 Ir campo Siguiente: TAB. Anterior: MAY+TAB. Primero de registro: INICIO. Ultimo de registro: FIN.

Primero de primer registro CTRL+INICIO. Ultimo de último registro: CTRL+FIN. Ver ALT+ H, N, Ficha te-clado (Para primeros y últimos debe estar en selección al entrar).

Ir Formulario/subformulario Ver Subformulario Ir secciones de Formulario, Informe F6. Hacia atrás: MAY+F6 Ir Ventana Base de datos F11

J K L Limitar valores de campos Ver Validación. Línea nueva en campo Memo CTRL+ENTRAR Línea, control Ver Pág 75, Línea. Líneas, insertar Ver Ajustes y complementos de Objetos y Controles. Lista de campos (diseño formulario/informe) ALT+ V,. L. Para ver y arrastrar. Lista de datos para introducir en tabla Ver Búsqueda, columna, campo de.

Lista desplegable seleccionada, abrir ALT+

M Macros Ver Guía Alfabética de Macros y Módulos, Pág 83. Marcar/desmarcar Casilla de Verificación BARRA Marco de objeto independiente o dependiente Ver Pág 69, Marco de objeto Independiente/Dependiente. Márgenes, configurar ALT+A, R Máscara de entrada de campo Ver Propiedad Máscara. Pág 24. Utilizar Asistente para Máscara. Máximo, totales, funciones de agregado Consultas, diseño: ALT+ V, T. MDE, archivo (*.mde, diseño no modificable) ALT+H, U, E. Mejorar Base de datos Ver Rendimiento de la Base de datos. Ver Compactar Base de datos. Memo y Texto, campos Ver Propiedad Formato, Pág. 21. Memo, campo, añadir línea CTRL+INTRO. Menú contextual Operaciones más usuales en punto de inserción. Botón derecho de ratón o Tecla

Menú contextual (a la izquierda de CTRL derecho) o MAY+F10. Menú de inicio de la Base de datos Ver Panel de Control. Menús, personalizar ALT+V, B. Mínimo, totales, funciones de agregado Consultas, diseño: ALT+ V, T. Modal, Propiedad Ver Formularios, Prop. Modal. Modificación de las Tablas por las Consultas Ver Consultas, Prop. Tipo Recordset Modificar datos en grupo, automáticamente Ver Consulta de Actualización. Modificar registro Ver Registro, editar. Módulo, ver código del Formulario o Informe activo ALT+V, G. Módulos, Visual Basic Ver Guía Alfabética de Macros y Módulos, Pág 83. Moneda y Numérico, campos Ver Propiedad Formato, Pág. 21. Mostrar columna ALT+ F, M. Mostrar control en búsqueda Ver Propiedad Mostrar control en Ficha Búsqueda en Diseño de tabla, Pág 29. Mostrar registros seleccionados Ver Consulta de Selección. Mostrar tabla en Diseño consulta ALT+ C, M. Mover control al frente o al fondo ALT+ F, F o ALT+ F, E. Mover controles Ver Pág 60, Botón seleccionar objetos (Flecha). Moverse entre secciones de ventana F6 Mudar columna(s) de posición en Hoja Ver Columna, mudar Muéstreme, menú ALT+M. Explicaciones Base de datos de ejemplo “Neptuno”.

N Nombre de campo Ver Propiedad Nombre del campo, Pág 19. Nombre de columna, cambiar Ver Columna, cambiar nombre

Page 9: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 9

Nombre de objeto, cambiar En Base de datos: ALT+E, M. Nombre de tablas en Diseño de consultas ALT+ V, N. Nueva Base de datos Ver Base de datos, nueva. Nuevo objeto de Base de datos (Tabla, Consulta, Formulario, etc.) En Ventana Base de datos: ALT+O en su

Ficha o ALT+I. Ver Tabla, nueva. Ver Consulta, nueva. Ver Formulario, crear. Ver Informe, crear. Nuevo objeto, insertar Formulario, Informe, Campo Hoja de datos: ALT+ I, O. Nuevo Registro CTRL++ (signo más) Nulos, campos en blanco (Null) Ver Pág 51, Campos en blanco en consultas. Operar con ellos. Numérico y Moneda, campos Ver Propiedad Formato, Pág. 21. Número de página, insertar ALT+ I, M. En Cuadro de texto de formulario o informe.

O Objeto Base de datos, abrir INTRO o doble Clic o ALT+B Objeto de Base de datos actual, cerrar ALT+-(Guión), C o CTRL+F4. Objeto de Base de datos, crear acceso directo ALT+E, D. Objeto de Base de datos, insertar Ver Nuevo objeto de Base de datos. Objeto de origen, propiedad Ver Subformulario/Subinforme, prop. Objeto de origen Objeto, bordes Ver Ajustes y complementos de Objetos y Controles. Objeto, insertar ALT+ I, O. Objeto, relleno (color, trama, degradado, transparente, etc) Ver Ajustes y complementos de Objetos y Controles. Objetos de Base de datos, saltar entre abiertos (Tablas, Consultas, etc.) CTRL+F6. Objetos y Controles, ajustes y complementos Ver Ajustes y complementos de Objetos y Controles. Objetos, seleccionar Ver Seleccionar objetos, controles. Ocultar columna ALT+ F, O. Seleccionar para varias. Ver Mostrar columna. Opciones de impresión de página, orientación, numero de columnas ALT+A, R Opciones de inicio de la Base de datos ALT+H, I. Personalizar título, icono y formulario inicial. Opciones predeterminadas de Base de datos ALT+ H, N. Fuentes, colores, teclado, plantillas, carpetas, etc. Orden de tabulación Formulario, diseño: ALT+ V, B. Orden en que saltará la tabulación. Ordenar (y Agrupar) registros Informe, diseño: ALT+ V, O. Ver Pág 80, Ordenar registros del informe. Ordenar por, propiedad Ver Formularios, Prop. Ordenar por. Ordenar registros Ver Indices. Origen del Control Ver Cuadro de texto, prop. Origen del Control. Origen del Registro Ver Formularios, Prop. Origen del Registro. Ortografía F7.

P Página , configurar (orientación, márgenes, numero columnas) ALT+A, R Página, insertar en el control Ficha ALT+I, P. Página, número, insertar ALT+ I, M. En Cuadro de texto de formulario o informe. Página, salto Ver Pág 70, Salto de página. (Formulario/Informe) Panel de control ALT+ H, P. Para crear formulario de inicio tipo Menú. Preferible no modificar coman-

dos por Diseño. Se puede saltar de Panel en Panel. Ver Inicio de la Base de datos. Paneles, saltar entre ellos Ver Saltar. Parámetros, consulta Ver Consulta de Parámetros. Pegado especial ALT+E, E. Opción de Vincular. Permisos de ejecución Ver Consulta, Prop. Permisos de ejecución. Permisos de modificación de las Tablas por las Consultas. Ver Consultas, Prop. Tipo Recordset Permitir ediciones, propiedad Ver Formularios, Prop. Permitir ediciones. Personalizar Barras de Herramientas, Menús ALT+V, B. Pié o encabezado Ver Encabezado o Pié Plantillas de Bases de datos Ver Nueva Base de datos. Plantillas de Formularios e Informes Aplicar: Ver Autoformato. (Fuente, color, borde). Predeterminar: Ver

Pág 54, Plantillas de Formularios e Informes. Porcentajes en Informe Ver Pág 81, Calcular porcentajes en un informe. Predeterminar opciones de la Base de datos ALT+ H, N. Fuentes, colores, teclado, plantillas, carpetas, etc. Predeterminar valores de Controles para el formulario/informe activo Ver Controles, predeterminar valores. Promedio o total, calcular para grupo de informe Ver Grupo del Informe. Promedio, totales, funciones de agregado Consultas, diseño: ALT+ V, T. Propiedades de Base de datos (contenido, estadísticas, personalizar) ALT+A, B. Ver Documentación. Propiedades de la Combinación entre tablas Definir qué registros incluir de la Principal y relacionada. Ver

Pág 30, Relaciones. Propiedades, hoja, mostrar del objeto activo o seleccionado ALT+INTRO o ALT+V, E. Para Formulario o

Informe completo, seleccionar antes en diseño con CTRL+R. Para Consultas, Clic fuera de cuadrícula o lista de campos (deseleccionar). Para Propiedades comunes de varios controles, seleccionarlos antes.

Proteger las relaciones lógicas entre tablas relacionadas, Integridad referencial Ver Relaciones.

Q Quitar filtro u orden ALT+ R, Q. Ver Filtrar registros. Quitar tabla en Diseño consulta ALT+ C, Q.

R

Page 10: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

10 MENUS EN VISTA GENERAL Págs. 155

Recalcular campos de la ventana F9 Recorset Ver Consulta, Prop. Tipo Recordset. Rectángulo, control Ver Pág 75, Rectángulo. Reemplazar Hojas de datos y Formularios. CTRL+L. o ALT+E, Z. No se pueden reemplazar campos nulos o

de longitud 0. Buscarlos con CTRL+B y reemplazarlos manualmente uno a uno. Ver Buscar. Para ree-emplazar con cálculos, utilizar Consulta de Actualización. Ver Filtrar para ver sólo los registros que serán reemplazados.

Referencias cruzadas Ver Consulta de Referencias cruzadas. Registro actual, deshacer cambios ESC (sin haber salido del campo) o ESC, ESC (ESC doble). Registro actual, eliminar CTRL+- (menos) Registro actual, seleccionar MAY+ Barra. Ver Seleccionar registro. Registro, altura de fila ALT+ F, A. Registro, editar Moverse entre campos con TAB. Cancelar edición campo con ESC antes de salir de él. Cance-

lar edición de registro con Esc dos veces antes de salir. El registro se actualiza automáticamente al cam-biar a otro. Ver Reemplazar, para varios registros con mismos datos.

Registro, guardar MAY+INTRO Antes de salir del registro. Registro, nuevo CTRL++ (signo más) o ALT+I, N. Para ver sólo los registros nuevos, ALT+R, N. Vista

completa de nuevo con ALT+R, Q. Ver Datos, captura. Registro/s, eliminar Ver Eliminar. Registros duplicados, eliminar en consultas Ver Pág 50 Valores Unicos. Registros, definir cuáles incluir de Tabla principal y relacionada Ver Relaciones, Tipo de Combinación. Registros, eliminar según selección Ver Consulta de Eliminación. Registros, filtrar Ver Filtrar registros.

Registros, moverse entre ellos o o RePág o AvPág o CTRL+Inicio y CTRL+Fin. Registros, ordenar En Hoja de datos: situarse sobre columna a ordenar registros y ALT+R, A o D. Por

dos columnas seguidas: Clic sobre primera, MAY y Clic sobre segunda para seleccionarlas (o CTRL+Barra y MAY+). Primer orden el de la columna izquierda. Quitar orden con ALT+R, Q. En Tabla, si se guarda nuevo orden, se puede deshacer con Propiedades de tabla. Ver Tabla, propiedades. Ver Indices.

Registros, seleccionar todos CTRL+A. Registros, seleccionar Ver Seleccionar. Registros, teclado, opciones de comportamiento Ver ALT+ H, N, Ficha teclado. Registros, ver sólo los que se introducen Ver Entrada de datos. Regla (diseño formulario/informe) ALT+ V, R. Mostrar o ocultar. Reglas de Validación Ver Validación.

Relaciones entre tablas y consultas Menú: ALT+H, L.. Definición: Ver Pág 30, Relaciones. Doble clic en

línea de combinación para modificar. Ver Botón Tipo de Combinación para definir. Ver imagen en Pág. 32.

Relleno de objetos (color, trama, degradado, transparente, etc.) Ver Objeto, relleno. Rendimiento de la Base de datos ALT+H, Z, R. Ver Compactar Base de datos. Reparar Base de datos ALT+ H, U, R. Réplica de Base de datos, copia de trabajo Crear: ALT+ H, R, C. Sincronizar: ALT+ H, R, S Resolver

conflictos: ALT+ H, R, R. Recuperar diseño principal: ALT+ H, R, E. Requerido, campo obligatorio Ver Propiedad Requerido, Pág. 28.

S Saltar Entre paneles de ventana (Tablas, Consultas, Macros): F6. Entre secciones o entre controles (Formula-

rios, Informes) y entre columnas: TAB o MAY+TAB. Entre Fichas (Ventana Base de datos o de Propieda-des): CTRL+TAB o CTRL+MAY+TAB.

Saltos de página, control Ver Pág 70, Salto de página. (Formulario/Informe) Secciones de formularios Ver Pág 54, Secciones de formularios. Secciones de informes Ver Pág 78, Secciones de informes. Secciones, saltar entre ellas Ver Saltar. Seguridad de la Base de datos Asistente: ALT+H, S, S. Cuentas de usuarios: ALT+ H, S, U. Permisos de

usuarios: ALT+H, S, P. Ver Pág. 15 Proteger Base de datos. Ver Pág 14 Contraseña, Seguridad. Ver Consultas, Prop. Permisos de ejecución. Ver Consultas, Prop. Tipo de Recordset.

Seguridad, codificar/descodificar la Base de datos ALT+H, S, O. Seguridad, contraseña ALT+ H, S, E.. Ver Pág 14 Contraseña. Selección de datos Ver Consulta de Selección. Seleccionar campo completo, desde el punto de inserción (alternar) F2. Parcial: MAY+ o . Seleccionar campo siguiente TAB. Ver ALT+ H, N, Ficha teclado. Seleccionar columna actual CTRL+BARRA . Ampliar con MAY+ o . (Depende de ALT+ H, N, Teclado) Seleccionar formulario o informe (diseño) CTRL+R o ALT+E, R o Clic izq. de regla. Para Propiedades. Seleccionar objetos, controles Clic para uno o MAY y Clic en cada uno para varios, o Botón Flecha en Cua-

dro Herramientas. Ver Pág 60, Botón seleccionar objetos (Flecha).

Seleccionar registro actual MAY+BARRA. Ampliar con MAY+ o . (Depende de ALT+ H, N, Teclado) Seleccionar registros todos CTRL+A Si / No, campos Ver Propiedad Formato, Pág 21. Sobres Ver Pág 79, Crear etiquetas postales. Para uno: Ver Guía Word 97.doc. Solicitar criterios al usuario en una consulta Ver Consulta de Parámetros.

Page 11: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 11

Sombras, efectos Ver Ajustes y complementos de Objetos y Controles. SQL En Consulta, ver en SQL: ALT+ V, V. Trabajar con SQL, instrucciones. Ver Consulta específica SQL. Subformulario, control Ver Pág 71, Subformulario/Subinforme. Subformulario, entrar desde campo anterior formulario principal TAB Subformulario, entrar desde campo siguiente formulario principal MAY+TAB Subformulario, salir hacia campo anterior formulario principal CTRL+MAY+TAB Subformulario, salir hacia campo siguiente formulario principal CTRL+TAB Subformulario/Subinforme, prop. Objeto de origen Ver Pág 74, Prop. Objeto de origen. Subformulario/Subinforme, Prop. Vincular Campos Secundarios y Principales Ver Pag 74, Prop. Vincular. Subinforme, control Ver Pág 71, Subformulario/Subinforme. Suma continua en informes Ver Pág 80, Calcular Suma continua de un informe. Suma, totales, funciones de agregado Consultas, diseño: ALT+ V, T.

T Tabla principal Ver Relaciones. Tabla, abrir INTRO o doble Clic o ALT+B. Ver Tabla, propiedades. Tabla, analizar ALT+H, Z, T. Trata de mejorar el diseño. Tabla, apariencia Ver Celdas, apariencia. Tabla, cerrar Ver Objeto de Base de datos actual, cerrar. Tabla, creación a partir de otra(s) Ver Consulta de Creación de tabla. Tabla, exportar Ver Exportar. Tabla, importar Ver Importar tabla. Tabla, nueva Ver Nuevo objeto de Base de datos. Ver Asistente para tablas, con modelos, en Cuadro de

diálogo. Tabla, ordenar Ver Registros, ordenar. Tabla, propiedades Tabla, Diseño: ALT+ V, E o ALT+Intro. Descripción, Regla de validación general,

Texto de error de validación, Filtro predeterminado (último guardado) a aplicar, Ordenamiento predetermi-nado (último guardado) aplicado automáticamente al abrir.

Tabla, vincular Ver Vincular tabla Tablas relacionadas Ver Relaciones. Tablas vinculadas, actualizar ALT+ H, E, M. Tablas Ver Pág 16.

Tablas, combinación entre tablas y consultas Ver Pág 30, Relaciones. Propiedades de la Combinación.

Tablas, concepto, introducción, menús Ver Pág 16 Tablas. Tabulación, orden (diseño formulario) ALT+ V, B. Orden en que saltará la tabulación. Tamaño de controles Ver Controles, tamaño Tamaño de campo Ver Propiedad Tamaño del campo, Pág. 20. Teclado, opciones de comportamiento en registros Ver ALT+ H, N, Ficha teclado. Texto y Memo, campos Ver Propiedad Formato, 21. Texto Ver Fuente. Tipo de Campo Ver Propiedad Tipo del campo, Pág. 19. Tipo de Combinación entre tablas o consultas Definir qué registros incluir de Tabla principal y relacionada

Ver Relaciones., Tipo de Combinación. Tipo de letra, Fuente ALT+ F, U. Tipo de origen de la fila Ver Cuadro de Lista y Comb., Prop. Tipo de origen. Tipo Recordset Ver Consulta, Prop. Tipo Recordset. Título de Campo Ver Propiedad Título del campo, Pág 26. Títulos de columnas Ver Consulta, Prop. Títulos de columnas. Total o promedio, calcular para grupo de informe Ver Grupo del Informe. Totales, funciones de agregado (Suma, Mín. Máx, Promedio, Cuenta, etc.) Consultas, diseño: ALT+ V, T.

U Unir dos columnas en una Ver Consulta de Unión

V Validación Reglas para limitar los valores de los campos. Ver Propiedad Validación del campo, Pág. 27.

Probar reglas en registros existentes : ALT+E, P. Valor predeterminado campo Ver Propiedad Valor predeterminado, Pág. 26. Valores en blanco (Null) Ver Pág 51, Campos en blanco en consultas. Operar con ellos. Valores únicos Ver Pág 50 Valores Unicos. Eliminar registros duplicados en consultas. Valores y opciones predeterminadas de la Base de datos ALT+ H, N. Ventana Base de datos Ver Base de datos, ventana Ventanas, alternar CTRL+F6 Ver campo de entrada completo MAY+F2. Ver código del Formulario o Informe activo ALT+V, G. Ver fichas de objetos, propiedades, etc. Moverse entre ellas con CTRL+TAB o CTRL+MAY+TAB. Ver lista de campos (diseño formulario/informe) ALT+ V,. L. Para ver y arrastrar. Ver lista de objetos en su ficha de forma diferente ALT+V (Iconos, lista, detalles). Vincular al pegar Ver Pegado especial Vincular Campos Secundarios y Principales, propiedades Ver Subformulario/Subinforme, Vincular. Vincular tabla ALT+A, O, V . Actualizar vínculos de tablas: ALT+ H, E, M. Ver Vínculos.

Page 12: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

12 MENUS EN VISTA GENERAL Págs. 155

Vínculos, operaciones con objetos seleccionados ALT+E, V. Ver Vincular tabla. Vista Diseño de pantalla (Word) ALT+V, L. En ALT+H, N, Ficha Ver: Activar Ajustar a la ventana. Poner

Agrandar fuentes mayores que 8. Desactivar Marcadores. Pantalla completa: ALT+V, P (mover barra a la derecha). Ver Guía Word 97.doc

Vista Diseño desde Ventana Base de datos ALT+D o CTRL+INTRO. Vista Diseño desde Vista del objeto actual ALT+V, D. Vista Hoja de datos del subformulario desde Vista Formulario principal ALT+V, U. Vista Objeto desde Vista Diseño de tabla, consulta o formulario actual ALT+V, H. Vista Preliminar de impresión ALT+A, M. Vista Preliminar de impresión del informe Informe, Diseño: ALT+ V, M. Vista Previa del diseño del Informe ALT+ V. T. Muestra esquema del informe. ALT+V desde Ventana

Base de datos. Vista SQL En Consulta: ALT+ V, V. Visual Basic, módulos Ver Módulos.

W WordArt Texto artístico. Ver Ajustes y complementos de Objetos y Controles.

Z Zoom para ampliar área de entrada MAY+F2

BASE DE DATOS Una base de datos es un conjunto de información relacionada con un asunto o con una finalidad, tal como el

seguimiento de los pedidos de clientes o una colección de música. Si la base de datos no está almacenada en una

máquina, o sólo lo está parte de la misma, es posible que necesite controlar información de varias fuentes distin-

tas que tiene que organizar y coordinar usted mismo.

Si utiliza Access, puede administrar toda la información desde un único archivo de base de datos. Dentro de este

archivo, divida los datos en contenedores de almacenamiento separados denominados tablas; vea, agregue y

actualice los datos en las tablas mediante formularios en línea; busque y recupere solamente los datos que necesi-

te mediante consultas; y analice o imprima los datos con el esquema deseado mediante informes.

Para almacenar los datos, cree una tabla para cada tipo de datos de información. Defina relaciones entre las ta-

blas para recuperar datos de varias tablas en una consulta, formulario o informe.

Cree una consulta para buscar y recuperar exactamente aquellos datos que cumplen unas determinadas condicio-

nes que usted mismo especifica. Una consulta también puede actualizar o eliminar múltiples registros al mismo

tiempo, así como realizar sobre los datos diversos cálculos incorporados o personalizados.

Cree un formulario para ver, introducir o cambiar datos directamente en una tabla de una manera sencilla. Cuan-

do abre un formulario, Microsoft Access recupera los datos de una o más tablas y los muestra en la pantalla

usando el esquema que eligió en el Asistente para formularios o usando un esquema que creó desde el principio.

Cree un informe para analizar los datos o presentarlos de una determinada manera al imprimirlos. Por ejemplo,

podría imprimir un informe que agrupe datos y calcule totales, y otro informe con distintos datos en un formato

para imprimir etiquetas de correo.

Access proporciona una base de datos y dos aplicaciones de ejemplo que puede utilizar mientras esté aprendien-

do Access. Se encuentran normalmente en C:\Archivos de programa\ Microsoft Office\Office\Ejemplos.

· La base de datos de ejemplo Neptuno. Utilice esta base de datos de ejemplo cuando comience a apren-

der Access. La base de datos Neptuno contiene los datos de ventas de una compañía ficticia denominada Im-

portadores Neptuno, que importa y exporta comida especializada de todo el mundo. Si examina las tablas, con-

sultas, formularios, informes, macros y módulos incluidos en la base de datos Neptuno, podrá desarrollar ideas

para su propia base de datos de Access. También puede utilizar los datos de Neptuno para experimentar con

Access antes de introducir sus propios datos. Por ejemplo, puede comenzar a practicar el diseño de consultas

utilizando la tabla Pedidos ya que contiene suficientes registros para producir resultados significativos.

La base de datos Neptuno incluye un archivo de Ayuda llamado Muéstreme que presenta las características prin-

cipales de la base de datos.

· Aplicación de ejemplo Pedidos. La aplicación de ejemplo Pedidos es una ayuda instructiva para Crea-

ción de aplicaciones con Access 97. Utilice esta aplicación con Creación de aplicaciones para aprender cómo

crear una aplicación sencilla.

Los empleados de la compañía ficticia Importadores Neptuno utilizan la aplicación Pedidos para introducir pedi-

dos nuevos e imprimir facturas. La aplicación muestra diferentes técnicas de creación de aplicaciones, por ejem-

plo: controlar cómo se inicia una aplicación; utilizar formularios para enlazar los objetos; personalizar la interfaz

de usuario con barras de menús, barras de herramientas, teclas de método abreviado y mensajes de error persona-

lizados; y controlar el orden de tabulación en tiempo de ejecución.

La aplicación Pedidos incluye un archivo de ayuda denominado Muéstreme que proporciona una introducción a

los formularios e informes incluidos en la aplicación.

· La base de datos de ejemplo Soluciones para el programador. Utilice esta aplicación para aprender

técnicas de creación de aplicaciones más complejas. La aplicación de ejemplo Soluciones para el programador es

una colección de formularios, informes y elementos de interfaz que se utilizan habitualmente en la creación de

Page 13: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 13

aplicaciones. Puede utilizar los ejemplos de Soluciones para el programador como plantillas para los formularios

e informes que desee crear o como ideas para mejorar sus aplicaciones.

La aplicación Soluciones para el programador incluye un archivo de ayuda denominado Muéstreme que describe

cómo reproducir los formularios e informes incluidos en la aplicación.

Nota: Access incluye también un Asistente para bases de datos que puede usar para crear bases de datos de uso

corriente, como la base de datos Administrador de contactos. Puede utilizar las bases de datos creadas con el

Asistente para un uso inmediato o como una herramienta de aprendizaje para ayudarle a diseñar sus propias

bases de datos.

MENUS EN VISTA GENERAL MENU ARCHIVO

Obtener datos externos, Importar. Copia los datos de un archivo de texto, hoja de cálculo o tabla de base de

datos a una tabla de Access 97. Además, copia los objetos de otra base de datos de Access a la base de datos

actual.

Obtener datos externos, Vincular tablas: Vincula los datos de una tabla de otra base de datos a una tabla de la

base de datos actual de Access 97. La vinculación de datos le permite la lectura y en muchos casos la actualiza-

ción de los datos en el origen de datos externo sin tener que importar. El formato del origen de datos externo no

se modifica para que pueda continuar utilizando el archivo con el programa que lo creo originalmente, pero tam-

bién puede agregar, eliminar o editar sus datos utilizando Microsoft Access.

Guardar como o exportar: Guarda una copia de un objeto seleccionado de la base de datos activa bajo un

nombre distinto. Exporta el resultado de un objeto seleccionado a un archivo externo (por ejemplo como texto o

como formato de texto enriquecido RTF) o a una base de datos externa (como Access o Paradox). Convierte una

macro seleccionada a un nuevo módulo de Visual Basic.

Guardar como HTML: Inicia el Asistente para publicar en el Web, que crea o modifica una publicación del

Web. Puede seleccionar cualquier combinación de objetos de base de datos para exportar a formatos estáticos

(.html) o dinámicos (.idc/.htx y .asp) y almacenar varios valores de opción en un perfil de publicación Web.

Comando Configuración de página: Controla la configuración de los márgenes (por ejemplo el ancho del

margen), la configuración de las páginas (por ejemplo, la orientación y el tamaño del papel), así como opciones

de diseño para formularios e informes (como el número de columnas a imprimir).

Vista preliminar: Muestra el objeto activo, tabla, formulario o informe, tal y como va a aparecer cuando se

imprima (excepto en la ventana Macro, donde presenta primero el Documentador). Puede acercar o alejar una

página o ver varias páginas al mismo tiempo.

Imprimir: Imprime un formulario, informe, tabla, consulta o módulo. Primero presenta el cuadro de diálogo

Imprimir, con lo que se puede cambiar la configuración y las propiedades de la impresora. En la ventana Macros,

presenta el Documentador, de forma que pueda elegir imprimir una o más secciones del informe. Luego, impri-

me el informe de la macro en la impresora predeterminada.

Enviar: Envía el resultado de una tabla, consulta, formulario, informe o módulo mediante su programa de correo

electrónico. Puede enviar todo el resultado de un objeto o una parte seleccionada de una hoja de datos en alguno

de los siguientes formatos: HTML, texto MS-DOS, formato de texto enriquecido RTF o Excel.

Propiedades de la base de datos: Muestra las propiedades de la base de datos, de forma que pueda verlas o

modificarlas.

MENU EDICION

Crear acceso directo. Crea un acceso directo, para que pueda abrir rápidamente un objeto de la base de datos,

haciendo clic en un icono. Puede crear accesos directos para objetos que están almacenados en una base de datos

en su PC, en un servidor de archivos de la red o en un directorio compartido. Los iconos de acceso directo se

pueden situar en el Escritorio, en una carpeta o en el menú Inicio.

Eliminar: Elimina de forma permanente el elemento seleccionado sin colocarlo en el Portapapeles. En la venta-

na Relaciones, al eliminar una línea de combinación se elimina la relación entre las dos tablas. En la vista Diseño

de una consulta, la eliminación de una línea de combinación hace que la consulta devuelva todas las combina-

ciones de registros entre las dos tablas, pero no elimina la relación, si es que existe, entre las dos tablas.

Cambiar nombre: Cambia el nombre del objeto seleccionado de la base de datos. Escriba el nuevo nombre y

presione INTRO. Puede restablecer el nombre original haciendo clic en el comando Deshacer Cambiar nombre

en el menú Edición antes de ejecutar ningún otro comando.

MENU VER

Objetos de la Base de Datos activa. Muestra la lista de cada clase de objetos de la base de datos activa, según

selección.

Propiedades: Presenta la hoja de propiedades del elemento seleccionado, por ejemplo, un campo de una tabla o

un control de un formulario. Si no se selecciona nada, muestra la hoja de propiedades del objeto activo.

Código: Presenta el código del formulario o informe seleccionado en la ventana Módulo.

Barras de herramientas: Muestra u oculta las barras de herramientas. Para mostrar una barra de herramientas,

active la casilla de verificación que se encuentra junto a su nombre. Para ocultar una barra de herramientas, des-

active la casilla de verificación correspondiente. Personalizar: Personaliza los botones de la barra de herramien-

tas, los comandos de menú y la asignación de teclas de método abreviado.

Page 14: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

14 MENUS EN VISTA GENERAL Págs. 155

MENU INSERTAR

Tabla, Consulta, etc.: Inserta una nueva Tabla, Consulta, etc. Es lo mismo que ir a la ficha correspondiente en

el diálogo general de la Base de Datos y seleccionar Nuevo.

Autoformulario: Crea Automáticamente un formulario, basado en la tabla o consulta seleccionada. Ver Crear

con Autoformulario, pág. 53.

Autoinforme: Crea automáticamente un informe, basado en la tabla o consulta seleccionada.

MENU HERRAMIENTAS.

Vínculos con Office, Combinar con MS Word . Inicia el Asistente para combinar correspondencia con Word,

que combina los datos de Access con un documento Word, de forma que puede crear, por ejemplo, cartas con

formato o etiquetas postales.

Vínculos con Office, Publicar con MS Word: Crea un archivo con formato de texto enriquecido(.rtf) con el

objeto seleccionado (por ejemplo una tabla, un informe, o una parte de una hoja de datos) y lo carga en Word.

De forma predeterminada, el nombre de archivo es el nombre del objeto, la extensión del archivo es .rtf, y el

documento se guarda en la carpeta de Access.

Vínculos con Office Analizar con MS Excel: Crea un archivo Excel (.xls) con el objeto seleccionado (por

ejemplo una tabla, un informe, o una parte de una hoja de datos) y lo carga en Excel. De forma predeterminada,

el nombre de archivo es el nombre del objeto, la extensión del archivo es .xls, y el documento se guarda en la

carpeta de Access.

Relaciones: Presenta la ventana Relaciones de forma que pueda ver, modificar o definir relaciones entre tablas y

consultas. Ver Tablas, Menú Herramientas, Relaciones. Ver Pág 30, Relaciones.

Analizar, Tabla: Inicia el Asistente para análisis de tablas, el cual analiza una tabla, y si es necesario, la divide

en tablas relacionadas creando un diseño de tablas más eficiente.

Analizar, Rendimiento: Inicia el Analizador de rendimiento, que analiza el rendimiento de la base de datos y

sus objetos.

Analizar, Documentador. Ver, imprimir, dar salida o guardar las características de diseño de los objetos de la

base de datos

Utilidades, Convertir base de datos:

Convierte una base de datos de una versión anterior de Access a una base de datos de Access 8.0.

Utilidades, Compactar base de datos: Vuelve a organizar la forma en la que está fragmentada la base de datos

almacenada en el disco. La compactación de una base de datos suele reducir su tamaño y mejorar su rendimien-

to.

Utilidades, Reparar base de datos: Repara una base de datos dañada. La base de datos puede dañarse si, por

ejemplo, se produce una interrupción del suministro eléctrico o si el equipo experimenta un problema de hardwa-

re mientras se está utilizando la base de datos.

Utilidades, Crear archivo MDE: Copia una base de datos no abierta (.mdb) a una base de datos MDE (.mde).

Utilice esta opción para crear una aplicación de base de datos compilada, compactada y que realice un uso efi-

ciente de la memoria en la que el código de origen de VBA se ha quitado para que los usuarios no puedan modi-

ficarlo.

Seguridad, Establecer contraseña para la base de datos: Alterna entre establecer y eliminar la contraseña

utilizada para abrir la base de datos activa. Sólo los usuarios con autorización de Administrador en la base de

datos activa y que conozcan la contraseña actual pueden establecer o eliminar la contraseña de la base de datos.

Proteger una base de datos agregando una contraseña de base de datos 1 Cierre la base de datos. Si la base de datos se comparte en una red, pida a los demás usuarios que cie-

rren la base de datos.

2 Haga una copia de seguridad de la base de datos y guárdela en un lugar seguro.

3 En el menú Archivo, haga clic en Abrir base de datos.

4 Seleccione la casilla de verificación Exclusiva y después abra la base de datos.

5 En el menú Herramientas, señale Seguridad y después haga clic en Establecer contraseña para la base de

datos.

6 En el cuadro Contraseña, introduzca su contraseña. Las contraseñas distinguen mayúsculas de minúscu-

las.

7 En el cuadro Confirmar contraseña, confirme su contraseña escribiendo de nuevo la contraseña y

haciendo después clic en Aceptar.

La contraseña está ahora habilitada. La próxima vez que se abra la base de datos, aparecerá un cuadro de diálogo

pidiendo la contraseña.

Precaución

· Si pierde u olvida su contraseña, no puede ser recuperada, de forma que no podrá abrir su base de datos.

· No utilice una contraseña de base de datos si va a replicar una base de datos. Las bases de datos replica-

das no pueden sincronizarse si se definen contraseñas para ellas.

Notas

· Si fuera necesario una mayor seguridad que la que le proporciona la contraseña de la base de datos, es

necesario que defina la seguridad a nivel de usuario.

Page 15: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 15

· No es posible habilitar una contraseña de base de datos si se ha definido seguridad a nivel de usuario

para su base de datos y no tiene permiso de Administrador para la base de datos. Asimismo, una contraseña de

base de datos se define además de la seguridad a nivel de usuario. Si esta seguridad a nivel de usuario hubiera

sido definida, permanece en efecto cualquier restricción basada en los permisos de seguridad a nivel de usuario.

· Si una tabla de una base de datos protegida con contraseña está vinculada, la contraseña se guarda en la

base de datos y se vincula a la misma cuando se establece el vínculo. Esto puede tener consecuencias inespera-

das.

Seguridad, Permisos de usuario y de grupo: Muestra, asigna y elimina los permisos de las cuentas de usuario

y de grupo para la base de datos activa y sus objetos. Así mismo, muestra, asigna y cambia la pertenencia de los

objetos de la base de datos.

Seguridad, Cuentas de usuario y grupo: Muestra, imprime, agrega, elimina y cambia las cuentas de usuario y

de grupo. Además, cambia la contraseña de la cuenta de usuario predeterminada, Administrador.

Seguridad, Asistente para seguridad a nivel de usuario: Inicia el Asistente para seguridad a nivel de usuario,

que crea una nueva copia protegida de la base de datos activa.

Proteger una base de datos con el Asistente para seguridad a nivel de usuario. 1.- Cierre Access. Cree un nuevo Grupo de Trabajo a partir de Wrkgadm.exe en C:\Windows\System. ‗Organi-

zación‘ no es obligatorio. Cambie el nombre del archivo System.mdw y colóquelo como *.mdw junto a la base

de datos para acompañarlo en las copias de seguridad. Nunca debería sustituir un archivo *.mdw ya existente.

Comience siempre creando con System.mdw en la misma carpeta que Wrkgadm.exe.

2.-Abra la base de datos y en Herramientas/Seguridad/Cuentas de Usuario y Grupo/Ficha Usuarios. Ver que

Nombre es ‗Administrador‘. Pase a Ficha Cambiar contraseña de conexión, deje en blanco Contraseña anterior y

en Nueva y Confirmar escriba la nueva y guárdela.

3.- Cierre Access y al abrirlo de nuevo le pedirá la contraseña de ‗Administrador‘. Escríbala y abra la base de

datos. Vuelva a la Ficha Usuarios del punto 2 y Nuevo. Escriba su nombre de administrador y contraseña y acép-

tela. En Grupos disponibles seleccione administradores y Agregar, con lo que será nuevo miembro de adminis-

tradores y usuarios (todos los miembros también son usuarios).

4.- Cierre Access y vuelva a entrar con el nombre y contraseña del nuevo administrador. Pase a la Ficha Usua-

rios y en Nombre busque ‗Administrador‘ y en Miembro de señale Administradores y Quitar. ‗Administrador‘

quedará sólo como Usuario, sin ningún acceso. ‗Administrador‘ no se puede eliminar. Pase a la ficha Asistente

para seguridad a nivel de usuario y siga sus pasos. Al terminar, antes de eliminar el original no protegido, debe

copiarlo en un diskette, como seguridad. Al eliminar el original, a la base protegida le puede dar el mismo nom-

bre.

5.- Abra la nueva base de datos protegida y cree los nuevos nombres de los posibles nuevos administradores y/o

usuarios, de forma similar al paso 2 dónde se creó usted como nuevo administrador. Cada uno, aparte de cual-

quier administrador, puede cambiar después su contraseña.

6.- Asigne a cada usuario sus permisos en la ficha Permisos de usuarios y de grupos en Seguridad.

Ver ‗Crear cuentas de usuario o de grupo y conceder permisos‘, ‗Asignar o quitar permisos para una base de

datos y para objetos‘ y ‗Asignar permisos predeterminados para nuevos objetos de base de datos‘, con el Asis-

tente de Ayuda de Access. En principio, todo el grupo Usuarios no tiene ningún permiso, excepto los que tam-

bién son administradores.

Seguridad, Codificar o descodificar base de datos: Realiza una copia codificada o descodificada de la base de

datos. La codificación de una base de datos protege su información al hacerla indescifrable para los programas

de utilidades o los procesadores de texto (aunque con un ligero descenso del rendimiento). La descodificación de

la base de datos invierte la codificación.

Réplica, Sincronizar ahora: Sincroniza la réplica o el Diseño principal abiertos con otro miembro del conjunto

de réplicas.

Réplica, Crear réplica: Crea una réplica de la base de datos abierta en una ubicación designada. También puede

crear una réplica arrastrando la base de datos desde la ventana Base de datos hasta Mi Maletín de Windows en el

escritorio. Las réplicas permiten a usuarios situados en distintas ubicaciones compartir fácilmente los cambios

que estén realizando en la base de datos.

Réplica, Resolver conflictos: Inicia el Asistente para resolver conflictos, que muestra los registros que estaban

en conflicto durante las sincronizaciones anteriores entre el Diseño principal o la réplica abierta y otros miem-

bros del conjunto de réplicas.

Réplica, Recuperar diseño principal: Convierte la réplica abierta en el Diseño principal para el conjunto de

réplicas. El Diseño principal es el único miembro del conjunto de réplicas que puede utilizar para cambiar la

estructura de la base de datos. Nota: Utilice este comando sólo cuando la réplica de Diseño principal se haya

perdido permanentemente. El uso de más de un Diseño principal puede provocar problemas irreparables en el

conjunto de réplicas.

Inicio: Controla y personaliza varias propiedades y acciones de inicio de la base de datos, tales como el icono y

el título de la aplicación, y cual es el formulario inicial a presentar.

Macro, Ejecutar macro: Ejecuta una macro.

Macro, Convertir macros a Visual Basic: Convierte una macro a procedimientos de evento de Visual Basic en

el módulo formulario o informe.

Page 16: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

16 TABLAS - MENUS EN VISTA HOJA DE DATOS Págs. 155

Macro, Crear menú a partir de macro: Crea una nueva barra de menús de estilo Access 97 desde una macro

seleccionada.

Macro, Crear barra de herramientas a partir de macro: Crea una nueva barra de herramientas de estilo

Access 97 desde una macro seleccionada.

Macro, Crear menú contextual a partir de macro: Crea un nuevo menú contextual de estilo Access 97 desde

una macro seleccionada.

Controles ActiveX: Registra o elimina controles ActiveX en la base de datos de registro de Windows (que se

utiliza para registrar información acerca de las aplicaciones, por ejemplo el nombre de archivo y la ruta de acce-

so). El registro determina si los controles ActiveX están disponibles o no para ser utilizados.

Complementos, Administrador de complementos. Instala, desinstala o personaliza complementos, que son

herramientas que extienden la funcionalidad de Access. Los complementos incluyen asistentes, generadores y

complementos de menú (que son elementos adicionales de menú que puede agregar al comando Complementos

del menú Herramientas).

Complementos. Divisor de bases de datos: Divide la base de datos actual en dos bases de datos: una base de

datos cliente que contiene todas las tablas y una base de datos cliente que contiene todos los objetos restantes y

tablas vinculadas a la base de datos cliente. Se utiliza, por ejemplo, para permitir a los usuarios que personalicen

sus propios formularios e informes, al mismo tiempo que se mantiene un único origen de datos en una red.

Complementos. Administrador de tablas vinculadas: Muestra o actualiza los vínculos a las tablas. Se utiliza,

por ejemplo, para actualizar los vínculos cuando la estructura o ubicación de una tabla vinculada ha cambiado.

Complementos. Administrador del panel de control: Crea, modifica y elimina formularios de tipo Panel de

control de una aplicación.

Opciones: Personaliza las características del entorno de Access, tales como las fuentes y colores de la pantalla,

las acciones del teclado y las opciones de presentación.

MENU MUESTREME.

Presenta la explicación del ejemplo de Base de Datos Neptuno, así como los conceptos principales de las bases

de datos en general.

TABLAS Una tabla es un conjunto de datos sobre un tema específico, como Productos o Proveedores. Si usa una tabla para

cada tema evita la duplicidad de datos, lo que hace que su base de datos sea más eficiente y reduzca los errores

de entrada de datos. Las tablas organizan los datos en columnas ( denominadas Campos) y filas (Registros).

En la vista Hoja de datos de una tabla, puede agregar, modificar o ver los datos de la misma. También puede

revisar la ortografía de los datos de la tabla, imprimirlos, ordenar o filtrar registros, cambiar la apariencia de la

hoja de datos o cambiar la estructura de la tabla agregando o eliminando columnas.

En la vista Diseño, puede crear una tabla completa a partir de cero, o agregar, eliminar o personalizar campos de

una tabla existente.

TABLAS - MENUS EN VISTA HOJA DE DATOS MENU EDICION

Pegado especial: Vincula o incrusta un objeto OLE o pega texto en el formulario, informe u hoja de datos acti-

va. Además, permite seleccionar el formato de datos para el objeto y mostrarlo como un icono.

Pegar datos anexados: Agrega registros desde el Portapapeles al final del formulario u hoja de datos activa. Los

registros que Access no puede anexar (por ejemplo, debido a errores de validación) se colocan en la tabla Erro-

res de pegado.

Eliminar. Igual que en Vista General.

Vínculos OLE y DDE: Actualiza, modifica, copia, vuelve a conectar o interrumpe los vínculos del objeto selec-

cionado.

MENU VER

Vista Diseño: Cambia desde la vista activa a la vista Diseño de la tabla, consulta, formulario o informe que esté

activo.

Vista Hoja de datos: Cambia desde la vista activa a la vista Hoja de datos de la tabla, consulta o formulario que

esté activo.

Hoja de datos del subformulario: Alterna entre las vistas Formulario y Hoja de datos del subformulario activo.

MENÚ INSERTAR

Columna: En la vista Diseño de la consulta y en la ventana Filtro u orden avanzado, inserta una columna a la

izquierda de la columna seleccionada en la cuadrícula de diseño, de modo que pueda agregar un campo a la con-

sulta o el filtro activo. Para seleccionar una columna, haga clic en el selector de columnas.

En la vista Hoja de datos de la tabla, inserta una nueva columna a la izquierda de la columna seleccionada o de la

columna que tiene el punto de inserción actual.

Objeto: Inserta un objeto OLE en un marco de objeto dependiente o independiente en un formulario o informe,

o un campo de objeto OLE seleccionado en una hoja de datos. Para editar el objeto utilizando su aplicación aso-

ciada, haga doble clic en el objeto.

Page 17: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 17

Hipervínculo: Inserta o modifica una dirección de hipervínculo o una dirección URL (Uniform Resource Loca-

tor), incluida la subdirección y el tipo de ruta de acceso (ya sea absoluta o relativa). En la vista Hoja de datos y

Formulario, el campo de dirección de hipervínculo debe estar seleccionado.

MENU FORMATO

Fuente. Cambia el tipo de letra para todos los nombres de los campos y los datos de una hoja de datos. La fuente

predeterminada es Arial, el estilo es Regular, y el tamaño predeterminado es 10 puntos.

Celdas. Muestra o quita la cuadrícula horizontal y vertical, cambia el color de la celda y de la cuadrícula y cam-

bia la apariencia de la celda (por ejemplo, bajo relieve o sobre relieve). Más opciones con la Barra de Herramien-

tas Formato (Hoja de datos).

Alto de registro (fila). Menú para todos. Arrastrar borde inferior en cabecera de registro. Seleccionando varias

antes toman la misma altura.

Ancho de Columna. Menú para todas. Arrastrar borde derecho en cabecera de columna. Seleccionando varias

antes toman el mismo ancho.

Cambiar nombre columna. Permite cambiar el nombre de la columna seleccionada. Nota: Este comando cam-

bia el nombre del campo en la hoja de datos y puede obligar a cambios en la configuración de propiedades, en

consultas, en macros y en código que hagan referencia al nombre antiguo.

MENU REGISTROS

Filtro, Filtro por formulario: Presenta la ventana Filtro por formulario, que es una versión en blanco del for-

mulario la hoja de datos activa, mediante la cual se pueden filtrar los datos.

Filtro. Filtro por selección: Filtra los registros en base a los datos seleccionados. Para filtrar por selección,

seleccione un campo o parte de un campo una hoja de datos o en un formulario, y a continuación haga clic en

Filtro por selección.

Filtrar excluyendo la selección: Filtra los registros excluyendo los datos seleccionados. Para filtrar excluyendo

la selección, seleccione un campo o parte de un campo de una hoja de datos o formulario, elija Filtro en el menú

Registros y haga clic en Filtrar excluyendo la selección.

Filtro u orden avanzado: Muestra la ventana Filtro u orden avanzado, para permitir la creación de un filtro que

se aplicará a la hoja de datos o al formulario.

Ordernar: Ordena los registros en base a la columna o columnas seleccionadas (0 a 9, A a Z). Las ordenaciones

subsiguientes reemplazan a las anteriores. Para deshacer una ordenación, seleccione Quitar filtro u ordenar en el

menú Registros.

Aplicar filtro u ordenar: Aplica un filtro o un orden a la hoja de datos o el formulario activo.

Quitar filtro u ordenar. Quita un filtro o un orden de la hoja de datos o el formulario activo, si hay uno aplica-

do, y muestra los registros más actuales.

Guardar registro. MAY-ENTRAR

Actualizar: Actualiza los registros en el formulario u hoja de datos activa con los cambios realizados a los datos

por otros usuarios de un entorno multiusuario.

Entrada de datos. Oculta todos los registros activos y muestra un registro en blanco, de forma que pueda intro-

ducir datos en un formulario u hoja de datos. Sólo se mostrarán los nuevos registros agregados, hasta que elija el

comando Quitar filtro u ordenar en el menú Registros.

TABLAS - MENUS EN VISTA DISEÑO. MENU EDICION

Clave principal (Símbolo llave): Alterna entre establecer y eliminar un campo de clave principal, que es un

identificador único para cada registro de una tabla.

Clave Principal ¿Qué tipo de clave principal debo utilizar?

La potencia de un sistema de base de datos relacional como Access reside en su capacidad para encontrar y reu-

nir rápidamente información almacenada en tablas independientes mediante consultas, formularios e informes.

Para ello, cada tabla debe incluir un campo o un conjunto de campos que identifique exclusivamente cada regis-

tro almacenado en la tabla. Esta información se denomina clave principal de la tabla. Una vez designada una

clave principal de una tabla, con el fin de garantizar su exclusividad, Access impide que se almacenen valores

duplicados o Nulos en los campos de la clave principal.

Existen tres tipos de clave principal que pueden definirse en Access: Autonumérico, Campo simple y Campos

múltiples.

Claves principales de Autonumérico

Un campo Autonumérico puede establecerse para que introduzca automáticamente un número secuencial cuando

se agrega un registro a la tabla. Designar un campo de este tipo como clave principal de una tabla es la forma

más sencilla de crear una clave principal. Si no establece una clave principal antes de guardar una tabla recién

creada, Access le preguntará si desea que cree una clave principal automáticamente. Si contesta afirmativamen-

te, Access creará una clave principal de Autonumérico. Existen otras consideraciones adicionales que deben

tenerse en cuenta si la tabla se va a utilizar con una réplica de base de datos.

Page 18: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

18 TABLAS - MENUS EN VISTA DISEÑO. Págs. 155

Claves principales de Campo simple

Si tiene un campo que contiene valores exclusivos, como números de identificación o números de pieza, puede

designar ese campo como la clave principal. Si el campo seleccionado como clave principal tiene valores dupli-

cados o Nulos, Access no establece la clave principal. Puede ejecutar una Consulta de buscar duplicados con el

fin de determinar qué registros contienen datos duplicados. Si no puede eliminar fácilmente las entradas duplica-

das mediante la edición de los datos, puede agregar un campo Autonumérico y establecerlo como clave principal

o bien definir una clave principal de campos múltiples.

Claves principales de Campos múltiples

En situaciones en las que no se puede garantizar la exclusividad de un solo campo, puede designar dos o más

campos como clave principal. La situación más común en la que surge este problema es en la tabla utilizada para

relacionar otras dos tablas en una relación varios a varios. La tabla Detalles de pedidos de la base de datos de

ejemplo Neptuno es una tabla de este tipo, ya que relaciona las tablas Pedidos y Productos. Su clave principal

está formada por dos campos: Id. De pedido e Id. De producto. La tabla Detalles de pedidos puede mostrar va-

rios productos y varios pedidos, pero cada producto sólo puede aparecer una vez en cada pedido, de modo que la

combinación de los campos Id. De pedido e Id. De producto produce una clave principal apropiada.

Otro ejemplo puede ser una base de datos de inventario que utiliza un campo de número de pieza o dos o más

campos (pieza y subpieza).

Nota: Si no está seguro de poder seleccionar una combinación de campos apropiada para una clave principal de

campos múltiples, probablemente resultará más conveniente agregar un campo Autonumérico y designarlo como

la clave principal en su lugar. Por ejemplo, la combinación de los campos Nombre y Apellidos para crear una

clave principal no es conveniente, ya que pueden llegar a producirse duplicados al combinar estos dos campos.

Probar reglas de validación: Informa de si los datos de una tabla cumplen las reglas de validación de registro y

de campo de una tabla (las propiedades ReglaDeValidación, Requerido (Required) y Permitir longitud cero

(AllowZeroLength)). Si la tabla es grande, esta operación puede tardar bastante tiempo.

MENU VER

Índices: Presenta la ventana Indices para que pueda ver, modificar o crear índices. Los índices pueden acelerar

las búsquedas y las consultas para grandes volúmenes de datos, pero pueden hacer más lenta la entrada de datos

porque Access debe actualizar los índices cada vez que se agrega, modifica o elimina un registro.

MENU INSERTAR.

Campo de búsqueda. Crea un campo de consulta (columna) para el tipo de datos seleccionado. Un campo de

consulta busca valores de otra tabla (como por ejemplo un distribuidor de la tabla Distribuidores) y almacena la

referencia a estos valores en la tabla principal (por ejemplo la identificación del distribuidor en la tabla Pedidos)

Campo de Búsqueda Crear un campo que busque o enumere los valores de las tablas:

Mediante el Asistente para búsquedas, puede crear un campo que muestre uno de dos tipos de listas para facilitar

la introducción de datos:

· Una lista de búsqueda que muestra valores buscados en una tabla o consulta existente

· Una lista de valores que muestra un conjunto fijo de valores introducidos al crear el campo

La lista de búsqueda más común muestra los valores buscados en una tabla relacionada. Por ejemplo, el campo

Proveedor de la tabla Productos de la base de datos de ejemplo Neptuno muestra esta lista de búsqueda. Esta lista

se crea buscando los valores de Proveedor en la tabla Proveedores y mostrando los nombres de Proveedor co-

rrespondientes. La selección de un valor de una lista de búsqueda establece el valor de la clave externa del regis-

tro actual (Proveedor en la tabla Productos) en el valor de la clave principal del registro correspondiente de la

tabla relacionada (Id. De proveedor en la tabla Proveedores). De esta forma se crea una asociación con la tabla

relacionada para mostrar (pero no almacenar) los nombres del Proveedor en el registro. La clave externa (Id. De

proveedor) se almacena pero no se muestra. Por ello, toda actualización realizada en los datos de la tabla Pro-

veedores se reflejará en la lista y en los registros de la tabla Productos. Debe definir un campo de lista de

búsqueda en la tabla que contendrá la clave externa y que mostrará la lista de búsqueda. En este ejemplo, el

campo de lista de búsqueda se definirá en la tabla Productos.

Una lista de valores tiene el mismo aspecto que una lista de búsqueda, pero está formada por un conjunto fijo de

valores introducidos al crearla. Una lista de valores sólo debe utilizarse para los valores que no cambian muy a

menudo y que no necesitan almacenarse en una tabla. Por ejemplo, una lista para un campo Tratamiento que

contenga Sr., Sra. Y Srta. Es una buena candidata para una lista de valores. Al elegir un valor de una lista de

valores se almacena ese valor en el registro; no se crea una asociación a una tabla relacionada. Por ello, si poste-

riormente cambia cualquiera de los valores originales de la lista de valores, el cambio no se reflejará en los regis-

tros agregados antes de realizar este cambio.

Puede agregar un nuevo campo de lista de valores o de búsqueda tanto en la vista Diseño como en la vista Hoja

de datos de la tabla. No obstante, si el campo que desea utilizar como clave externa para un campo de búsqueda

ya existe, debe abrir la tabla de ese campo en la vista Diseño para definir el campo de búsqueda. Por ejemplo, si

dispone de una tabla Productos que ya tiene definido un campo Id. De proveedor y desea cambiarlo a un campo

de búsqueda para que muestre los nombres de proveedores de la tabla Proveedores, debe abrir la tabla Productos

en la vista Diseño para cambiar Id. De proveedor a un campo de búsqueda.

Page 19: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 19

Crear un campo que busque datos de otra tabla en la vista Diseño:

1 Abra la tabla en la vista Diseño.

2 Realice una de las siguientes operaciones:

· Para insertar un campo nuevo dentro de la tabla, haga clic en la fila situada bajo el lugar en que desea

agregar el campo y, a continuación, haga clic en Insertar filas en la barra de herramientas o bien, para agregar

un campo nuevo al final de la tabla, haga clic en la primera fila en blanco. Escriba el nombre del campo en la

columna Nombre del campo siguiendo las reglas para nombrar objetos de Access.

· Si el campo que desea utilizar como clave externa para el campo de búsqueda ya existe, haga clic en la

fila de ese campo. Por ejemplo, si tiene una tabla Productos con un campo Id. De proveedor ya definido y desea

cambiarlo a un campo de búsqueda para que muestre los nombres de proveedor de la tabla Proveedores, haga

clic en la fila del campo Id. De proveedor.

3 En la columna Tipo de datos, haga clic en la flecha y seleccione Asistente para búsquedas.

4 Haga clic en la opción que indica que desea que el campo de búsqueda busque los valores en una tabla o

consulta.

5 Haga clic en Siguiente y siga las instrucciones de los restantes cuadros de diálogo del Asistente para

búsquedas.

Al hacer clic en el botón Terminar, Access crea el campo de búsqueda y establece determinadas propiedades del

campo según las selecciones realizadas en el asistente. Una vez creado un campo de lista de búsqueda, si agrega

el campo a un formulario, Access copia su definición al formulario. No tendrá que crear el cuadro combinado o

el cuadro de lista ni su definición de lista de valores o de búsqueda para el formulario. No obstante, si cambia la

definición de un campo de lista de valores o de búsqueda en la tabla después de agregarlo a un formulario, esos

cambios no se reflejarán en el formulario. Para corregir esta situación, elimine el campo del formulario y agré-

guelo de nuevo.

Nota: También es posible agregar a una tabla un campo de búsqueda que muestre valores de la misma tabla que

contiene el campo de búsqueda. Por ejemplo, en la tabla Empleados de la base de datos de ejemplo Neptuno, el

campo Jefe es un campo de búsqueda que muestra los valores de los campos Nombre y Apellidos buscando el

campo Id. De empleado correspondiente de la misma tabla.

Crear un campo de lista de valores en la vista Diseño:

1 Abra la tabla en la vista Diseño.

2 Para insertar el campo dentro de la tabla, haga clic en la fila situada debajo del lugar donde desea agre-

gar el campo y, a continuación, haga clic en Insertar filas en la barra de herramientas.

Para agregar el campo al final de la tabla, haga clic en la primera fila en blanco.

3 En la columna Nombre del campo, escriba el nombre del campo siguiendo las reglas para nombrar obje-

tos de Access.

4 En la columna Tipo de datos, haga clic en la flecha y seleccione Asistente para búsquedas.

5 En el primer cuadro de diálogo del Asistente para búsquedas, haga clic en la opción que indica que

escribirá los valores que desee.

6 Haga clic en Siguiente y siga las instrucciones de los restantes cuadros de diálogo del Asistente para

búsquedas.

Nota: Cuando se utiliza el Asistente para búsquedas para crear una lista de valores fijos, Access establece de-

terminadas propiedades del campo según las selecciones realizadas en el asistente. Una vez creado el campo, si

agrega el campo a un formulario, Access copia su definición al formulario. No tendrá que crear el cuadro com-

binado o el cuadro de lista ni su definición de lista de valores para el formulario. No obstante, si cambia la defi-

nición del campo de lista de valores de la tabla después de agregarlo a un formulario, esos cambios no se refle-

jarán en el formulario. Para corregir esta situación, elimine el campo del formulario y agréguelo de nuevo.

Ficha General en Diseño de Tabla. Propiedades de los Campos. Propiedad Nombre del campo

Puede utilizar la propiedad Nombre del campo para especificar el nombre de un campo dentro de una tabla. Por

ejemplo, puede especificar ―Apellidos‖ en un campo que almacene los apellidos de los empleados dentro de la

tabla Empleados.

Escriba un nombre de campo, siguiendo las reglas para nombres de objetos de Access. El nombre no puede

duplicar ningún otro nombre de campo de la tabla.

Nota Evite especificar un nombre de campo que entre en conflicto con los nombres de funciones o propiedades

incorporadas en Access, como la propiedad Nombre (Name).

Puede establecer esta propiedad en la parte superior de la vista Diseño de la tabla o utilizando Visual Basic.

En Visual Basic, utilice la propiedad Name de DAO para leer y establecer un nombre de campo de una tabla.

Comentarios

Access identifica un campo por su nombre de campo. Una vez que se especifica un nombre de campo en la vista

Diseño de la tabla, se puede utilizar ese nombre en expresiones, procedimientos de Visual Basic e instrucciones

SQL.

Propiedad Tipo de datos

Texto (Predeterminado). Texto o combinaciones de texto y números, así como números que no requieran

cálculos, como los números de teléfono. Hasta 255 caracteres o la longitud que indique la propiedad

Page 20: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

20 TABLAS - MENUS EN VISTA DISEÑO. Págs. 155

Tamaño del campo (el menor de los dos valores). Access no reserva espacio para la parte que no se uti-

liza de un campo de texto.

Memo Texto extenso, o combinación extensa de texto y números. Hasta 65.535 caracteres. (Si el campo se

manipula a través de DAO y sólo se va a almacenar en él texto y números [no datos binarios], el tamaño

está limitado por el de la base de datos).

Numérico: Datos numéricos utilizados en cálculos matemáticos. Para obtener más información sobre la forma

de establecer un tipo numérico específico, vea el tema de la propiedad Tamaño del campo. 1, 2, 4 u 8

bytes (16 bytes si el valor de la propiedad Tamaño del campo es Id. De réplica).

Fecha/Hora: Valores de fecha y hora para los años del 100 al 9999. 8 bytes.

Moneda: Valores de moneda y datos numéricos utilizados en cálculos matemáticos en los que estén implicados

datos que contengan entre uno y cuatro decimales. La precisión es de hasta 15 dígitos a la izquierda del

separador decimal y hasta 4 dígitos a la derecha del mismo. 8 bytes.

Autonumérico: Número secuencial (incrementado de uno a uno) único, o número aleatorio que Access asigna

cada vez que se agrega un nuevo registro a una tabla. Los campos Autonumérico no se pueden actuali-

zar. Si desea más información, vea el tema de la propiedad Nuevos valores. 4 bytes (16 bytes si el

valor de la propiedad Tamaño del campo es Id. La réplica).

Sí/No: Valores Sí y No, y campos que contengan uno de entre dos valores (Sí/No, Verdadero/Falso o Activa-

do/desactivado). 1 bit.

Objeto OLE: Objeto (como por ejemplo una hoja de cálculo de Excel, un documento de Word, gráficos, soni-

dos u otros datos binarios) vinculado o incrustado en una tabla de Access. Hasta 1 gigabyte (limi-

tado por el espacio disponible en disco).

Hipervínculo: Texto o combinación de texto y números almacenada como texto y utilizada como dirección de

hipervínculo.

Asistente para búsquedas: Crea un campo que permite elegir un valor de otra tabla o de una lista de valores

mediante un cuadro de lista o un cuadro combinado. Al hacer clic en esta opción se inicia el Asistente

para búsquedas, que crea un campo de búsqueda. Al salir del Asistente, Access establece el tipo de da-

tos basándose en los valores seleccionados en él. Tamaño igual al del campo clave principal utiliza-

do para realizar la búsqueda (habitualmente 4 bytes).

Comentarios: Los campos de tipo Memo, Hipervínculo y Objeto OLE no se pueden indizar.

Sugerencia: Utilice el tipo de datos Moneda en los campos que requieran muchos cálculos con datos de uno a

cuatro decimales. Los campos de tipo Simple y Doble requieren cálculos en coma flotante, mientras que el tipo

de datos Moneda emplea cálculos en coma fija, que son más rápidos.

Atención: Cambiar el tipo de datos de un campo después de haber introducido datos en una tabla puede provo-

car un largo proceso de conversión de datos al guardar la tabla. Si el tipo de datos de un campo está en conflicto

con el valor de la propiedad Tipo de datos cambiada es posible que se pierdan algunos datos.

Propiedad Descripción

Puede usar la propiedad Descripción para proporcionar información sobre los objetos contenidos en la ventana

Base de datos, y también sobre campos individuales de una tabla o consulta.

Para los objetos de base de datos, haga clic en el comando Propiedades del menú Ver y escriba el texto de la

descripción en el cuadro Descripción. En el caso de tablas o consultas, también puede introducir la descripción

en la hoja de propiedades de la tabla o consulta. La descripción del objeto aparece junto a su nombre en la venta-

na Base de datos cuando se hace clic en el comando Detalles del menú Ver.

Para campos individuales de una tabla o consulta, escriba la descripción en la parte superior de la vista Diseño de

la tabla o en la hoja de propiedades Propiedades del campo en la ventana Consulta. La longitud máxima es 255

caracteres.

En Visual Basic, para establecer esta propiedad por primera vez es necesario crear una propiedad definida por la

aplicación utilizando el método CreateProperty de DAO.

Comentarios

La descripción de un objeto aparece en la columna Descripción de la ventana Base de datos, que se muestra al

mostrar los detalles.

Al crear controles arrastrando un campo desde la lista de campos, Access copia la propiedad Descripción del

campo en la propiedad TextoDeLaBarraDeEstado (StatusBarText) del control.

Nota: En el caso de una tabla vinculada, Access muestra la información de conexión en la propiedad Descrip-

ción.

Propiedad Tamaño del campo

Puede usar la propiedad Tamaño del campo para establecer el tamaño máximo de los datos almacenados en un

campo de tipo Texto, Numérico o Autonumérico.

Si la propiedad Tipo de datos tiene el valor Texto, escriba un número entre 0 y 255. El valor predeterminado es

50.

Si la propiedad Tipo de datos tiene el valor Autonumérico, en Tamaño del campo se puede establecer Entero

largo o Id. De réplica.

Page 21: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 21

Si la propiedad Tipo de datos tiene establecido Numérico, las opciones de Tamaño del campo y sus valores se

relacionan de la siguiente forma:

Valor Descripción Precisión decimal Tamaño de almacenamiento

Byte Almacena números entre 0 y 255 (no admite fracciones). Ninguna 1 byte

Entero Almacena números entre –32.768 y 32.767 (no admite fracciones). Ninguna 2 bytes

Entero largo (Predeterminado) Almacena números entre –2.147.483.648 y 2.147.483.647 (no admite frac-

ciones). Ninguna 4 bytes

Simple Almacena números entre –3,402823E38 y –1,401298E–45 para valores negativos, y entre

1,401298E–45 y 3,402823E38 para valores positivos. 7 4 bytes

Doble Almacena números entre –1,79769313486231E308 y –4,94065645841247E–324 para valores negati-

vos, y entre 1,79769313486231E308 y 4,94065645841247E–324 para valores positivos. 15 8 bytes

Id. De réplica Identificador global único (GUID) N/D 16 bytes

Sólo es posible establecer esta propiedad en la hoja de propiedades de la tabla.

Para establecer el tamaño de un campo en Visual Basic, utilice la propiedad Size de DAO para leer y establecer

el tamaño máximo de los campos de tipo Texto (para los tipos distintos de Texto, el valor de la propiedad Type

de DAO determina automáticamente el de la propiedad Size).

Nota: Puede especificar los tamaños de campo predeterminados para los tipos Texto y Numérico modificando

los valores de Tamaño predeterminado de campo en la ficha Tablas/Consultas, que aparece al hacer clic en el

comando Opciones del menú Herramientas.

Comentarios:

Se recomienda especificar el valor más pequeño posible para la propiedad Tamaño del campo, pues los tamaños

más pequeños pueden procesarse más rápidamente y requieren menos memoria.

Atención: Si cambia un valor de Tamaño del campo por otro más pequeño para un campo que ya contiene da-

tos, es posible que pierda información. Por ejemplo, si un campo de tipo Texto tiene el valor 255 en Tamaño del

campo y lo cambia por 50, los datos que se extiendan más allá de los 50 primeros caracteres se perderán.

Si los datos de un campo de tipo Numérico no caben con un nuevo valor de Tamaño del campo, los números

fraccionarios se pueden redondear, o pueden dar el valor Nulo. Por ejemplo, si cambia el tamaño de campo de

Simple a Entero, los valores fraccionarios se redondearán al número entero más cercano, y los superiores a

32.767 o inferiores a –32.768 serán reemplazados por valores nulos.

No es posible deshacer los cambios en los datos provocados por una modificación de la propiedad Tamaño del

campo después de haberlos guardado en la vista Diseño de la tabla.

Sugerencia: Puede usar el tipo de datos Moneda cuando vaya a realizar muchos cálculos con un campo que

contenga números que tengan entre uno y cuatro decimales. Los campos de tipo Simple y Doble requieren cálcu-

los en coma flotante, mientras que los de tipo Moneda realizan los cálculos en coma fija, que es más rápido.

Propiedad Formato de Campo.

La propiedad Formato (Format) afecta sólo a cómo se muestran los datos. No afecta a cómo se almacenan los

datos.

Access dispone de formatos predefinidos para los tipos de datos Fecha/Hora, Numérico y Moneda, Texto y

Memo, y Sí/No. Los formatos predefinidos dependen del país especificado al hacer doble clic en Configuración

regional en el Panel de control de Windows. Access muestra los formatos apropiados para el país seleccionado.

Por ejemplo, si está seleccionado Inglés (Estados Unidos) en la ficha Configuración regional, 1234.56 en el

formato Moneda aparece como $1,234.56, pero si está seleccionado Inglés (Británico) en la ficha Configuración

regional, el número aparece como £1,234.56.

Si establece la propiedad Formato (Format) de un campo en la vista Diseño de la tabla, Access utiliza ese forma-

to para mostrar datos en las hojas de datos. También aplica la propiedad Formato (Format) del campo a los nue-

vos controles de formularios e informes.

Puede utilizar los siguientes símbolos en formatos personalizados para cualquier tipo de datos.

(espacio) Muestra espacios como caracteres literales.

―ABC‖ Muestra todo el contenido de las comillas tipográficas como caracteres literales.

¡ Realiza la alineación a la izquierda en lugar de la alineación a la derecha.

* Rellena el espacio disponible con el siguiente carácter.

\ Muestra el siguiente carácter como un carácter literal. También puede mostrar

caracteres literales incluyéndolos entre comillas tipográficas.

[color] Muestra los datos con el color especificado entre los corchetes. Colores

disponibles: Negro, Azul, Verde, Aguamarina, Rojo, Fucsia, Amarillo, Blanco.

No puede mezclar los símbolos de formato personalizados para los tipos de datos Numérico y Moneda con los

símbolos de formato de los campos Fecha/Hora, Sí/No, o Texto y Memo.

Cuando se ha definido una máscara de entrada y se ha establecido la propiedad Formato (Format) para los mis-

mos datos, la propiedad Formato (Format) tiene preferencia al mostrar los datos, y la máscara de entrada se igno-

ra. Por ejemplo, si crea una máscara de entrada Contraseña en la vista Diseño de la tabla y también establece la

propiedad Formato (Format) para el mismo campo, ya sea en la tabla o en un control de un formulario, la másca-

ra de entrada Contraseña se ignora y los datos se muestran según la propiedad Formato (Format).

Formato Tipos de datos Texto y Memo

Page 22: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

22 TABLAS - MENUS EN VISTA DISEÑO. Págs. 155

@ Se necesita un carácter de texto (ya sea un carácter o un espacio).

& No se necesita un carácter de texto.

< Convertir todos los caracteres a minúsculas.

> Convertir todos los caracteres a mayúsculas.

Por ejemplo, si tiene un control de cuadro de texto en el que desea que aparezca la palabra ―Ninguno‖ cuando no

exista ninguna cadena en el campo, puede introducir el formato personalizado @;‖Ninguno‖ como el valor de la

propiedad Formato (Format) del control. El símbolo @ hace que se muestre el texto del campo; la segunda sec-

ción hace que aparezca la palabra ―Ninguno‖ cuando haya una cadena de longitud cero o un valor Nulo en el

campo.

Ejemplos

Valor Datos Muestra

@@@-@@-@@@@ 465043799 465-04-3799

@@@@@@@@@ 465-04-3799 465043799

> davolio DAVOLIO

DAVOLIO DAVOLIO

Davolio DAVOLIO

< davolio davolio

Davolio davolio

DAVOLIO davolio

@;‖Desconocido‖ Valor Null Desconocido

Cadena de longitud cero Desconocido

Cualquier texto El mismo texto introducido

Formato Tipo de datos Fecha/Hora

Fecha general (Predeterminado) Si el valor es sólo una fecha, no se muestra ninguna hora; si el

valor es sólo una hora, no se muestra ninguna fecha. Este valor es una combinación de los valores de Fecha corta

y Hora larga. Ejemplos: ¾/93, 05:34:00 PM y ¾/93 05:34:00 PM.

Fecha larga Igual que el valor de Fecha larga del cuadro de diálogo Propiedades de

Configuración regional del Panel de control de Windows. Ejemplo: Sábado, 3 de Abril de 1993.

Fecha mediana Ejemplo: 3-Abr-93.

Fecha corta Igual que el valor de Fecha corta del cuadro de diálogo Propiedades de

Configuración regional del Panel de control de Windows. Ejemplo: ¾/93. Atención El formato Fecha corta

asume que las fechas comprendidas entre el 1/1/00 y el 31/12/29 son fechas del siglo XXI (es decir, que los años

están entre el 2000 y el 2029). Las fechas comprendidas entre el 1/1/30 y el 31/12/99 se asume que son fechas

del siglo XX (es decir, que los años están entre 1930 y 1999).

Hora larga Igual que el valor de la ficha Hora del cuadro de diálogo Propiedades de

Configuración regional del Panel de control de Windows. Ejemplo: 5:34:23 PM.

Hora mediana Ejemplo: 5:34 PM.

Hora corta Ejemplo: 17:34.

Formatos personalizados:

: (dos puntos) Separador de hora. Los separadores se establecen en el cuadro de diálogo

Propiedades de Configuración regional del Panel de control de Windows.

/ Separador de fecha.

C Igual que el formato predefinido Fecha general.

D Día del mes en uno o dos dígitos numéricos, según sea necesario (1 a 31).

Dd Día del mes en dos dígitos numéricos (01 a 31).

Ddd Tres primeras letras del día de la semana (Lun a Dom)

dddd Nombre completo del día de la semana (Lunes a Dom).

Ddddd Igual que el formato predefinido Hora corta.

Dddddd Igual que el formato predefinido Fecha larga.

S Día de la semana (1 a 7).

Ss Semana del año (1 a 53).

M Mes del año en uno o dos dígitos numéricos, según sea necesario (1 a 12).

Mm Mes del año en dos dígitos numéricos (01 a 12).

Mmm Tres primeras letras del mes (Ene a Dic).

Mmmm Nombre completo del mes (Enero a Diciembre).

T Fecha mostrada como trimestre del año (1 a 4).

A Número de día del año (1 a 366).

Aa Dos últimos dígitos del año (01 a 99).

Aaaa Año completo (0100 a 9999).

H Hora en uno o dos dígitos, según sea necesario (0 a 23).

Hh Hora en dos dígitos (00 a 23).

N Minuto en uno o dos dígitos, según sea necesario (0 a 59).

Nn Minuto en dos dígitos (00 a 59).

Page 23: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 23

S Segundo en uno o dos dígitos, según sea necesario (0 a 59).

Ss Segundo en dos dígitos (00 a 59).

Ttttt Igual que el formato predefinido Hora larga.

AM/PM Reloj de 12 horas con las letras mayúsculas ―AM‖ o ―PM‖, según sea apropiado.

Am/pm Reloj de doce horas con las letras minúsculas ―am‖ o ―pm‖, según sea apropiado.

A/P Reloj de doce horas con la letra mayúscula ―A‖ o ―P‖, según sea apropiado.

A/p Reloj de doce horas con la letra minúscula ―a‖ o ―p‖, según sea apropiado.

AMPM Reloj de doce horas con el designador de mañana/tarde apropiado establecido en el cuadro de diálogo

Propiedades de Configuración regional del Panel de control de Windows.

Los formatos personalizados se muestran según el valor especificado en el cuadro de diálogo Propiedades de

Configuración regional del Panel de control de Windows. Los formatos personalizados incoherentes con los

valores especificados en el cuadro de diálogo Propiedades de Configuración regional se ignoran.

Nota Si desea agregar una coma u otro separador al formato personalizado, incluya el separador entre comillas

de la forma siguiente: d mmm‖, ―aaaa.

Ejemplos:

ddd‖, ―d mmm‖, ―aaaa Lun, 2 Jun, 1997

dd mmmm‖, ―aaaa 02 Junio, 1997

―Ésta es la semana número ―ss Ésta es la semana número 22

―Hoy es ―dddd Hoy es Martes

Formato Tipos de datos Numérico y Moneda

Número general (Predeterminado) Muestra el número tal como se introduce.

Moneda Utiliza el separador de miles; muestra los números negativos entre paréntesis; el valor prede-

terminado de la propiedad LugaresDecimales (DecimalPlaces) es 2.

Fijo Muestra al menos un dígito; el valor predeterminado de la propiedad LugaresDecimales

(DecimalPlaces) es 2.

Estándar Utiliza el separador de miles; el valor predeterminado de la propiedad

LugaresDecimales (DecimalPlaces) es 2.

Porcentaje Multiplica el valor por 100 y anexa un signo de porcentaje; el valor

predeterminado de la propiedad LugaresDecimales (DecimalPlaces) es 2.

Científico Utiliza la notación científica estándar.

Los formatos numéricos personalizados pueden tener entre una y cuatro secciones con signos de punto y coma

(;) como separador de lista. Cada sección contiene la especificación de formato para un tipo de número diferente.

Primera El formato para los números positivos.

Segunda El formato para los números negativos.

Tercera El formato para los valores cero.

Cuarta El formato para los valores Null.

Por ejemplo, puede utilizar el siguiente formato Moneda personalizado:

$#.##0,00[Verde];($#.##0,00)[Rojo];‖Cero‖;‖Null‖

Este formato numérico contiene cuatro secciones separadas por signos de punto y coma y utiliza un formato

diferente para cada sección.

Si utiliza varias secciones pero no especifica un formato para cada sección, las entradas para las que no hay

ningún formato no mostrarán nada o tomarán como valor predeterminado el formato de la primera sección.

Puede crear formatos numéricos personalizados mediante los símbolos siguientes:

, (coma) Separador decimal. Los separadores se establecen haciendo doble clic en Configuración

regional en el Panel de control de Windows.

. (punto) Separador de miles.

0 Marcador de posición de dígitos. Muestra un dígito ó 0.

# Marcador de posición de dígitos. Muestra un dígito o nada.

$ Muestra el carácter literal ―$‖.

% Porcentaje. El valor se multiplica por 100 y se le anexa un signo de porcentaje.

E– o e– Notación científica con un signo menos (–) junto a los exponentes negativos y nada junto

a los exponentes positivos. Este símbolo debe utilizarse con otros símbolos, como en el ejemplo 0,00E–00 o

0,00E00.

E+ o e+ Notación científica con un signo menos junto a los exponentes negativos y un signo más

(+) junto a los exponentes positivos. Este símbolo debe utilizarse con otros símbolos, como en el ejemplo

0,00E+00.

Puede utilizar la propiedad LugaresDecimales (DecimalPlaces) para anular el número predeterminado de lugares

decimales del formato predefinido especificado para la propiedad Formato (Format).

Ejemplos:

Valor Datos Muestra

Número general 3456,789 3456,789

–3456,789 –3456,789

$213,21 $213,21

Page 24: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

24 TABLAS - MENUS EN VISTA DISEÑO. Págs. 155

Moneda –3456,789 ($3.456,79)

3456,789 3.456,79

Fijo 3456,789 3456.79

–3456,789 -3456,79

3,56645 3,57

Estándar 3456,789 3.456,79

Porcentaje 3 300%

0,45 45%

Ejemplos personalizados:

Valor Descripción

0;(0);;‖Nulo‖ Muestra los valores positivos normalmente; muestra los valores negativos entre paréntesis;

muestra la palabra ―Nulo‖ si el valor es Null.

+0,0;–0,0;0,0 Muestra un signo más (+) o menos (–) con números positivos o negativos; muestra 0,0 si el

valor es cero.

Formato Tipo de datos Sí/No

Access utiliza un control de casilla de verificación como control predeterminado para el tipo de datos Sí/No. Los

formatos predefinidos y personalizados se ignoran cuando se utiliza un control de casilla de verificación. Por

tanto, estos formatos se aplican sólo a los datos mostrados en un control de cuadro de texto.

La propiedad Formato (Format) dispone de los formatos predefinidos Sí/No, Verdadero/Falso y Activa-

do/Desactivado. Sí, Verdadero y Activado son equivalentes entre sí, al igual que lo son No, Falso y Desactivado.

Si especifica un formato predefinido y, a continuación, introduce un valor equivalente, se mostrará el formato

predefinido del valor equivalente. Por ejemplo, si introduce Verdadero o Activado en un control de cuadro de

texto con su propiedad Formato (Format) establecida a Sí/No, el valor se convierte automáticamente a Sí.

El tipo de datos Sí/No puede utilizar formatos personalizados que contengan hasta tres secciones:

Primera Esta sección no tiene ningún efecto en el tipo de datos Sí/No. No obstante, se

requiere un signo de punto y coma (;) como marcador de posición.

Segunda El texto para mostrar en lugar de los valores Sí, Verdadero o Activado.

Tercera El texto para mostrar en lugar de los valores No, Falso o Desactivado.

El ejemplo siguiente muestra un formato Sí/No personalizado para un control de cuadro de texto. El control

muestra la palabra ―Siempre‖ en texto azul para Sí, Verdadero o Activado, y la palabra ―Nunca‖ en texto rojo

para No, Falso o Desactivado.

;‖Siempre‖[Azul];‖Nunca‖[Rojo]

Propiedad Máscara de Entrada.

Puede utilizar la propiedad MáscaraDeEntrada (InputMask) para facilitar la entrada de datos y para controlar los

valores que los usuarios pueden introducir en un control de cuadro de texto. Por ejemplo, puede crear una másca-

ra de entrada para un campo Número de teléfono que muestre exactamente cómo debe introducirse un número

nuevo: (___) ___-____. A menudo es más fácil utilizar el Asistente para máscaras de entrada para establecer la

propiedad automáticamente.

La propiedad MáscaraDeEntrada (InputMask) puede contener hasta tres secciones separadas por signos de punto

y coma (;).

Sección Descripción

Primera: Especifica la máscara de entrada propiamente dicha, por ejemplo, ¡(999) 999-9999. Para

ver una lista de los caracteres que puede utilizar para definir la máscara de entrada, vea la tabla siguien-

te.

Segunda: Especifica si Access almacena los caracteres de visualización literales

en la tabla al introducir datos. Si utiliza 0 para esta sección, todos los caracteres de visualización litera-

les (por ejemplo, el paréntesis de una máscara de entrada de un número de teléfono) se almacenan con

el valor; si introduce 1 o deja esta sección en blanco, sólo se almacenan los caracteres introducidos en el

control.

Tercera: Especifica el carácter que Access muestra para el espacio en el que el usuario

debe escribir un carácter en la máscara de entrada. Para esta sección puede utilizar cualquier carácter;

para mostrar una cadena en blanco, utilice un espacio entre comillas (― ―).

En Visual Basic, se utiliza una expresión de cadena para establecer esta propiedad. El ejemplo siguiente especi-

fica una máscara de entrada para un control de cuadro de texto utilizado para introducir un número de teléfono:

Forms!Clientes!Teléfono.InputMask = ―(###) ###-####‖

Al crear una máscara de entrada, puede utilizar caracteres especiales para hacer que la introducción de determi-

nados datos (por ejemplo, el código de área de un número de teléfono) sea obligatoria y que los demás datos sean

opcionales (como la extensión de teléfono). Estos caracteres especifican el tipo de datos, como el número o el

carácter que debe introducir para cada carácter de la máscara de entrada.

Puede definir una máscara de entrada mediante los siguientes caracteres.

Carácter Descripción

0 Dígito (0 a 9, entrada obligatoria, signos más [+] y menos [–] no permitidos).

9 Dígito o espacio (entrada no obligatoria, signos más y menos no permitidos).

Page 25: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 25

# Dígito o espacio (entrada no obligatoria; los espacios se muestran en blanco en el modo

Edición, pero se eliminan cuando se guardan los datos; signos más y menos permitidos).

L Letra (A a Z, entrada obligatoria).

? Letra (A a Z, entrada opcional).

A Letra o dígito (entrada obligatoria).

a Letra o dígito (entrada opcional).

& Cualquier carácter o un espacio (entrada obligatoria).

C Cualquier carácter o un espacio (entrada opcional).

. , : ; - / Marcador de posición decimal y separadores de miles, hora y fecha (el carácter

depende del valor del cuadro de diálogo Propiedades de Configuración regional en el Panel de control

de Windows).

< Hace que todos los caracteres se conviertan a minúsculas.

> Hace que todos los caracteres se conviertan a mayúsculas.

! Hace que la máscara de entrada se muestre de derecha a izquierda, en lugar de mostrarse

de izquierda a derecha. Los caracteres introducidos en la máscara siempre se rellenan de izquierda a de-

recha. Puede incluir el signo de exclamación en cualquier lugar de la máscara de entrada.

\ Hace que el carácter siguiente se muestre como un carácter literal (por ejemplo, \A se

muestra sólo como A).

Nota: El establecimiento de la propiedad MáscaraDeEntrada (InputMask) a la palabra ―Contraseña‖ crea un

control de entrada de contraseña. Cualquier carácter introducido en el control se almacena como el carácter pero

se muestra como un asterisco (*). Utilice la máscara de entrada de Contraseña para impedir que se muestren los

caracteres escritos en la pantalla.

Para un control, puede establecer esta propiedad en la hoja de propiedades del control. Para un campo de una

tabla, puede establecer esta propiedad en la vista Diseño de la tabla (en la sección Propiedades del campo) o en

la vista Diseño de la ventana Consulta (en la hoja de propiedades Propiedades del campo).

También puede establecer la propiedad MáscaraDeEntrada (InputMask) mediante una macro o Visual Basic.

Al introducir datos en un campo para el que se ha definido una máscara de entrada, los datos siempre se introdu-

cen en el modo Sobrescribir. Si utiliza la tecla RETROCESO para eliminar un carácter, el carácter se reemplaza

por un espacio en blanco.

Si mueve texto desde un campo para el cual ha definido una máscara de entrada hasta el Portapapeles, los carac-

teres de visualización literales se copian, incluso si ha especificado que no se guarden con datos.

Nota: Sólo los caracteres introducidos directamente en un control o un cuadro combinado se ven afectados por

la máscara de entrada. Access ignora las máscaras de entrada al importar datos, al ejecutar una consulta de ac-

ción o al introducir caracteres en un control estableciendo la propiedad Texto (Text) del control en Visual Basic

o mediante la acción EstablecerValor en una macro.

Cuando se ha definido una máscara de entrada y se ha establecido la propiedad Formato (Format) para el mismo

campo, la propiedad Formato (Format) tiene preferencia cuando se muestran los datos. Esto quiere decir que

incluso aunque haya guardado una máscara de entrada, la máscara de entrada se ignora cuando se da formato a

los datos y se muestran en pantalla. Los datos de la tabla base propiamente dicha no se modifican; la propiedad

Formato (Format) afecta sólo a cómo se muestran los datos.

Definición de máscara

de entrada Ejemplos de valores

(000) 000-0000 (206) 555-0248

(999) 999-9999! (206) 555-0248

( ) 555-0248

(000) AAA-AAAA (206) 555-TELE

#999 -20

2000

>L????L?000L0 GREENGR339M3

MAY R 452B7

>L0L 0L0 T2F 8M4

00000-9999 98115-

98115-3007

>L<?????????????? Elena

Manuel

ISBN 0-&&&&&&&&&-0 ISBN 1-55615-507-7

ISBN 0-13-964262-5

>LL00000-0000 DB51392-0493

Propiedad LugaresDecimales (DecimalPlaces)

Puede usar la propiedad LugaresDecimales (DecimalPlaces) para especificar el número de lugares decimales que

utiliza Access para presentar números.

La propiedad LugaresDecimales (DecimalPlaces) puede tener los valores siguientes:

Valor Descripción Visual Basic

Page 26: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

26 TABLAS - MENUS EN VISTA DISEÑO. Págs. 155

Auto (Predeterminado) Los números aparecen en la forma especificada en la propiedad Formato (Format).

255

0 a 15 Los dígitos situados a la derecha del separador decimal aparecen con el número de lugares decimales

especificado, y los situados a la izquierda del separador aparecen como especifique el valor de la propiedad

Formato (Format). 0 a 15

Puede establecer esta propiedad para cuadros de texto y cuadros combinados en la hoja de propiedades del con-

trol, y para los campos de tablas en la hoja de propiedades de la tabla. También puede establecer la propiedad en

la hoja de propiedades Propiedades del campo en la vista Diseño de consulta.

Sugerencia: Se recomienda establecer la propiedad LugaresDecimales (DecimalPlaces) en la hoja de propieda-

des de la tabla. Si después crea un control dependiente en un formulario o informe, heredará el valor de la pro-

piedad LugaresDecimales (DecimalPlaces) establecido para el campo de la tabla o consulta base, con lo que no

será necesario especificar la propiedad para cada control dependiente que cree.

En el caso de los controles, también puede establecer esta propiedad con una macro o con Visual Basic.

Nota: El valor de la propiedad LugaresDecimales (DecimalPlaces) no tiene ningún efecto si la propiedad For-

mato (Format) está en blanco o tiene el valor Número general.

Comentarios: La propiedad LugaresDecimales (DecimalPlaces) afecta sólo al número de lugares decimales que

se muestran, y no al número de decimales que se almacena. Para cambiar la forma en que se almacena un núme-

ro, es necesario modificar la propiedad Tamaño del campo en la vista Diseño de la tabla.

Puede usar la propiedad LugaresDecimales (DecimalPlaces) para mostrar números de forma distinta a la indica-

da por el valor de la propiedad Formato (Format), o distinta de la forma en que están almacenados. Por ejemplo,

el valor Moneda en la propiedad Formato (Format) hace que se muestren sólo dos decimales (5,35). Para mostrar

números de tipo Moneda con cuatro decimales (por ejemplo 5,3523), establezca el valor 4 en la propiedad Luga-

resDecimales (DecimalPlaces).

Propiedad Título (Caption)

Puede usar la propiedad Título (Caption) para proporcionar información útil al usuario mediante de títulos sobre

los objetos en distintas vistas:

· Los títulos de campos especifican el texto de las etiquetas adjuntas a los controles creados al arrastrar un

campo desde la lista de campos, y sirven como encabezados de columna para los campos en la vista Hoja de

datos de una tabla o consulta.

· Los títulos de formularios especifican el texto que aparece en la barra de título en la vista Formulario.

· Los títulos de informes especifican el título del informe en la Vista preliminar.

· Los títulos de botones y etiquetas especifican el texto que aparece en el control.

La propiedad Título (Caption) es una expresión de cadena que puede contener hasta 2.042 caracteres. Se trun-

carán los títulos de los formularios e informes que sean demasiado largos para mostrarlos en la barra de título.

En el caso de los controles, puede establecer esta propiedad en la hoja de propiedades. Para establecerla para los

campos, utilice la hoja de propiedades en la vista Diseño de tabla o en la ventana Consulta (en la hoja de propie-

dades Propiedades del campo). También puede establecer esta propiedad con una macro o con Visual Basic.

Comentarios: Si no especifica un título para un campo de una tabla, se usará el valor de la propiedad Nombre del

campo de ese campo como título de una etiqueta adjunta a un control o como encabezado de columna en la vista

Hoja de datos. Si no especifica el título de un campo de una consulta, se usará el del campo de la tabla base. Si

no establece el título de un formulario, botón o etiqueta, Access le asignará un nombre único basándose en el

tipo de objeto, como por ejemplo ―Formulario1‖.

Si crea un control arrastrando un campo desde la lista de campos y no ha especificado un valor para la propiedad

Título (Caption) del mismo, se copiará el valor de la propiedad Nombre del campo del campo en el cuadro de la

propiedad Nombre (Name) del control, y por ello aparecerá en la etiqueta del control creado.

Nota: El texto de la propiedad Título (Caption) para un control etiqueta o botón de comando es el texto de pre-

sentación de hipervínculo cuando se ha establecido la propiedad DirecciónDeHipervínculo (HyperlinkAddress) o

SubdirecciónDeHipervínculo (HyperlinkSubAddress) del control.

Puede usar la propiedad Título (Caption) para asignar una tecla de acceso a una etiqueta o botón de comando. En

el título, incluya un signo ―&‖ inmediatamente antes del carácter que desee utilizar como tecla de acceso. Este

carácter aparecerá subrayado. Puede presionar ALT y el carácter subrayado del control para desplazar el enfoque

a dicho control en un formulario.

Sugerencia: Si desea incluir un signo ―&‖ en el título, escirba dos caracteres ―&‖ en el título. Por ejemplo, para

que aparezca ―Guardar & Salir‖, deberá escribir Guardar && Salir en el cuadro de la propiedad Título (Caption).

Propiedad ValorPredeterminado (DefaultValue)

Puede utilizar la propiedad ValorPredeterminado (DefaultValue) para especificar un valor que se introduce au-

tomáticamente en un campo cuando se crea un nuevo registro. Por ejemplo, en la tabla Direcciones puede esta-

blecer el valor predeterminado del campo Ciudad a Nueva York. Cuando los usuarios agregan un registro a la

tabla, pueden aceptar este valor o introducir el nombre de una ciudad diferente.

Notas:

· La propiedad ValorPredeterminado (DefaultValue) no se aplica a controles de casilla de verificación,

botón de opción o botón de alternar cuando se encuentran en un grupo de opciones. Se aplica al grupo de opcio-

nes propiamente dicho.

Page 27: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 27

· La propiedad ValorPredeterminado (DefaultValue) se aplica a todos los campos de la tabla excepto a

los campos con el tipo de datos Autonumérico u Objeto OLE.

La propiedad ValorPredeterminado (DefaultValue) especifica texto o una expresión que se introduce automáti-

camente en un control o un campo cuando se crea un nuevo registro. Por ejemplo, si establece la propiedad Va-

lorPredeterminado (DefaultValue) de un control de cuadro de texto a =Ahora(), el control muestra la fecha y la

hora actual. La longitud máxima de un valor de la propiedad ValorPredeterminado (DefaultValue) es 255 carac-

teres.

Para un control, puede establecer esta propiedad en la hoja de propiedades del control. Para un campo, puede

establecer esta propiedad en la vista Diseño de la tabla (en la sección Propiedades del campo), en una macro o

mediante Visual Basic.

En Visual Basic, utilice una expresión de cadena para establecer el valor de esta propiedad. El ejemplo siguiente

establece la propiedad ValorPredeterminado (DefaultValue) para un control de cuadro de texto denominado

MétodoPago a ―Efectivo‖:

Forms!frmFactura!MétodoPago.DefaultValue = ―‖‖Efectivo‖‖‖

Nota: Para establecer esta propiedad para un campo mediante Visual Basic, utilice la propiedad ValorPredeter-

minado (DefaultValue) de DAO.

Comentarios: La propiedad ValorPredeterminado (DefaultValue) se aplica sólo cuando se agrega un registro

nuevo. Si se cambia la propiedad ValorPredeterminado (DefaultValue), el cambio no se aplica automáticamente

a los registros existentes.

Si establece la propiedad ValorPredeterminado (DefaultValue) para un control de un formulario que depende de

un campo que también tiene un valor de la propiedad ValorPredeterminado (DefaultValue) definido en la tabla,

el valor del control anula al valor de la tabla.

Si crea un control arrastrando un campo desde la lista de campos, el valor de la propiedad ValorPredeterminado

(DefaultValue) del campo, tal como está definido en la tabla, se aplica al control del formulario aunque el valor

de la propiedad ValorPredeterminado (DefaultValue) del control permanezca en blanco.

Un control puede proporcionar el valor predeterminado para otro control Por ejemplo, si establece la propiedad

ValorPredeterminado (DefaultValue) de un control a la expresión siguiente, el valor predeterminado del control

se establece al valor de la propiedad ValorPredeterminado (DefaultValue) del control txtEnviarA.

=Forms!frmFactura!txtEnviarA

Si los controles están en el mismo formulario, el control que es el origen del valor predeterminado debe aparecer

en el orden de fichas antes que el control que contiene la expresión.

Propiedades ReglaDeValidación (ValidationRule) y TextoDeValidación (ValidationText)

Puede utilizar la propiedad ReglaDeValidación (ValidationRule) con el fin de especificar requisitos para los

datos introducidos en un registro, un campo o un control. Cuando se introducen datos que infringen el valor de la

propiedad ReglaDeValidación (ValidationRule), puede utilizar la propiedad TextoDeValidación (Validation-

Text) para especificar el mensaje que se mostrará al usuario.

Nota : Las propiedades ReglaDeValidación (ValidationRule) y TextoDeValidación (ValidationText) no se apli-

can a controles de casilla de verificación, botón de opción o botón de alternar cuando se encuentran en un grupo

de opciones. Se aplican sólo al grupo de opciones propiamente dicho.

Introduzca una expresión para el valor de la propiedad ReglaDeValidación (ValidationRule) y texto para el valor

de la propiedad TextoDeValidación (ValidationText). La longitud máxima del valor de la propiedad ReglaDeVa-

lidación (ValidationRule) es 2048 caracteres. La longitud máxima del valor de la propiedad TextoDeValidación

(ValidationText) es 255 caracteres.

Para los controles, puede establecer la propiedad ReglaDeValidación (ValidationRule) a cualquier expresión

válida. Para las reglas de validación de campo y registro, la expresión no puede contener funciones definidas por

el usuario, funciones agregadas de dominio o funciones agregadas, la función UsuarioActual (CurrentUser) o

Eval, o referencias a formularios, consultas o tablas. Además, las reglas de validación de campo no pueden con-

tener referencias a otros campos. Para los registros, las expresiones pueden incluir referencias a campos de esa

tabla.

Puede establecer las propiedades ReglaDeValidación (ValidationRule) y TextoDeValidación (ValidationText)

mediante:

· La sección Propiedades del campo de la vista Diseño de la tabla (para una regla de validación de cam-

po).

· La hoja de propiedades de una tabla; para ello, elija Propiedades en el menú Ver en la vista Diseño de la

tabla (para una regla de validación de registro). Ej.: ([FORMA_PAGO]="TARJETA" Y ([DESCUENTO]=0 O

[DESCUENTO]=NULO)) O [FORMA_PAGO]="CONTADO"

· La hoja de propiedades de un control de un formulario.

· Una macro o Visual Basic. En Visual Basic, utilice una expresión de cadena para establecer estas pro-

piedades.

Para los registros y los campos de tabla, también puede establecer estas propiedades en Visual Basic mediante la

propiedad ReglaDeValidación (ValidationRule) de DAO.

Page 28: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

28 TABLAS - MENUS EN VISTA DISEÑO. Págs. 155

Comentarios: Access valida automáticamente valores según el tipo de datos de un campo; por ejemplo, Access

no permite texto en un campo numérico. Puede establecer reglas más específicas mediante la propiedad Regla-

DeValidación (ValidationRule).

Si establece la propiedad ReglaDeValidación (ValidationRule) pero no la propiedad TextoDeValidación (Valida-

tionText), Access muestra un mensaje de error estándar cuando se infringe la regla de validación. Si establece la

propiedad TextoDeValidación (ValidationText), el texto introducido se muestra como mensaje de error.

Por ejemplo, cuando se agrega un registro para un nuevo empleado, puede introducir una propiedad ReglaDeVa-

lidación (ValidationRule) que requiera que el valor del campo FechaInicio del empleado quede entre la fecha de

fundación de la compañía y la fecha actual. Si la fecha introducida no está en ese intervalo, puede mostrar el

mensaje de la propiedad TextoDeValidación (ValidationText): ―La fecha de inicio es incorrecta.‖

Si crea un control arrastrando un campo desde la lista de campos, la regla de validación del campo permanece en

efecto, aunque no se muestra en el cuadro de la propiedad ReglaDeValidación (ValidationRule) del control en la

hoja de propiedades. Esto se debe a que la regla de validación del campo es heredada por un control dependiente

de ese campo.

Las reglas de validación de control, campo y registro se aplican de la forma siguiente:

· Las reglas de validación establecidas para los campos y controles se aplican cuando se editan los datos y

el enfoque sale del campo o control.

· Las reglas de validación para los registros se aplican al moverse a otro registro.

· Si crea reglas de validación para un campo y un control dependiente del campo, ambas reglas de valida-

ción se aplican cuando se editan los datos y el enfoque sale del control.

La tabla siguiente contiene ejemplos de expresiones para las propiedades ReglaDeValidación (ValidationRule) y

TextoDeValidación (ValidationText).

Propiedad ReglaDeValidación (ValidationRule) Propiedad TextoDeValidación (ValidationText)

<> 0 La entrada debe ser un valor distinto de cero.

> 1000 O Es Nulo La entrada debe estar en blanco o ser mayor que 1000.

Como ―A????‖ La entrada debe tener 5 caracteres y comenzar por la letra ―A‖.

>= #1/1/96# Y <#1/1/97# La entrada debe ser una fecha de 1996.

"Madrid" o "Sevilla" o "Valencia" Sólo una de las tres ciudades.

Dbúsq(―IdCliente‖, ―Clientes‖, ―IdCliente = Forms!Clientes!IdCliente‖) Es Nulo La entrada debe ser un

IdCliente exclusivo (las funciones agregadas de dominio se permiten sólo para la validación a nivel de formula-

rio).

Si crea una regla de validación para un campo, Access normalmente no permite que se almacene un valor Null

en el campo. Si desea permitir un valor Null, agregue ―Es Nulo‖ a la regla de validación, como en ―<> 8 O Es

Nulo‖, y asegúrese de que la propiedad Requerido (Required) está establecida a No.

No es posible establecer reglas de validación de campo o registro para las tablas creadas fuera de Access (por

ejemplo, dBASE, Paradox, o SQL Server). Para este tipo de tablas, puede crear reglas de validación sólo para

controles.

Propiedad Requerido (Required)

Puede usar la propiedad Requerido (Required) para especificar si es necesario que exista un valor en un campo.

Si el valor de esta propiedad es Sí, al introducir datos en un registro deberá especificar un valor en el campo en

cualquier control dependiente del mismo, y además el valor no podrá ser Nulo. Por ejemplo, es posible que desee

asegurarse de que el control Apellidos tenga siempre un valor en todos los registros. Cuando desee permitir el

valor Nulo en un campo, no sólo deberá establecer No para la propiedad Requerido (Required), sino que, si la

propiedad ReglaDeValidación (ValidationRule) tiene algún valor deberá contener explícitamente ―re-

gla_de_validación O Es Nulo‖.

Nota: La propiedad Requerido (Required) no se aplica a los campos de tipo Autonumérico.

La propiedad Requerido (Required) puede tener los valores siguientes:

Valor Descripción Visual Basic

Sí El campo requiere un valor. True (–1)

No (Predeterminado) El campo no requiere un valor. False (0)

Puede establecer esta propiedad para todos los campos de una tabla (excepto para los de tipo Autonumérico) en

la hoja de propiedades de la tabla o Visual Basic.

Nota: Para tener acceso a la propiedad Requerido (Required) de un campo en Visual Basic, utilice la propiedad

Required de DAO.

Comentarios: El motor de base de datos Jet hace que se cumple la propiedad Requerido (Required) a nivel de

tabla.Si establece Sí en esta propiedad, el campo deberá recibir un valor o contenerlo ya cuando tenga el enfo-

que, cuando un usuario introduzca datos en una tabla (o en un formulario u hoja de datos basado en ella), cuando

una macro o Visual Basic establezcan el valor del campo o cuando se importen datos a la tabla.

Puede usar las propiedades Requerido (Required) y Permitir longitud cero (AllowZeroLength) para distinguir

entre la inexistencia de información (indicada por una cadena de longitud cero (― ―) almacenada en el campo) y

la información que puede existir, pero que se desconoce (almacenada como un valor Nulo en el campo). Si esta-

blece Sí en la propiedad Permitir longitud cero (AllowZeroLength), una cadena de longitud cero será una entrada

válida en el campo, independientemente del valor de la propiedad Requerido (Required)

Page 29: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 29

. Si establece Sí en Requerido (Required) y No en Permitir longitud cero (AllowZeroLength), deberá introducir

un valor en el campo, y no será válida una cadena de longitud cero.

Sugerencia: Puede utilizar una máscara de entrada al introducir datos en un campo para distinguir entre un valor

Nulo y la de una cadena de longitud cero. Por ejemplo, puede mostrarse la cadena ―Ninguno‖ cuando se introdu-

ce una cadena de longitud cero.

Si establece Sí en la propiedad Requerido (Required) de un campo de una tabla que ya contiene datos, Access le

dará la opción de comprobar o no si el campo tiene un valor en todos los registros existentes. Sin embargo, pue-

de obligar a que se especifique un valor para el campo en todos los registros nuevos incluso cuando existan re-

gistros con el valor Nulo en él.

Nota: Para forzar una relación entre tablas que no admitan valores Nulo, establezca Sí en la propiedad Requeri-

do (Required).del campo clave externa de la tabla relacionada. El motor de base de datos Jet asegurará entonces

que haya un registro relacionado en la tabla principal antes de poder crear un registro en la tabla secundaria. Si el

campo clave externa forma parte de la clave principal de la tabla secundaria, esto no es necesario, ya que una

clave principal no puede contener el valor Nulo.

Propiedad Indexado

Puede usar la propiedad Indexado para establecer un índice de un solo campo. Los índices hacen que las consul-

tas basadas en los campos indexados sean más rápidas, y también aceleran las operaciones de ordenación y agru-

pación. Por ejemplo, si busca empleados basándose en un campo llamado Apellidos, puede crear un índice para

este campo para hacer más rápida la búsqueda.

La propiedad Indexado puede tener los valores siguientes:

Valor Descripción

No (Predeterminado) Sin índice.

Sí (Con duplicados) El índice admite valores duplicados.

Sí (Sin duplicados) El índice no admite valores duplicados.

Sólo puede establecer esta propiedad en la sección Propiedades del campo de la vista Diseño de la tabla. Puede

establecer un índice de un solo campo estableciendo la propiedad Indexado en la sección Propiedades del campo

de la vista Diseño de tabla. Para establecer índices formados por varios campos, abra la ventana Índices haciendo

clic en el comando Índices del menú Ver.( ALT+ V, N. )

Si agrega un índice de un solo campo en la ventana Índices, Access establecerá Sí en la propiedad Indexado de

ese campo.

En Visual Basic, utilice el método CreateIndex de DAO para crear un índice de un solo campo.

Comentarios: Puede usar la propiedad Indexado para buscar y ordenar registros con un solo campo de una tabla.

Este campo puede contener valores únicos o No. Por ejemplo, puede crear un índice con un campo llamado

IdEmpleado para una tabla Empleados en la que cada identificador de empleado sea único, o también un índice

con el campo Nombre, en el que algunos nombres pueden estar duplicados.

Nota: No es posible crear índices con los campos de tipo Memo, Hipervínculo u Objeto OLE.

Puede crear tantos índices como precise. Los índices se crean al guardar la tabla, y se actualizan automáticamen-

te al modificar o agregar registros. En cualquier momento puede agregar o eliminar índices en la vista Diseño de

la tabla.

Sugerencia: Puede especificar texto utilizado habitualmente al comienzo o al final de un nombre de campo

(como ―Id‖, ―código‖ o ―núm‖) en la opción Autoindexar al importar ocrear de la ficha Tablas/Consultas, que

aparece al hacer clic en el comando Opciones del menú Herramientas. Al importar archivos de datos que conten-

gan ese texto en el nombre de sus campos, Access creará un índice los mismos.

Si la clave principal de una tabla es un solo campo, Access establecerá automáticamente la propiedad Indexado

de ese campo a Sí (Sin duplicados).

Si desea crear índices con múltiples campos, utilice la ventana Índices.

Ficha Búsqueda en Diseño de Tabla, con Cuadro de Lista o Combinado. Propiedad Mostrar control

Puede utilizar la propiedad Mostrar control en la vista Diseño de la tabla para especificar el control predetermi-

nado que desee emplear para mostrar un campo.

Puede establecer la propiedad Mostrar control en la hoja de propiedades de la tabla, en la vista Diseño de la ta-

bla, haciendo clic en la ficha Búsqueda de la sección Propiedades del campo.

Esta propiedad contiene una lista desplegable con los controles disponibles para el campo seleccionado. En el

caso de campos de tipo Texto o Número, en esta propiedad se puede establecer Cuadro de texto, Cuadro de lista

o Cuadro combinado. Para los campos de tipo Sí/No, en la propiedad puede establecerse Casilla de verificación,

Cuadro de texto o Cuadro combinado.

Comentarios:

Al seleccionar un control para esta propiedad, aparecen en la ficha Búsqueda las propiedades adicionales necesa-

rias para configurarlo.

Sugerencia: Puede hacer que Access establezca la propiedad Mostrar control y las relacionadas con ella selec-

cionando Asistente para búsquedas como el tipo de datos para el campo.

La configuración de esta propiedad y de las del control relacionado afectará a la forma en que aparece el campo

en la vista Hoja de datos y en la vista Formulario. El campo se muestra a través del control, y con las propieda-

Page 30: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

30 TABLAS - MENUS EN VISTA DISEÑO. Págs. 155

des del control establecidas en la vista Diseño de la tabla. Si un campo tiene establecida su propiedad Mostrar

control en la vista Diseño de la tabla y lo arrastra desde la lista de campos en la vista Diseño del formulario,

Access copiará las propiedades correspondientes en la hoja de propiedades del control.

Propiedades que puede utilizar para crear o modificar cuadros de lista y cuadros combinados, Resumen.

Cuando utilice un asistente para crear un cuadro de lista o cuadro combinado, Access establecerá determinadas

propiedades para el control. Puede trabajar directamente con estas propiedades si no desea utilizar el asistente

para crear el control, o puede utilizar un asistente para crear el control y, a continuación, modificar estas propie-

dades para hacer que el control funcione exactamente de la forma que el usuario desea. Para averiguar más sobre

alguna de las siguientes propiedades, haga clic en la hoja de la propiedad y presione F1.

Nota: Si está creando o modificando un cuadro de lista o cuadro combinado dependiente, puede establecer estas

propiedades en la vista Diseño de la tabla en vez de utilizar la hoja de propiedades del control. De esta forma,

puede especificar las propiedades solamente una vez. Cuando agregue un campo al formulario, Access creará de

forma automática el control basado en las propiedades que el usuario especificó.

Propiedad Descripción

TipoDeOrigenDeLaFila Funciona junto con la propiedad OrigenDeLaFila. Se especifica el tipo de origen de la

fila (tabla/consulta, lista valores, lista campos, o función Visual Basic) utilizando esta propiedad y especificando

después el origen de la fila actual en la propiedad OrigenDeLaFila. Para ampliar: Ver Pág 66, Propiedades Tipo

de Origen y Origen de la Fila.

OrigenDeLaFila Especifica el nombre de la tabla, consulta o instrucción SQL, si TipoDeOrigenDeLaFila está

establecido a Tabla/Consulta. Especifica las entradas en la lista, separadas por punto y coma, si TipoDeOrigen-

DeLaFila está establecida a Lista Valores. Especifica el nombre de la tabla o consulta si TipoDeOrigenDeLaFila

está establecido a Lista Campos. Está en blanco si TipoDeOrigenDeLaFila está establecido con un nombre de

función. Para ampliar: Ver Pág 66, Propiedades Tipo de Origen y Origen de la Fila.

ColumnaDependiente En un cuadro de lista o cuadro combinado de columnas múltiples dependientes, espe-

cifica qué columna está vinculada con el campo base especificado en la propiedad OrigenDelControl. Los datos

de esa columna serán almacenados en el campo cuando seleccione el objeto en la lista. Estos datos pueden

ser diferentes de los datos presentados en la lista si se oculta la columna. Para ampliar: Ver Pág 67, Propie-

dad Columna Dependiente.

NúmeroDeColumnas Especifica el número de columnas en un cuadro de lista o cuadro combinado. Puede

incluir una columna pero no presentarla en una lista mediante el establecimiento de la propiedad AnchuraDeCo-

lumna. Puede desear hacer esto si tiene una lista que busca valores en una tabla o consulta. Puede incluir un

campo de Id. Que no aparezca en la lista. En un cuadro combinado, la primera columna visible en la lista se

muestra en la porción del cuadro de texto del cuadro combinado.

AnchuraDeColumnas Especifica el ancho de cada columna, utilizando punto y coma como separador. Intro-

duzca 0 para ocultar una columna. Introduzca un punto y coma sin ninguna medida para utilizar el valor prede-

terminado (alrededor de 1‖ ó 2.5 cm, dependiendo de la unidad de medida establecida en Panel de Control de

Windows). En un cuadro combinado, la primera columna visible se muestra en el cuadro de texto del control. El

tipo de datos de cualquier valor que escriba en el cuadro combinado debe ser el mismo o compatible con el tipo

de datos de la primera columna visible.

EncabezadosDeColumna Determina si los nombres de los campos del origen de la fila base para un

cuadro combinado o cuadro de lista son utilizados como encabezados de columna en el cuadro combinado o

cuadro de lista. Los encabezados aparecen en los cuadros combinados solamente cuando se despliega la lista.

AnchuraDeLaLista Especifica el ancho de la porción del cuadro de lista de un cuadro combinado.

FilasEnLista Especifica el número máximo de filas que se van a mostrar en la porción del cuadro de lista de

un cuadro combinado.

LimitarALista Determina si un cuadro combinado acepta cualquier texto introducido o solamente texto que

coincida con uno de los valores de la lista. Si desea agregar a la lista un nuevo valor que el usuario introducirá,

establezca la propiedad a No y agregue un procedimiento de evento a la propiedad AlNoLaLista.

AlNoEnLista Ejecuta el procedimiento de evento adjunto cuando ocurre el evento NotInList. Puede utilizar

esta propiedad para agregar de forma automática un valor nuevo a la lista. Esta propiedad no está disponible en

la ficha Buscar en la vista Diseño de la tabla.

ExpansiónAutomática Especifica si Access rellena de forma automática un valor que coincida con los carac-

teres que se introducen en un cuadro combinado. Esta propiedad no está disponible en la ficha Buscar en la vista

Diseño de la tabla.

MostrarControl Especifica el tipo de control (cuadro combinado o cuadro de lista) que Access crea de forma

predeterminada cuando se agrega un campo de búsqueda a un formulario. Esta propiedad está disponible en la

ficha Buscar en la vista Diseño de la tabla

Relaciones Una vez creadas tablas diferentes para cada tema de la base de datos, necesita una forma de indicarle a Access

cómo debe volver a combinar esa información. El primer paso de este proceso es definir relaciones entre las

tablas. Una vez realizada esta operación, puede crear consultas, formularios e informes para mostrar información

de varias tablas a la vez.

Page 31: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 31

Ejemplo de relación: para saber los clientes que pidieron un producto, hay que incluir también tabla Orders,

aparte de Customers y Order Details. (Northwind), ya que Orders las relaciona entre sí.

Desde Herramientas (Relaciones) hacer doble Clic en la Línea de Combinación (Relación) entre dos tablas para

ver o establecer el tipo de relación entre dos tablas, Integridad referencial y Tipo de Combinación.

Definir relaciones entre tablas

1 Cierre todas las tablas que estén abiertas. No es posible crear ni modificar relaciones entre tablas abiertas.

2 Si se encuentra en otra ventana, cámbiese a la ventana Base de datos. Puede presionar F11 para cambiar a la

ventana Base de datos desde cualquier otra ventana.

3 Haga clic en Relaciones en la barra de herramientas.

4 Si la base de datos no tiene ninguna relación definida, se mostrará automáticamente el cuadro Mostrar tabla. Si

necesita agregar las tablas que desea relacionar y no aparece el cuadro de diálogo Mostrar tabla, haga clic en

Mostrar tabla en la barra de herramientas. Si las tablas que desea relacionar ya están mostradas, continúe en el

paso 6.

5 Haga doble clic en los nombres de las tablas que desea relacionar y, a continuación, cierre el cuadro de diálogo

Mostrar tabla.

6 Arrastre el campo que desea relacionar de una tabla al campo relacionado de la otra tabla.

Para arrastrar varios campos, presione la tecla CTRL y haga clic en cada campo antes de arrastrarlo.

En la mayoría de los casos, se arrastra el campo de clave principal (mostrado en texto en negrita) de una tabla a

un campo similar (normalmente con el mismo nombre) denominado la clave externa de la otra tabla. Los campos

relacionados no tienen que tener los mismos nombres, pero deben tener el mismo tipo de datos (con dos excep-

ciones) y deben contener el mismo tipo de información. Además, cuando los campos coincidentes son campos

Numéricos, deben tener el mismo valor de la propiedad Tamaño del campo. Las dos excepciones a los tipos de

datos coincidentes son que se puede hacer coincidir un campo Autonumérico con un campo Numérico cuya

propiedad Tamaño del campo esté establecida a Entero largo y que se puede hacer coincidir un campo Auto-

numérico con un campo Numérico si ambos campos tienen la propiedad Tamaño del campo establecida a Id. De

réplica.

7 Aparecerá el cuadro de diálogo Relaciones. Compruebe los nombres de los campos mostrados en las dos co-

lumnas para asegurarse de que son correctos. Puede cambiarlos si es necesario.

Si es preciso, establezca las opciones de relación. Para obtener información acerca de un elemento específico del

cuadro de diálogo Relaciones, haga clic en el botón de signo de interrogación y, a continuación, haga clic en el

elemento.

8 Haga clic en el botón Crear para crear la relación.

9 Repita los pasos 5 a 8 para cada pareja de tablas que desee relacionar.

Al cerrar la ventana Relaciones, Access pregunta si desea guardar el diseño. Independientemente de si lo guarda

o no, las relaciones creadas se guardan en la base de datos.

Notas

· Si necesita ver todas las relaciones definidas en la base de datos, haga clic en Mostrar todas las relacio-

nes en la barra de herramientas. Para ver sólo las relaciones definidas para una tabla determinada, haga clic en la

tabla y, a continuación, haga clic en Mostrar relaciones directas en la barra de herramientas.

· Si necesita realizar un cambio en el diseño de una tabla, puede hacer clic con el botón secundario del

ratón en la tabla que desea modificar y, a continuación, hacer clic en Diseño de tabla.

· Puede crear relaciones utilizando tanto consultas como tablas. Sin embargo, la integridad referencial no

se exige en las consultas.

· Para crear una relación entre una tabla y sí misma, agregue esta tabla dos veces. Esto resulta útil en

situaciones en las que necesita realizar una búsqueda dentro de la misma tabla. Por ejemplo, en la tabla Emplea-

dos de la base de datos de ejemplo Neptuno, se ha definido una relación entre los campos Id. De empleado y

Jefe, de modo que el campo Jefe pueda mostrar datos de los empleados procedentes de un Id. De empleado coin-

cidente.

Integridad referencial.

Los registros de la tabla relacionada siempre deben tener una registro con la misma clave principal en la tabla

primaria, aunque sólo si: el campo o campos coincidentes de la tabla principal es una clave principal o tiene un

índice único, los campos relacionados tienen el mismo tipo de datos y ambas tablas están almacenadas en la

misma base de datos .

Active la casilla Exigir integridad referencial y a continuación Actualizar en cascada los campos relacionados

para actualizar automáticamente los valores correspondientes de la tabla relacionada cuando se cambie un valor

de la clave principal en la tabla principal.

Active la casilla Exigir integridad referencial y desactive Actualizar en cascada los campos relacionados para

impedir que se realicen cambios en un valor de la clave principal en la tabla principal, siempre que haya registros

relacionados en la tabla relacionada.

Active la casilla Exigir integridad referencial y a continuación Eliminar en cascada los registros relacionados

para eliminar automáticamente los registros relacionados en la tabla relacionada siempre que se elimine un regis-

tro de la tabla principal.

Page 32: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

32 CONSULTAS - MENUS VISTA HOJA DE DATOS Págs. 155

Active la casilla Exigir integridad referencial y desactive Eliminar en cascada los registros relacionados para

impedir que se eliminen registros de la tabla principal cuando existen registros relacionados en la tabla relacio-

nada.

Propiedades de la combinación.

Para definir registros a incluir de tabla relacionada y principal:

1.- Los campos clave deben existir en ambas tablas.

2.- Todos los registros de tabla principal y los que coincidan de la relacionada.

3—Todos los registros de la tabla relacionada y los que coincidan de la principal.

Se puede crear una relación con una copia de la misma tabla (autorelacionada) para, por ejemplo,

buscar en la 2da tabla los datos del campo Jefe de la Tabla Empleados principal. Para ello se crea una relación

entre el campo Jefe de la tabla principal y IdEmpleado de la relacionada.

CONSULTAS Las consultas se usan para ver, cambiar y analizar datos de distintas maneras. También se pueden usar como

origen de registros para formularios e informes.

El tipo de consulta más común es la consulta de selección. Una consulta de selección recupera datos de una o

más tablas usando los criterios que especifique y, a continuación, los muestra en el orden deseado.

Las consultas obtienen datos de dos o más tablas relacionadas, buscan datos que cumplen criterios y calculan

totales. Algunas consultas se utilizan como la base de un formulario o informe; otras se utilizan para manipular

datos, cuyos resultados puede ver en la hoja de datos de la consulta.

Cree una consulta con un asistenmte o desde el principio en la vista Diseño de la consulta. Abrir las tablas o

consultas para utilizar en la consulta, en Consulta, diseño, con ALT+C, M. y arrastrar los campos al panel de

consulta (cuadrícula), en el orden que se deseen.

En diseño se pueden pasar todos los campos seleccionando con doble-clic o arrastrando el Título, ó en *. El

asterisco pasa nombre de tabla + * (Personal.*). Con * no se puede especificar criterio ni ordenar, a no ser que se

repita el campo a tratar (y poner no mostrar). Con * siempre se refleja automáticamente todo cambio que se haya

hecho en la tabla, como agregar o eliminar campos.

Para cambiar nombre de columna de Consulta., anteponer el nuevo y dos puntos. Ej.: AGENTE VENTAS.: ID

Empleado (aparece ―AGENTE VENTAS‖), o si no en Propiedades de ese campo, Título.

Zoom: MAY+F2. Amplía el espacio del campo.

Ejemplo de Diseño de Consulta. Mostrar Clientes de Madrid con Pedidos de Artículos que comiencen con "Tra-

je" y su cantidad. El campo Población no se muestra (todo Madrid). Observar los Campos de Relación y su tipo

entre las Tablas y cómo se pueden asociar los campos de Artículos con los de Clientes.

CONSULTAS - MENUS VISTA HOJA DE DATOS Son iguales que los Menús de Vista de Tablas, excepto Menú Ver, Vista SQL, que también está en Diseño..

CONSULTAS - MENUS VISTA DISEÑO MENU EDICION

Eliminar columnas: En la vista Diseño de la consulta y en la ventana Filtro u orden avanzado, elimina la co-

lumna seleccionada de la cuadrícula de diseño, lo que a su vez elimina un campo de la consulta o filtro activo.

Para seleccionar una columna, haga clic en el selector de columna; la eliminación de una columna en la cuadrí-

cula de diseño no supone su eliminación en la tabla base.

En la vista Hoja de datos de la tabla, elimina de forma permanente la columna seleccionada. Para seleccionar una

columna, haga clic en el selector de campo.

Page 33: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 33

Borrar cuadrícula / Borrar filtro: Borra los campos en la cuadrícula o en el filtro. Además, en la vista Diseño

de la consulta, borra los parámetros que pudiera haber en el cuadro de diálogo Parámetros de la consulta. Se

borran los campos en la cuadrícula pero no en la tabla base.

MENU VER

Vista SQL: Muestra la vista SQL donde puede ver y modificar una consulta utilizando el lenguaje de consulta

estructurado (Structured Query Language, SQL). Los cambios realizados en la ventana SQL se reflejan en la

vista Diseño de la consulta y viceversa (excepto para las consultas específicas de SQL).

SQL. Trabajar con SQL en consultas, formularios, informes, macros y módulos:

Puede utilizar el Lenguaje estructurado de consultas SQL, para consultar, actualizar y administrar bases de datos

relacionales, tales como Access. Cuando se crea una consulta en la vista Diseño, Access construye en segundo

plano la instrucción de SQL equivalente. Puede ver o editar la instrucción SQL en la vista SQL. Después de

hacer modificaciones en una consulta en la vista SQL, ésta puede no presentarse en la forma que tenía anterior-

mente en la vista Diseño de la consulta.

Algunas consultas no se pueden crear en la cuadrícula de diseño. Para consultas de paso a través, de definición

de datos y de unión, debe crear instrucciones SQL directamente en la vista SQL.

En Access se pueden utilizar instrucciones SQL en muchos lugares, donde se pueda introducir el nombre de una

tabla, consulta o campo. En algunos casos, Access rellena la sentencia SQL. Por ejemplo, cuando utiliza un

asistente para crear un formulario o un informe que toma datos de más de una tabla, Access crea automática-

mente la instrucción SQL que utiliza como valor para la propiedad OrigenDelRegistro (RecordSource) del for-

mulario o informe. Cuando se utiliza un asistente para crear un cuadro de lista o un cuadro combinado, Access

crea la instrucción SQL y la utiliza como valor para la propiedad OrigenDeLaFila (RowSource) del cuadro de

texto o combinado. Se pueden utilizar instrucciones SQL en subconsultas en la cuadrícula de diseño de consulta,

en el argumento de la instrucción SQL de la macro RunSQL y en código. La forma más fácil de construir una

instrucción SQL es crear una consulta en la cuadrícula de diseño de la consulta, cambiar a vista SQL, y copiar y

pegar la instrucción SQL correspondiente en su código. Ver Consulta Específica SQL.

Ver o modificar la instrucción SQL que está detrás de una consulta existente:

Si está familiarizado con SQL, puede que desee trabajar directamente con la instrucción SQL en la que se basa la

consulta.

1 Cree una consulta o abra una existente.

2 Haga clic en la flecha al lado del botón Ver en la barra de herramientas y haga clic en la vista SQL.

Access presenta la instrucción SQL equivalente a lo creado en la vista Diseño.

3 Si desea hacer cambios, escríbalos en la instrucción SQL.

4 Para ver los cambios en la cuadrícula de diseño, haga clic en la flecha al lado del botón Vista en la barra

de herramientas y haga clic en la vista Diseño.

Generar instrucciones SQL que incluyan variables y controles:

Cuando se trabaja con objetos de acceso a datos (DAO), puede que necesite construir una instrucción SQL en el

código. Por ejemplo, si está creando un nuevo objeto QueryDef, es necesario establecer su propiedad SQL a una

cadena SQL válida. Es muy posible que también necesite una instrucción SQL cuando cree un objeto Recordset.

La forma más fácil de construir una instrucción SQL es crear una consulta en la cuadrícula de diseño de la con-

sulta, cambiar a vista SQL, y copiar y pegar la instrucción SQL correspondiente en su código.

A menudo una consulta debe estar basada en valores que suministra el usuario o que cambian en situaciones

diferentes. Si éste es el caso, necesitará incluir variables o valores de control en la consulta. El motor de base de

datos Jet procesa todas las instrucciones SQL, pero no las variables o los controles. Por tanto, debe construir su

instrucción SQL de forma que Access determine primero estos valores y luego los concatene en la instrucción

SQL que se pasa al motor de base de datos Jet.

El siguiente ejemplo muestra cómo crear un objeto QueryDef con una simple instrucción SQL. Esta consulta

devuelve todos los pedidos desde una tabla Pedidos que fue colocada después del 31-3-96:

Dim dbs As Database, qdf As QueryDef, cadSQL As String

Set dbs = CurrentDb

cadSQL = ―SELECT * FROM Pedidos WHERE FechaPedido >#3-31-96#;‖

Set qdf = dbs.CreateQueryDef(―SegundoTrimestre‖, cadSQL)

El siguiente ejemplo crea el mismo objeto QueryDef usando un valor almacenado en una variable. Observe el

signo numérico (#) que denota que los valores de la fecha deben ser incluidos en la cadena de forma que sean

concatenados con el valor de la fecha.

Dim dbs As Database, qdf As QueryDef, cadSQL As String

Dim dteStart As Date

dteStart = #3-31-96#

Set dbs = CurrentDb

cadSQL = ―SELECT * FROM Pedidos WHERE FechaPedido‖ _

& ―> #‖ & fechaComienzo & ―#;‖

Set qdf = dbs.CreateQueryDef(―SegundoTrimestre‖, cadSQL)

Page 34: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

34 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

El siguiente ejemplo crea un objeto QueryDef usando un valor en un control llamado FechaPedido en un formu-

lario Pedidos. Observe que se suministra la referencia completa al control y que se incluye el signo numérico (#)

que denota la fecha dentro de la cadena.

Dim dbs As Database, qdf As QueryDef, cadSQL As String

Set dbs = CurrentDb

cadSQL = ―SELECT * FROM Pedidos WHERE FechaPedido‖ _

& ―> #‖ & Forms!Pedidos!FechaPedido & ―#;‖

Set qdf = dbs.CreateQueryDef(―SegundoTrimestre‖, cadSQL)

Totales.

Alterna entre ocultar y mostrar la fila Total en la cuadrícula de diseño de la consulta en los siguientes tipos de

consulta: selección, tabla de referencias cruzadas, creación de tabla y datos anexados. Se utiliza para agrupar los

datos de la consulta activa o realizar cálculos acumulativos, como promedios y cuentas.

Funciones agregadas y otras opciones de la fila Total en diseño de la consulta Nueve de las 12 opciones en la fila Total de la cuadrícula de diseño de la consulta son funciones agregadas. To-

das excepto las funciones Primero y Último se explican en la siguiente tabla. Las otras tres opciones de la lista se

explican en la segunda tabla.

Nota Las funciones agregadas no incluirán registros que contengan valores en blanco (Nulo) en sus cálculos.

Por ejemplo, la función Cuenta (Count) devuelve la suma de todos los registros sin valores Null. Hay una forma

de contar los valores Null y es posible convertir los valores Null a ceros en un cálculo.

Suma Total de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico

Prom Promedio de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico

Mín Menor valor de un campo. Texto, Número, Fecha/Hora, Moneda y AutoNumérico

Máx Mayor valor de un campo. Texto, Número, Fecha/Hora, Moneda y AutoNumérico

Cuenta Número de valores de un campo, sin contar los valores Null (en blanco). Texto, Memo, Número,

Fecha/Hora, Moneda, AutoNumérico, Sí/No y Objeto OLE

DesvEst Desviación estándar de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico

Var Varianza de los valores de un campo. Número, Fecha/Hora, Moneda y AutoNumérico

Las funciones Primero y Ultimo son análogas a los métodos MoveFirst y MoveLast de un objeto Recordset del

DAO. Simplemente devuelven el valor de un campo especificado en el primer o el último registro, respectiva-

mente, del conjunto de resultados devuelto por una consulta. Puesto que los registros se devuelven habitualmente

sin un orden concreto (a menos que la consulta incluya una cláusula ORDER BY), los registros devueltos por

estas funciones serán arbitrarios.

Seleccione Para

Agrupar por Definir los grupos para los que desea realizar los cálculos. Por ejemplo, para mostrar las ventas

totales por categoría, seleccione Agrupar por para el campo NombreCategoría.

Expresión Crear un campo calculado que incluya una función agregada en su expresión. Normalmente,

creará un campo calculado cuando desee utilizar múltiples funciones en una expresión.

Donde Especificar los criterios de un campo que no esté utilizando para definir los grupos. Si selecciona esta

opción para un campo, Access ocultará el campo en los resultados de la consulta desactivando la casilla de veri-

ficación Mostrar.

Ejemplos para totalizar por grupos.

y aparece ―Group by‖ en cada campo en línea Total. Reemplazar ―Group by‖ según se estime con Sum (suma

(el grupo o todos), Avg, Min, Max, Count, StDev (standard deviation), Var (variance), First, Last).

En la fila, todos los campos deben tener ―Group by‖ o un concepto de total.

Ejemplos:

Product ID Unit Price (Total de registros y su precio medio.)

Total: Count Avg

Category ID Product Name (Cuantos por cada grupo.)

Total: Group by Count

Se agrupan varios de izq. a der.

Ship Country Customer ID Order Amount

Total: Group by Group by Sum

(Total de cada cliente por Orden de país.)

Ship Country Customer ID Order ID

Total: Group by Group by Count

Criteria: ―Canada‖ or ―UK‖ >15

(Cantidad de Pedidos por cliente de más de 15 pedidos de Canadá y UK.)

Para seleccionar registros antes de concepto de total, utilizar ―Where‖:

Ship Country Customer ID Order ID Order Amount

Page 35: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 35

Total: Group by Group by Count Where

Criteria: >2000 (no show)

(Cantidad de Pedidos por Cliente de más de 2000)

Custmer ID Freight Percentage:Format(Sum([Freight]/Sum([Order Amount],‖0%‖)

Total: Group by Expression

(Porcentaje de Freight cargado a cada cliente.)

Vendedor: [Apellidos]&‖, ―&[Nombre] (de tabla Empleados)

Total: Suma([Cantidad]*[PrecioUnidad]) (de tabla Detalle de Pedidos)

FechaPedido (de tabla Pedidos)

Total: Group by Expression Where

Orden: Descendent

Criteria: Entre [Calcular desde fecha:] y [a fecha:]

Ej.: Mejores tres vendedores: En propiedad de la consulta se pone 3 en Valores Superiores

Nombres de tabla: Alterna entre mostrar y ocultar los nombres de las tablas inmediatamente debajo del nombre

del campo en la cuadrícula de diseño. Mostrar los nombres de las tablas ayuda a saber a qué tabla pertenece cada

campo en las consultas sobre varias tablas.

MENU CONSULTA

Ejecutar: Muestra los resultados en la vista Hoja de datos de las consultas de selección y de tabla de referencias

cruzadas, y de las consultas de combinación SQL y de paso que devuelven datos. Cambia, copia o elimina datos

o crea un objeto de base de datos para consultas de acción (creación de tabla, actualización, datos anexados y

eliminación), y para las consultas de definición de datos SQL y consultas de paso SQL. Antes de ejecutar estas

consultas de acción, compruebe en la vista Hoja de datos los registros que serán afectados.

Mostrar tabla: Muestra una o más tablas o consultas que puede agregar a la ventana Relaciones o la consulta

activa en la vista Diseño de consulta.

Quitar tabla: Quita la tabla o consulta seleccionada de la consulta activa. Seleccione la tabla o consulta hacien-

do clic en cualquier parte de su lista de campos. Al quitar una tabla o consulta se elimina su contenido de la

cuadrícula de diseño, pero no se elimina de la base de datos activa.

Consulta de selección Convierte la consulta activa en una consulta de selección, que busca registros en una o mas tablas, a menudo en

base a criterios. La consulta de selección es el tipo de consulta predeterminado. Una consulta de selección es el

tipo de consulta más habitual. Este tipo de consulta obtiene los datos de una o más tablas y muestra los resulta-

dos en una hoja de datos en la que puede actualizar los registros (con algunas restricciones). También puede

utilizar una consulta de selección para agrupar los registros y calcular sumas, cuentas, promedios y otros tipos de

totales.

¿Qué es una consulta de selección y cuándo se usa?

Una consulta de selección es el tipo de consulta más habitual. Este tipo de consulta obtiene los datos de una o

más tablas y muestra los resultados en una hoja de datos en la que puede actualizar los registros (con algunas

restricciones). También puede utilizar una consulta de selección para agrupar los registros y calcular sumas,

cuentas, promedios y otros tipos de totales.

Crear una consulta de selección sin un asistente

1 En la ventana Base de datos, haga clic en la ficha Consultas y, a continuación, haga clic en Nuevo.

2 En el cuadro de diálogo Nueva consulta, haga clic en Vista Diseño y, a continuación, elija Aceptar.

3 En el cuadro de diálogo Mostrar tabla, haga clic en la ficha que enumera los objetos con cuyos datos

desea trabajar.

4 Haga doble clic en el nombre de cada objeto que desea agregar a la consulta y, a continuación, haga clic

en Cerrar.

5 Si tiene varias tablas o consultas en la consulta, asegúrese de que están conectadas entre sí mediante una

línea de combinación, de modo que Access sepa cómo está relacionada la información. Si no están conectadas,

cree usted mismo la línea de combinación.

Si las tablas o consultas están combinadas, puede cambiar el tipo de combinación para que afecte a qué registros

selecciona la consulta.

6 Agregue campos a la consulta arrastrando los nombres de los campos desde la lista de campos hasta la

cuadrícula de diseño.

7 Mejore la consulta; para ello, introduzca criterios, agregue un orden, cree campos calculados, calcule la

suma, el promedio, la cuenta u otro tipo de total con los datos recuperados o modifique de otro modo el diseño

de la consulta.

8 Para guardar la consulta, haga clic en Guardar en la barra de herramientas. Escriba un nombre que

siga las reglas para nombrar objetos de Access y elija Aceptar.

9 Para ver el resultado de la consulta, haga clic en Ver en la barra de herramientas.

Page 36: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

36 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

Crear una consulta de selección sencilla mediante un asistente

El Asistente para consultas sencillas crea consultas que recuperan datos de los campos especificados en una o

más tablas o consultas. Si lo desea, el asistente también puede sumar, contar y obtener el promedio de los valores

de grupos de registros o de todos los registros y puede calcular el valor mínimo o máximo de un campo. No

obstante, no es posible limitar los registros recuperados mediante el establecimiento de criterios.

1 En la ventana Base de datos, haga clic en la ficha Consultas y, a continuación, haga clic en Nuevo.

2 En el cuadro de diálogo Nueva consulta, haga clic en Asistente para consultas sencillas.

3 Elija Aceptar.

4 Haga clic en el nombre de la tabla o consulta en la que desea basar la consulta y, a continuación, selec-

cione los campos cuyos datos desea recuperar.

5 Haga clic en una tabla o consulta adicional si lo desea y, a continuación, seleccione los campos que

desea utilizar de ella. Repita este paso hasta que disponga de todos los campos que necesite.

6 Siga las instrucciones de los cuadros de diálogo del asistente. En el último cuadro de diálogo, puede

seleccionar si desea ejecutar la consulta o ver la estructura de la consulta en la vista Diseño.

Si la consulta resultante no es exactamente como deseaba, puede volver a ejecutar el asistente o cambiar la con-

sulta en la vista Diseño.

Consulta de tabla de referencias cruzadas Convierte la consulta activa en una consulta de tabla de referencias cruzadas, que totaliza los datos en formato de

hoja de cálculo utilizando como columnas los valores de un campo o expresión. Por ejemplo, para mostrar las

ventas totales mensuales de cada empleado, presente los meses del año como columnas y los vendedores como

filas. 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, con sus valores en el cruce

de ambos. .

Por ejemplo, para no repetir el mismo vendedor para cada concepto de venta. El vendedor se agruparía en las

filas y los conceptos de venta en columnas.

Sugerencia: Puede mostrar datos de una tabla de referencias cruzadas sin crear una consulta independiente en la

base de datos mediante el Asistente para tablas dinámicas. Con una tabla dinámica, puede cambiar los encabeza-

dos de fila y columna según desee para analizar los datos de distintos modos. En la barra de herramientas, haga

clic en la flecha que se encuentra junto al botón Nuevo objeto y haga clic en Formulario. En el cuadro de diálogo

Nuevo formulario, haga clic en Asistente para tablas dinámicas.

Notas: Debe tener al menos un Row Heading y sólo un Column Heading y sólo un Value.

En Query Properties se puede indicar orden de columnas entres ;s Ej.:

Company Name Expr.1:Format ([Order Date],‖Mmm‖) Order ID Order Date

Total: Group by Group by Count Where

Crsstab: Row Heading Column Heading Value

Criteria: *-*-96 (no show)

En .Query Prop. Especificar ―Fixed‖ y poner Ene;Feb;etc. (si no, los saca alfabético)

(Cantidad de Pedidos por Cliente cada mes durante el año 1996.)

Crear una consulta de tabla de referencias cruzadas sin usar un asistente

1 En la ventana Base de datos, haga clic en la ficha Consultas y, después, haga clic en Nueva.

2 En el cuadro de diálogo Nueva consulta, haga clic en Vista diseño y, después, haga clic en Aceptar.

3 En el cuadro de diálogo Mostrar tabla, haga clic en la ficha que relaciona las tablas o consultas con

cuyos datos desea trabajar.

4 Haga doble clic en el nombre de cada objeto que desee agregar a la consulta y, después, haga clic en

Cerrar.

5 Agregue campos a la fila Campos en la cuadrícula de diseño y especifique los criterios.

6 En la barra de herramientas, haga clic en Tipo de consulta y después haga clic en Consulta de tabla de

referencias cruzadas.

7 Para el campo o los campos cuyos valores desea que aparezcan como filas, haga clic en la fila Tab ref

cruz y, después, haga clic en Encabezado de fila.

Tiene que mantener el Agrupar por predeterminado en la fila Total de esos campos.

8 Para el campo cuyos valores desee que aparezcan como encabezados de columnas, haga clic en la fila

Tab ref cruz y, después, haga clic en Encabezado de columna. Puede elegir Encabezado de columna para un solo

campo y debe mantener Agrupar por en la fila Total de ese campo.

De forma predeterminada, los encabezados de columnas se presentan en orden alfabético o numérico. Si desea

que aparezcan en un orden diferente o si desea limitar las columnas que muestren encabezados, establezca la

propiedad EncabezadosDeColumna (ColumnHeadings) de la consulta.

9 En el campo cuyos valores desee utilizar en la tabla de referencia cruzada, haga clic en la fila Tab ref

cruz y, después, haga clic en Valor.

Sólo un campo puede establecerse a Valor.

10 En la fila Total de este campo, haga clic en el tipo de función agregada que desea para la referencia

cruzada (como Suma, Promedio o Cuenta).

Page 37: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 37

11 Para especificar criterios que limiten los encabezados de filas antes de que se realice el cálculo, escriba

una expresión en la fila Criterios de un campo con Encabezado de fila en la celda Tab ref cruz. Esto permite, por

ejemplo, presentar los totales de ventas de productos de ciertas categorías, como carne y pescado.

Para especificar criterios que limiten los registros antes de que se agrupen los encabezados de fila y antes de que

se realicen las referencias cruzadas, agregue el campo para el que desee establecer criterios en la cuadrícula de

diseño, haga clic en Dónde en la celda Total, deje en blanco la celda Tab ref cruz y escriba una expresión en la

fila Criterios. (Los resultados de la consulta no presentarán campos que contengan Dónde en la fila Total.)

12 Para ver los resultados de la consulta, haga clic en el botón Vista de la barra de herramientas.

Para detener la consulta después de haberla iniciado, presione CTRL+PAUSA

Notas:· La consulta Pedidos trimestrales por producto de la base de datos de ejemplo Neptuno es un ejemplo de

consulta de tabla de referencias cruzadas. Para ver esta consulta, abra la base de datos Neptuno en la subcarpeta

Ejemplos de la carpeta del programa Office. En la ventana Base de datos, haga clic en la ficha Consultas, haga

clic en Pedidos trimestrales por producto y, después, haga clic en Diseño.

· Si incluye un campo en la cuadrícula de diseño de la consulta pero hace clic en la opción (Sin mostrar)

en la celda Tab ref cruz y establece Agrupar por en la celda Total, Access agrupará según la misma como Enca-

bezado de fila, pero no presentará la fila en los resultados de la consulta.

· Los valores del campo Encabezado de columna puede incluir caracteres que no están permitidos en los

nombres de campos, como decimales. En tal caso, Access los reemplaza por el carácter de subrayado en la hoja

de datos.

Crear una consulta de tabla de referencias cruzadas mediante un asistente

1 En la ventana Base de datos, haga clic en la ficha Consultas y, a continuación, haga clic en Nuevo.

2 En el cuadro de diálogo Nueva consulta, haga clic en Asistente para consultas de tablas de referencias

cruzadas.

3 Elija Aceptar.

4 Siga las instrucciones de los cuadros de diálogo del asistente. En el último cuadro de diálogo, puede

seleccionar si desea ejecutar la consulta o si desea ver la estructura de la consulta en la vista Diseño.

Si la consulta resultante no es exactamente como desea, puede volver a ejecutar el asistente o cambiar la consulta

en la vista Diseño.

Sugerencia: Puede mostrar los datos de una tabla de referencias cruzadas sin necesidad de crear una consulta

independiente en la base de datos mediante el Asistente para tablas dinámicas. Con una tabla dinámica, puede

cambiar los encabezados de fila y de columna según desee para analizar los datos de distintos modos.

Ordenar o limitar los encabezados de columnas presentados en una consulta de referencias cruzadas

En los encabezados de columna que contienen, por ejemplo, los meses del año, puede mostrar los meses de for-

ma cronológica, en lugar de alfabéticamente, y también puede mostrar columnas de Enero a Junio.

1 Diseñe la consulta de tabla de referencias cruzadas con o sin ayuda del asistente.

2 Muestre la consulta en la vista Diseño

3 Haga clic en el fondo de la vista Diseño de la consulta, fuera de la cuadrícula de diseño y de la lista de

campos.

4 En la barra de herramientas, haga clic en Propiedades para presentar la hoja de propiedades de la con-

sulta.

5 En el cuadro de la propiedad EncabezadosDeColumna (ColumnHeadings), escriba los encabezados de

las columnas que desee mostrar, en el orden en que desea que aparezcan. Entre los encabezados de columnas,

escriba una coma (,) o el separador de listas de su país. (Para determinar cuál es el separador de listas de su país,

haga doble clic en Configuración regional del Panel de control de Windows.)

Los encabezados de columnas que escriba tienen que coincidir exactamente con los encabezados de columna de

la hoja de datos de la consulta. Por ejemplo, si un encabezado de columna en la hoja de datos es ―USA‖, debe

escribir el encabezado de columna como ―USA y no como ―US‖. (Después de presionar ENTRAR o mover el

puntero o otra ubicación, Access coloca comillas alrededor de cada encabezado.)

6 Para ver los resultados de la consulta, haga clic en el botón Vista de la barra de herramientas.

Notas:· Si ejecuta con mucha frecuencia una consulta de tabla de referencias cruzadas o si la usa como base

para un formulario o informe, puede acelerar la consulta si utiliza el procedimiento anterior para especificar

encabezados de columna fijos.· Si usa con frecuencia los mismos encabezados de columna en diferentes

consultas, considere la posibilidad de crear un campo de texto para almacenar los encabezados de columna. Abra

entonces la tabla y copie los encabezados al cuadro de la propiedad EncabezadosDeColumna (ColumnHea-

dings), según los necesite.

Ejemplo de Consulta de Referencias Cruzadas: Pedidos Trimestrales por Artículo e Importe Anual.

Page 38: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

38 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

Diseño:

Campo completo: AÑO: Año([FECHA PEDIDO])

" " Expr1: "TRIM " & ParcFecha("Q";[FECHA PEDIDO];1)

" " TOTAL IMPORTE: Suma([Unidades]*[Precio Venta]*(1-[DESCUENTO]))

En Propiedades del campo TOTAL IMPORTE en Formato: Estándar y Lugares decimales: 0.

Para obtener estos datos, pero sólo totalizado por Secciones:

Diseño:

Tabla "Unidades Trimestrales" en realidad es la Consulta anterior por Artículos.

Ver Propiedades del campo TOTAL IMPORTE en la imagen.

En campos TRIM1, etc., en sus Propiedades de campo, Título: 1er TRIMESTRE. etc.

Consultas de acción. Es una consulta que realiza cambios a muchos registros en una sola operación. Existen cuatro tipos de consultas

de acción: de eliminación, de actualización, de datos anexados y de creación de tabla. Es conveniente realizar

Page 39: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 39

primero una consulta de Selección y convertirla después de verificarla en una de Acción desde en menú

Consulta en vista de Diseño.

Consulta de creación de tabla Convierte la consulta activa en una consulta de creación de tabla, que crea una nueva tabla en la base de datos

activa o en otra base de datos. Dado que el comando copia datos, compruebe los resultados en la vista Hoja de

datos antes de ejecutarlo.

Crea una tabla nueva a partir de todos o de parte de los datos de una o más tablas. Las consultas de creación de

tabla son útiles para:

· Crear una tabla para exportar a otras bases de datos de Access. Por ejemplo, es posible que desee crear

una tabla que contenga varios campos de la tabla Empleados y, a continuación, exportar esa tabla a una base de

datos utilizada por el departamento de personal.

· Crear informes que muestren datos de un determinado momento en el tiempo. Por ejemplo, supongamos

que el 15-May-96 desea imprimir un informe que muestre los totales de ventas del primer trimestre según los

datos contenidos en las tablas base a las 9:00 A.M. del día 1-Abr-96. Un informe basado en una consulta o una

instrucción SQL extrae los datos más actualizados de las tablas (los datos correspondientes al 15-May-96), en

lugar de los registros de una fecha y hora específicas. Para conservar los datos tal como estaban exactamente a

las 9:00 A.M. del 1-Abr-96, cree una consulta de creación de tabla en ese momento del tiempo para recuperar los

registros necesarios y almacenarlos en una tabla nueva. A continuación, utilice esta tabla, en lugar de una consul-

ta, como base de los informes.

· Realizar una copia de seguridad de una tabla.

· Crear una tabla histórica que contenga registros antiguos. Por ejemplo, puede crear una tabla que alma-

cene todos los pedidos antiguos antes de eliminarlos de la tabla Pedidos actual.

· Mejorar el rendimiento de los formularios e informes basados en consultas de tablas múltiples o en

instrucciones SQL. Por ejemplo, supongamos que desea imprimir varios informes basados en una consulta de

cinco tablas que incluya totales. Puede acelerar el proceso creando primero una consulta de creación de tabla que

recupere los registros que necesite y los almacene en una tabla. A continuación puede basar los informes en esta

tabla o especificar la tabla en una instrucción SQL como el origen de los registros para un formulario o informe,

de modo que no tenga que volver a ejecutar la consulta para cada informe. No obstante, los datos de la tabla

quedan congelados en el momento en que se ejecuta la consulta de creación de tabla.

Ejemplo:

Make Table Query. En Design. Query Menu (Make Table). En Prod.: Name for new table: Old Orders.

Orders.* Order ID

Criteria: <10050 (no show)

Consulta de actualización Convierte la consulta activa en una consulta de actualización, que actualiza un grupo de registros, por ejemplo

incrementar los salarios en un 5%. Dado que este comando cambia datos, compruebe los resultados en la vista

Hoja de datos antes de ejecutarlo.

Realiza cambios globales a un grupo de registros de una o más tablas. Por ejemplo, puede aumentar los precios

un 10 por ciento para todos los productos lácteos o bien puede aumentar los sueldos un 5 por ciento al personal

de una determinada categoría. Con una consulta de actualización, puede cambiar los datos de las tablas existen-

tes.

Ejemplo:

Update. En Design. Query Menu (Update). Para sin criterio y mismos campos: Edit (Replace) en Datasheet.

Product Name Category ID Unit Price

Update to: {Unit Price]*1.1 (+10%)

Criteria: ―DAIR‖

Consulta de datos anexados Convierte la consulta activa en una consulta de datos anexados, que agrega el resultado de la consulta al final de

la tabla en la base de datos activa o en otra base de datos. Dado que el comando copia datos, compruebe los

resultados en la vista Hoja de datos antes de ejecutarlo.

Agrega un grupo de registros de una o más tablas al final de una o más tablas. Por ejemplo, supongamos que

consigue nuevos clientes y tiene una base de datos que contiene una tabla con información acerca de estos clien-

tes. Para evitar tener que escribir toda esta información, desea anexarla a la tabla Clientes. Las consultas de datos

anexados también son útiles para:

· Anexar campos basados en criterios. Por ejemplo, es posible que desee anexar sólo los nombres y las

direcciones de los clientes con pedidos de un tamaño considerable.

· Anexar registros cuando algunos de los campos de una tabla no existe en la otra tabla. Por ejemplo, en

la base de datos de ejemplo Neptuno, la tabla Clientes tiene 11 campos. Supongamos que desea anexar registros

de otra tabla que tienen campos que coinciden con 9 de los 11 campos de la tabla Clientes. Una consulta de datos

anexados anexará los datos de los campos coincidentes e ignorará el resto.

En Design. Query Menu (Append). Arrastrar campos con el *, o escoger si necesario. No arrastrar Counter Field

para cálculo automático de registros.

Page 40: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

40 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

Puede utilizar Copiar y Pegar para anexar registros sin Criterios y mismos campos.

Consulta de eliminación Convierte la consulta activa en una consulta de eliminación, que elimina un grupo de registros, por ejemplo,

todos los pedidos de 1997 después de haberlos anexado a la Tabla de Pedidos Históricos.. Dado que este coman-

do cambia datos, compruebe los resultados en la vista Hoja de datos antes de ejecutarlo.

Elimina un grupo de registros de una o más tablas. Por ejemplo, puede utilizar una consulta de eliminación para

quitar productos que ya no se fabrican o de los que no hay pedidos. Con las consultas de eliminación, siempre se

eliminan registros enteros, no sólo campos seleccionados dentro de los registros.

Ejemplo:

Delete. En Design. Query Menu (Delete)

Orders.* Order ID

Delete: From Where

Criteria: <10050 (no show)

Consulta Específica de SQL. Consulta de Unión:

Muestra la ventana SQL y convierte la consulta activa en una consulta de unión. Una consulta de unión combina

campos de dos o más tablas o consultas unos tras otros en lugar de lado a lado.

La siguiente consulta de unión selecciona todos los nombres de compañías de Brasil de ambas tablas, Proveedo-

res y Clientes, y los ordena alfabéticamente por ciudad:

SELECT [NombreCompañía], [Ciudad]

FROM [Proveedores]

WHERE País=‖Brasil‖

UNION SELECT [NombreCompañía], [Ciudad]

FROM [Clientes]

WHERE País=‖Brasil‖

ORDER BY [Ciudad];

La siguiente consulta de unión cambia el nombre el campo NombreCompañía por ―Nombre del provee-

dor/cliente‖ en la salida de la consulta:

SELECT [NombreCompañía] AS [Proveedor/Nombre cliente], [Ciudad]

FROM [Proveedores]

UNION SELECT [NombreCompañía] AS [Proveedor/Nombre cliente], [Ciudad]

FROM [Clientes];

La siguiente consulta de unión utiliza la instrucción UNION ALL para extraer todos los registros, incluyendo los

registros duplicados:

SELECT [NombreCompañía], [Ciudad]

FROM [Proveedores]

UNION ALL SELECT [NombreCompañía], [Ciudad]

FROM [Clientes];

Paso a través

Muestra la ventana SQL y convierte la consulta activa en una consulta de paso, en la que se envía una consulta

SQL a un servidor de bases de datos (tal como SQL Server). Para obtener detalles acerca de la sintaxis de la

consulta SQL, consulte la documentación del servidor de bases de datos.

Definición de datos

Muestra la ventana SQL y convierte la consulta activa en una consulta de definición de datos, lo que crea o mo-

difica tablas en la base de datos activa.

Consulta de Parámetros Establece los parámetros y los tipos de datos para una consulta que solicita información (como por ejemplo, un

criterio) cuando se ejecuta. Por ejemplo, puede solicitar el nombre de un vendedor y un intervalo de fechas para

obtener resultados variables con la misma consulta.

Es una consulta que, cuando se ejecuta, muestra su propio cuadro de diálogo que solicita información, como por

ejemplo criterios para recuperar registros o un valor que desea insertar en un campo. Puede diseñar la consulta

para que solicite más de un dato; por ejemplo, puede diseñarla para que solicite dos fechas. Access puede enton-

ces recuperar todos los registros que quedan entre esas dos fechas.

Las consultas de parámetros también son útiles cuando se emplean como base para los formularios e informes, al

solicitar igualmente los parámetros. Por ejemplo, puede crear un informe de ingresos mensuales basado en una

consulta de parámetros. Al imprimir el informe, Access muestra un cuadro de diálogo que solicita el mes sobre

el que se desea el informe. Cuando se introduce un mes, Access imprime el informe apropiado.

También puede crear un formulario o un cuadro de diálogo personalizado que solicite los parámetros de una

consulta, en lugar de utilizar el cuadro de diálogo de la consulta de parámetros.

En la celda Criterios, para cada campo que desee utilizar como parámetro, escriba el texto a solicitar entre cor-

chetes. Access mostrará este texto cuando se ejecute la consulta. El texto de la solicitud debe ser diferente del

nombre del campo, aunque puede incluir el nombre del campo.

Page 41: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 41

Para un campo que muestra la fecha, puede mostrar el texto ―Introduzca la fecha inicial:‖ y el texto ―Introduzca

la fecha final:‖ para especificar un intervalo de valores. En la celda Criterio del campo, escriba Between [Intro-

duzca la fecha inicial:] And [Introduzca la fecha final:].

El Diálogo del Menú sirve para poner los criterios por orden y definir el tipo de datos a entrar (opcionales).

Ejemplo:

Parameter Query. Query Menu (Parameters). Ej. (Puede hacerse en cualquier Select Query).

Category ID Product Name Order ID Order Date

Total: Group by Group by Count Where

Criteria: [Enter a Category ID:] Between [Enter beginning date:] and [Enter ending date:] (No show)

En Query Menu (Parameters) entrar (poner en orden): Enter a Category ID:

Enter beginning date:

Enter ending date:

(Cantidad de cada producto de una categoría solicitada vendidos entre fechas solicitadas)

Otros: Like [Enter the first few letters followed by *]

Forms![Which Customer]![Text]

Expresiones: Las expresiones son un componente fundamental de numerosas operaciones en Access. Una expresión es una

combinación de símbolos (identificadores, operadores y valores) que produce un resultado. Por ejemplo, puede

utilizar la expresión siguiente en un control de un formulario o de un informe para mostrar la suma de los valores

de los controles Subtotal y Transporte:

= [Subtotal] + [Transporte]

Éstos son algunos ejemplos de operaciones comunes en las que se utilizan expresiones:

· Establecer una propiedad que define un control calculado, establecer una regla de validación o estable-

cer un valor predeterminado de un campo.

· Introducir una expresión de criterio, crear un campo calculado o actualizar los registros de una consulta

o filtro.

· Establecer una condición para realizar una acción o serie de acciones de una macro, o especificar argu-

mentos para varias acciones.

· Especificar argumentos para funciones, instrucciones y métodos de procedimientos de Visual Basic para

aplicaciones.

· Editar una consulta SQL en la vista SQL de la ventana Consulta o utilizar una instrucción SQL como

valor de una propiedad o como argumento.

Dónde introducir expresiones en consultas y filtros

Puede utilizar expresiones (en la cuadrícula de diseño de una consulta o en la ventana Filtro u orden avanzado,

en una instrucción SQL de la vista SQL de una consulta o en la ventana Filtro por formulario) para especificar

criterios que identifiquen los registros con los que desea trabajar. En las consultas, también puede utilizar expre-

siones para actualizar los valores de un grupo de registros o para crear campos calculados.

En la cuadrícula de diseño, la expresión debe introducirse en lugares diferentes dependiendo de la operación que

se desee realizar (la tabla siguiente muestra dónde pueden introducirse expresiones). Después de introducir una

expresión en la cuadrícula de diseño y de presionar la tecla ENTRAR, Microsoft Access muestra la expresión

utilizando la sintaxis que comprende este programa. Si no incluye un operador con la expresión, Microsoft Ac-

cess asume que debe utilizarse el operador =. Por ejemplo, si escribe Dinamarca como criterio en un campo País,

Microsoft Access muestra "Dinamarca" e interpreta la expresión como País="Dinamarca". Si incluye referencias

a nombres de campos en la expresión, los campos deben estar incluidos en una de las tablas agregadas a la con-

sulta (a no ser que esté utilizando la función DBúsq (DLookup) o una subconsulta). No obstante, no es posible

arrastrar los campos a la expresión de la cuadrícula de diseño.

Para hacer esto Escriba la expresión en

Especificar criterios para una consulta de selección, de tabla de referencias cruzadas o de acción, o bien para un

filtro avanzado Una celda Criterios de la cuadrícula de diseño de una consulta o filtro avanzado.

Crear un campo calculado Una celda Campo de la cuadrícula de diseño de una consulta o filtro avan-

zado.

Actualizar registros según los resultados de la expresión (sólo consultas de actualización) Una celda Actualizar

a de la cuadrícula de diseño de una consulta de actualización.

Especificar los registros con los que desea trabajar, cómo se agrupan, los criterios para las agrupaciones o cómo

se ordenan los registros Una instrucción SQL en la vista SQL.

Especificar los criterios cuando se utiliza Filtro por formulario Un campo de la ventana Filtro por formu-

lario de una expresión personalizada. También puede seleccionar una expresión de la lista del campo.

Nota Puede ver cómo Microsoft Access evalúa las expresiones de las consultas cambiando a la vista SQL de

una consulta para mostrar sus instrucciones SQL base. Para mostrar una consulta en la vista SQL, haga clic en la

flecha situada junto al botón Vista en la barra de herramientas y, a continuación, haga clic en Vista SQL. Si su

consulta incluye tablas vinculadas, los valores que especifique en el criterio de los campos de las tablas vincula

das pueden distinguir mayúsculas de mínúsculas (los valores deben coincidir con los de la tabla base).

Page 42: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

42 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

Crear una expresión con el Generador de expresiones:

Puede iniciar el Generador de expresiones en una celda Campo o Criterios de la vista Diseño de la consulta, en la

columna Condición de la ventana Macro o en la ventana Módulo.

1 Haga clic con el botón secundario en el lugar donde desee insertar la expresión.

2 En el menú contextual, haga clic en Generar.

Nota: Si la celda o la columna Condición donde se inicia el Generador de expresiones ya contiene un valor, éste

se copiará automáticamente en el cuadro de la expresión. Para copiar texto de la ventana Módulo en el Genera-

dor de expresiones, selecciónelo antes de iniciar el Generador.

Iniciar el Generador de expresiones en una hoja de propiedades o en la ventana Macro:

1 Haga clic en el cuadro de la propiedad o del argumento que vaya a contener la expresión.

2 Haga clic en el botón Generar situado junto al cuadro de la propiedad o argumento.

Si una propiedad tiene asociado más de un generador, Microsoft Access mostrará el cuadro de diálogo Elegir

generador. Haga clic en Generador de expresiones y luego en Aceptar.

Nota Si el cuadro de la propiedad o argumento en el que se inicia el Generador de expresiones ya contiene un

valor, éste se copiará automáticamente en el cuadro de expresión.

Operaciones:

1 En el cuadro inferior izquierdo del Generador de expresiones, haga clic o doble clic en la carpeta que

contenga el elemento deseado.

2 En el cuadro inferior intermedio, haga doble clic en un elemento para pegarlo en el cuadro de la expre-

sión, o bien haga clic en una categoría de elementos.

3 Si ha seleccionado una categoría en el cuadro inferior intermedio, aparecerán valores en el cuadro infe-

rior derecho. Haga doble clic en uno de ellos para pegarlo en el cuadro de la expresión.

Sugerencia: También puede escribir cualquier parte de la expresión directamente en el cuadro de la expresión.

4 Pegue los operadores que desee en la expresión situando el punto de inserción en el lugar del cuadro de

la expresión donde desee colocar el operador y haciendo clic en uno de los botones de operadores que se encuen-

tran en el centro del Generador.

5 Cuando la expresión esté terminada, haga clic en Aceptar.

Access copiará la expresión en el lugar donde se inició el Generador de expresiones. Si ya existía un valor, o si

se inició el Generador en la ventana Módulo teniendo texto seleccionado, la nueva expresión reemplazará al

valor local texto existente.

Expresiones de texto:

En(―Canadá‖, ―Reino Unido‖) Utiliza el operador En (In) para mostrar los pedidos enviados a Canadá o al

Reino Unido.

Negado ―EE.UU.‖ Utiliza el operador Negado (Not) para mostrar los pedidos enviados a países distintos

de EE.UU.

Como ―S*‖ Muestra los pedidos enviados a los clientes cuyo nombre empieza por S.

>=‖N‖ Muestra los pedidos enviados a compañías cuyo nombre comienza por las letras N a Z.

Der([IdPedido], 2)=‖99‖ Utiliza la función Der (Right) para mostrar los pedidos con valores de

IdPedido que terminan en 99.

Longitud([NombreCompañía])>Val(30) Utiliza las funciones Longitud (Len) y Val (Val) para mostrar los

pedidos de las compañías cuyo nombre tiene más de 30 caracteres.

Como ―*Importaciones‖ Pedidos enviados a los clientes cuyos nombres terminan por la palabra ―Importacio-

nes‖.

Como ―[A-D]*‖ Pedidos enviados a los clientes cuyos nombres empiezan de la A a la D.

Como ―*ar*‖ Pedidos enviados a los clientes cuyos nombres incluyen la secuencia de letras ―ar‖.

Como ―Casa Dewe?‖ Pedidos enviados al cliente con ―Casa‖ como primera parte del nombre y un segundo

nombre de 5 letras, de las cuales las cuatro primeras son ―Dewe‖ y la última se desconoce.

AA105 =Right([Part ID],3) da 105

Left/Right(stringexp,n): AA105 =Left([Part ID],2) da AA

Como ―Sm?th‖/‖L*ng‖ (Long y Lever Engineering)/‖*th‖/‖*on*‖/‖*-*-96‖

Negado ―Sevilla‖ (distinto a Sevilla)

Operador de Concatenación.

&. También el signo + , pero debe evitarse por ambigüedad.

Expresiones de fecha:

Entre 15-3-96 y 30-3-96 (inclusive).

No es necesario ―s en textos ni #s en fechas. También 16/3/97.

Entre Fecha( ) Y AgregFecha(―m‖, 3, Fecha( )) Utiliza el operador Entre...Y (Between…And) y las funcio-

nes AgregFecha (DateAdd) y Fecha (Date) para mostrar pedidos cuya fecha requerida está entre el día de hoy y

dentro de tres meses.

< Fecha( )- 30 Utiliza la función Fecha (Date) para mostrar los pedidos con una antigüedad de más de 30 días.

Año([FechaPedido])=1996 Utiliza la función Año (Year) para mostrar los pedidos con fechas de entrega

en 1996.

Page 43: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 43

ParcFecha(―q‖, [FechaPedido])=4 Utiliza la función ParcFecha (DatePart) para mostrar los pedidos del cuarto

trimestre.

SerieFecha(Año([FechaPedido]),Mes([FechaPedido])+1, 1)-1 Utiliza las funciones SerieFecha (DateSerial), Año

(Year) y Mes (Month) para mostrar los pedidos del último día de cada mes.

Año([FechaPedido])=Año(Ahora()) Y Mes([FechaPedido])=Mes(Ahora()) Utiliza las funciones Año (Year)

y Mes (Month) y el operador Y (And) para mostrar los pedidos del año y el mes actual.Expresiones de

campo vacío:

Es Nulo: Muestra los pedidos de los clientes cuyo campo RegiónEnvío es Nulo (está en blanco).

No es Nulo: Muestra los pedidos de los clientes cuyo campo RegiónEnvío contiene un valor.

Fax ― ― Muestra los pedidos de los clientes que no tienen una máquina de fax, lo que se indica median-

te un valor de cadena de longitud cero en el campo Fax en lugar de un valor Nulo (en blanco).

#2/2/95# Muestra los pedidos enviados el 2-Feb-95.

DatePart(DatePart, date) =DatePart(―w‖,[Holiday] da 4 (miérc, inglés)

=DatePart(―ww‖,[Holiday] da 50 (semana del año). ―yyyy‖ da 1997. ―q‖ da 1,2,3,4 (trimestre) ―m‖ da 1 a 12.

Between Date() and Date()-5 (desde hace 5 días a hoy)

Between Date() and Date()-90 = Between Date() and DateAdd((―m‖,-3,Date())

Expresiones aritméticas:

CargaPrincipal: [Carga] * 1.1 Muestra en el campo CargaPrincipal los gastos de la carga más un 10 por

ciento.

CantidadPedido: [Cantidad] * [PrecioUnitario] Muestra en el campo CantidadPedido el producto de los

valores de los campos Cantidad y PrecioUnitario.

PlazoEntrega: [FechaRequerida] – [FechaEnvío] Muestra en el campo PlazoEntrega la diferencia entre los

valores de los campos FechaRequerida y FechaEnvío.

StockTotal: [UnidadesEnStock]+[UnidadesEnPedido] Muestra en el campo StockTotal la suma de los

valores de los campos UnidadesEnStock y UnidadesEnPedido.

PorcentajeCarga: Suma([Carga])/Suma([Subtotal]) *100 Muestra en el campo PorcentajeCarga el porcenta-

je de los gastos de carga de cada subtotal, mediante la división de la suma de los valores del campo

Carga por la suma de los valores del campo Subtotal (este ejemplo utiliza la función Suma (Sum)).La fi-

la Total de la cuadrícula de diseño debe estar mostrada en pantalla y la celda Total de este campo debe

establecerse a Expresión. Si la propiedad Formato (Format) del campo está establecida a Porcentaje, no

incluya *100.

Nota: Cuando se utiliza un operador aritmético (+, -, *, /) en una expresión y el valor de uno de los campos de

la expresión es Nulo, el resultado de la expresión completa es Nulo. Si varios registros de uno de los

campos utilizados en la expresión pudieran tener un valor Nulo, es posible convertir el valor Nulo a cero

mediante la función Nz; por ejemplo: Nz([UnidadesEnStock])+Nz([UnidadesEnPedido])

Tax cada artículo: =[Unit Price]*0.08 (8%) Total: =Sum([Unit Price]*0.08)

Extended Price: =[Quantity]*[Unit Price]*(100-[Discount])/100 (Para Discount de 0 a 100 de %)

Invoice Sub-total: =Sum((CLng([Quantity]*[Unit Price]*(1-[Discount])*100/100) (Para Discount de 0 a 1

de %) CLng redondea a entero.

Invoice total: =[Invoice Subtotal]+[Freight]

Otros Operadores Aritméticos:

\ Divide y devuelve un entero.

^ Eleva un número a la potencia del exponente.

Mod Divide un número por otro y devuelve el resto.

Otro Operador de Comparación: <> No igual, diferente a.

Campo calculado

Campo definido en una consulta que presenta el resultado de una expresión en lugar de datos almacenados. El

valor se vuelve a calcular cada vez que cambia algún valor en la expresión. Un control calculado es un control en

un formulario o informe que presenta el resultado de una expresión en lugar de datos almacenados.

Un cálculo personalizado le permite llevar a cabo en cada registro cálculos numéricos, de fechas y de texto utili-

zando los datos de uno o más campos. Por ejemplo, con un cálculo personalizado puede multiplicar los valores

de un campo por una determinada cantidad, encontrar la diferencia entre dos fechas almacenadas en distintos

campos, combinar varios valores de un campo Texto o crear subconsultas. Mediante las opciones de la fila Total

en la cuadrícula de diseño, es posible llevar a cabo el cálculo en grupos de registros y calcular sumas, promedios,

cuentas u otro tipo de totales en el campo calculado.

En el caso de cálculos personalizados, necesita crear un nuevo campo calculado directamente en la cuadrícula de

diseño. Para crear un campo calculado, escriba una expresión en una celda en blanco Campo en la cuadrícula de

diseño de la consulta. Ej.: Total Producto: [Unidades]*[Precio].

No obstante, no es necesario mostrar los resultados de un cálculo en un campo. En su lugar, es posible utilizarlos

como criterios para determinar los registros que debe seleccionar la consulta o para determinar sobre qué regis-

tros se debe llevar a cabo la acción.

Varias:

= [País] En (―Francia‖, ―Italia‖, ―España‖) Y Longitud([CódigoPostal])<>5

Page 44: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

44 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

―Londres‖ O ―Hedge End‖ Utiliza el operador O (Or) para mostrar los pedidos enviados a Londres o a Hedge

End.

Entre #5-Ene-95# Y #10-Ene-95# Utiliza el operador Entre...Y (Between…And) para mostrar los pedidos en-

viados no antes del 5-Ene-95 ni después del 10-Ene-95.

=Date() =Page IIF(expr,truepart,falsepart)

IIF([Region] Is Null, ―|[City]| |[Postal Code]|‖,‖|[City]| |[Region]| |[Postal Code]|‖) Las barras verticales indican

que se trata de nombre de campo cuando está entre comillas (Text String). El IIF evita que aparezcan

tres espacios cuando no hay Region.

Creating a calculated field in the Query is a good idea for use in Reports several times.

% of Employee total: =[Sale Amount]/[Employee Total] Format: Percent.

Para Check Box (Ej.: Shipped Late ) =[Shipped Date]>[Required Date]

Si.Verdadero.Yes.True.On.-1 / No.Falso.False.Off.0

Los órdenes de campos van de izq. a der. según su orden.

Para imprimir registros determinados, seleccionar.

Se puede escribir Y u O dentro de mismo campo: >=1-1-95 Y <=1-7-95 / ―Germany‖ O ―Canada‖.

Para O entre diferentes campos, utilizar el O de la consulta: Ej.: >=‖N‖ ―UK‖

OR: >=‖N‖ ―París‖

(Que sea ―N a Z‖ y país ―UK‖ o ciudad ―París‖)

Campo con valor: No es nulo/Es negado nulo (Not Null / Is Not Null).

Sin valor: Nulo/Es nulo (Null / Is Null)

Para campos [ ]: [Quantity]+10

>Forms![Students]![Age] : Tipo-objeto!Objeto!Campo

Between Forms![Notes]![First Date] and Forms![Notes]![Last Date]

Count(): para contar registros.

[Unit Price ]*[Quantity] [First Name]&‖ ―&[Last Name]

Dar nombre a campo calculado, ponerlo antes del cálculo y después dos puntos:

Total Price: [Quantity]*[Unit Price]

New Price: Ccur([Unit price]*1.25) (Más el 25%)

Expresiones para Validación de campos:

<>0 Introduzca un valor distinto de cero.

0 O >100 El valor debe ser 0 o mayor que 100.

Como ―K???‖ El valor debe constar de cuatro caracteres y comenzar por la letra K.

<#1/1/96# La fecha debe ser anterior a 1996.

>=#1/1/97# Y <#1/1/98# La fecha debe pertenecer al año 1997.

Expresiones para Condiciones de Macro:

[Ciudad]=‖Paris‖ Paris es el valor de Ciudad en el campo en el formulario desde el cual se ejecutó la macro.

Dcont(―[IdPedido]‖, ―Pedidos‖)>35 Hay más de 35 entradas en el campo IdPedido de la tabla Pedidos.

Dcont(―*‖, ―Detalles de pedidos‖, ―[IdPedido]=Forms![Pedidos]![IdPedido]‖)>3 Hay más de tres entra-

das en la tabla Detalles de pedidos para los cuales el campo IdPedido de la tabla coincide con el campo

IdPedido del formulario Pedidos.

[FechaEnvío] Entre #2-Feb-1995# y #2-Mar-1995# El valor del campo FechaEnvío del formulario desde el cual

se ejecuta la macro no es anterior al 2-Feb-1995 y no es posterior al 2-Mar-1995.

Forms![Productos]![UnidadesEnStock]<5 El valor del campo UnidadesEnStock del formulario Productos es

menor que cinco.

EsNulo([Nombre]) El valor Nombre del formulario desde el que se ejecuta la macro es Nulo(no tiene

valor). Esta expresión es equivalente a [Nombre] Es Nulo.

[País]=‖UK‖ Y Forms![Ventas Totales]![TotalPedidos]>100 El valor en el campo País del formulario desde el

que se ejecuta la macro es UK, y el valor del campo TotalPedidos del formulario Ventas Totales es ma-

yor que 100.

[País] En (―Francia‖, ―Italia‖, ―España‖) y Len([CódigoPostal])<>5 El valor en el campo País del formulario

desde el cual se ejecuta la macro es Francia, Italia, o España, y el código postal no es de 5 caracteres de

longitud.

CuadroMsj(―¿Confirmar cambios?‖,1)=1 Haga clic en Aceptar en el cuadro de diálogo que presenta la función

CuadroMsj. Si hace clic en Cancelar en el cuadro de diálogo, Access ignora la acción.

Sugerencia Para hacer que Access ignore temporalmente una acción, introduzca Falso como condición. Ignorar

temporalmente una acción puede ser de utilidad cuando esté tratando de encontrar problemas en una macro.

Expresiones SQL como criterio:

Se pueden copiar de la Vista SQL de una consulta, cancelándola después.

PrecioUnitario (SELECT [PrecioUnitario] FROM [Productos] WHERE [NombreProducto] = ―Sirope de rega-

liz‖) Productos cuyo precio es el mismo que el del Sirope de regaliz.

PrecioUnitario >(SELECT AVG([PrecioUnitario]) FROM [Productos])

Productos que tienen un precio unitario por encima de la media.

Page 45: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 45

Salario > ALL (SELECT [Salario] FROM [Empleados] WHERE ([Cargo] LIKE ―*Director*‖) OR ([Cargo]

LIKE ―*Vicepresidente*‖)) Salario de cada comercial cuyo salario es mayor que el de los em-

pleados con el cargo ―Director‖ o ―Vicepresidente‖.

Expresiones en formularios e informes:

Nota: En un control calculado, preceda cada expresión con un signo igual (=). Cuando establezca la propiedad

Nombre de un control calculado, asegúrese de que utiliza un nombre único. No utilice el nombre de uno

de los controles que utilizó en la expresión.

=‖N/A‖ Presenta N/A.

=[Nombre] & ― ― & [Apellidos] Presenta el valor de los controles de Nombre y Apellido separados por un

espacio.

=Izquierda([NombreProducto], 1) Utiliza la función Izquierda para presentar el primer carácter del valor del

control NombreProducto.

=Derecha([CódigoActivo], 2) Utiliza la función Derecha para presentar los dos últimos caracteres del valor

del control CódigoActivo.

=Recortar([Dirección]) Utiliza la función Recortar para presentar el valor del control Dirección, borrando

cualquier espacio delantero o trasero.

=Silnm(EsNulo([Región]), [Ciudad] & ― ― & [CódPostal], [Ciudad] & ― ― & [Región] & ― ― & [CódPostal])

Utiliza la función SiInm para presentar el valor de los controles Ciudad y CódPostal si Región es Nulo;

en caso contrario, presenta el valor de los controles Ciudad, Región y CódPostal, separados por espacios.

[Página] Resultado: 1, 2, 3

=‖Página ― & [Página] Página 1, Página 2, Página 3

=‖Página ― & [Página] & ― de ― & [Páginas] Página 1 de 3, Página 2 de 3, Página 3 de 3

=[Página] & ― de ― & [Páginas] & ― Páginas‖ 1 de 3 Páginas, 2 de 3 Páginas, 3 de 3 Páginas

=[Página] & ―/‖& [Páginas] & ― Páginas‖ 1/3 Páginas, 2/3 Páginas, 3/3 Páginas

=[País] & ― – ― & [Página] UK – 1, UK – 2, UK – 3

=Formato([Página], ―000‖) 001, 002, 003

=[TotalEmpleado]/[TotalPaís] El cociente de los valores de los controles TotalEmpleado y TotalPaís

=Form![Pedidos]![IdPedido] El valor del control IdPedido en el formulario Pedidos.

=Form![Pedidos]![Subformulario Pedidos]![SubtotalPedido] El valor del control SubtotalPedido en el

subformulario Pedidos del formulario Pedidos.

=Forms![Pedidos]![Subformulario Pedidos]![IdProducto].Column(2) El valor de la tercera columna en

IdProducto, un cuadro de lista de columnas múltiples en el subformulario Pedidos del formulario Pedi-

dos. (0 hace referencia a la primera columna, 1 a la segunda, y así sucesivamente.)

=Forms![Pedidos]![Subformulario Pedidos]![Precio]*1.06 El producto del valor del control Precio del sub-

formulario Pedidos del formulario Pedidos por 1,06 (agrega el 6 por ciento al valor del control Precio).

=Principal![IdPedido] El valor del control IdPedido en el formulario principal del subformulario actual.

=Reports![Factura]![IdPedido] El valor del control IdPedido en el informe Factura.

=Reports![Resumen]![Subinforme Resumen]![Total Ventas] El valor del control TotalVentas en el

subinforme Resumen del informe Resumen.

=Principal![IdPedido] El valor del control IdPedido en el formulario principal del subinforme actual.

=Promedio([Cargo]) Utiliza la función Promedio (Avg) para presentar la media de los valores del control

Cargo.

=Cuenta([IdPedido]) Utiliza la función Cuenta (Count) para presentar el número de registros en el control

IdPedido.

=Suma([Ventas]) Utiliza la función Suma (Sum) para presentar la suma de los valores del control Ventas.

=Suma([Cantidad]*[Precio]) Utiliza la función Suma (Sum)para presentar la suma del producto de los

valores de los controles Cantidad y Precio.

=[Ventas]/Suma([Ventas])*100 Presenta el porcentaje de las ventas, determinado dividiendo el valor del

control Ventas por la suma de todos los valores del control Ventas.Nota Si la propiedad Formato

(Format) del control está establecida a Porcentaje, no incluya el *100.

=Formato(Ahora(), ―ss‖) Utiliza la función Formato (Format) para presentar el número de la semana del año

que representa la fecha actual, donde ss es 1 a 53.

=ParcFecha(―yyyy‖, [FechaPedido]) Utiliza la función ParcFecha (DatePart) para presentar los cuatro

dígitos del año del valor del control FechaPedido.

=SumFecha(―a‖, -10, [FechaPrometida]) Utiliza la función SumFecha (DateDif) para presentar una fecha que

sea 10 días antes del valor del control FechaPrometida.

=DifFecha(―d‖, [FechaOrden], [FechaEnviado]) Utiliza la función DifFecha para presentar el número de

días de diferencia entre los valores de los controles FechaOrden y FechaEnviado.

=SiInm([Confirmado] = ―Sí‖, ―Pedido confirmado‖, ―Pedido no confirmado‖) Utiliza la función SiInm

(Iif) para presentar el mensaje ―Pedido confirmado‖ si el valor del control Confirmado es Sí; en caso

contrario, presenta el mensaje ―Pedido no confirmado.‖

SiInm es la misma función IIF

Page 46: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

46 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

=SiInm(EsNulo([País]), ― ―, [País]) Utiliza la función SiInm para presentar una cadena en blanco si el

valor del control País es Nulo; en caso contrario, presenta el valor del control País.

=SiInm(EsNulo([Región]), [Ciudad] & ― ― & [CódPostal], [Ciudad] & ― ― & [Región] & ― ― & [CódPostal])

Utiliza la función SiInm para presentar los valores de los controles Ciudad y CódPostal si Re-

gión es Nulo; en caso contrario, presenta el valor de los controles Ciudad, Región y CódPos-

tal.=SiInm(EsNulo([FechaRequerida] – [FechaEnviado]), ―Compruebe una fecha perdida ―, [FechaRe-

querida] – [FechaEnviado]) Utiliza la función SiInm para presentar el mensaje ―Compruebe una

fecha perdida‖ si el resultado de restar FechaEnviado de FechaRequerida es Nulo; en caso contrario,

presenta la diferencia entre los controles de FechaRequerida y FechaEnviado.

Ejemplos para realizar operaciones aritméticas en formularios e informes:

La siguiente tabla lista ejemplos de expresiones que puede utilizar en los controles calculados de los formularios

e informes.

Si utiliza esta expresión Access presenta

=[Subtotal]+[Cargo] La suma de los valores de los controles Subtotal y Cargo.

=[FechaRequerida]-[FechaEnviado] La diferencia entre los valores de los controles FechaRequerida y

FechaEnviado.

=[Precio]*1.06 El producto del valor del control Precio y 1.06 (incrementa un 6 por ciento al valor de Precio).

=[Cantidad]*[Precio] El producto de los valores de los controles Cantidad y Precio.

=[TotalEmpleado]/[TotalPaís] El cociente de los valores de los controles TotalEmpleado y TotalPaís

Nota: En un control calculado, preceda cada expresión con un signo igual (=).

· Cuando establezca la propiedad Nombre de un control calculado, asegúrese de que utiliza un nombre

único. No utilice el nombre de uno de los controles que utilizó en la expresión.

· Cuando utilice un operador aritmético (+, -, *, /) en una expresión y el valor de uno de los controles en

la expresión sea Nulo, el resultado de la expresión completa será Nulo. Si algunos registros en uno de los contro-

les que utilizó en la expresión pudiera tener un valor Nulo, puede convertir el valor Nulo a cero utilizando la

función Nz; por ejemplo: =Nz([Subtotal])+Nz([Carga])

Calcular el total de un control calculado de un formulario o informe

Cuando calcule un total con una función agregada como Suma (Sum) o una función agregada de dominio como

Dsuma (DSum), no puede utilizar el nombre de un control calculado en la función Suma (Sum). Debe repetir la

expresión del control calculado. Por ejemplo:

=Suma([Cantidad]*[PrecioUnitario])

Sin embargo, si tiene un campo calculado en una consulta base, por ejemplo,

=PrecioExtendido: [Cantidad]*[PrecioUnitario]

puede utilizar el nombre de ese campo en la función Suma (Sum), como se muestra aquí:

=Suma([PrecioExtendido])

Funciones en Expresiones. Funciones de Agregado de Dominio comunes:

DAvg El promedio de valores.

DCount En número de registros.

DFirst Valor de campo en primer registro.

DLast Valor de campo en último registro.

DLookup El valor de un campo.

DMin Valor mínino.

DMax Valor máximo.

DSum La suma de valores.

Ejemplos para utilizar funciones agregadas de dominio en formularios e informes

La siguiente tabla lista ejemplos de expresiones que puede utilizar en los controles calculados de los formularios

e informes.

Expresión Descripción

=Dbúsq("[NombreContacto]", "[Proveedores]", "[IdProveedor] = Forms![IdProveedor]") Utiliza la fun-

ción Dbúsq (DLookup) para presentar el valor del campo NombreContacto en la tabla Proveedores donde el

valor del campo IdProveedor de la tabla se corresponde con el valor del control IdProveedor en el formulario

activo.

=Dbúsq("[NombreContacto]", "[ Proveedores]", "[IdProveedor] = Forms![Nuevos Proveedores]![IdProveedor]")

Utiliza la función Dbúsq (DLookup) para presentar el valor del campo NombreContacto en la tabla

Proveedores donde el valor del campo IdProveedor de la tabla se corresponde con el valor del control IdProvee-

dor en el formulario Nuevos Proveedores.

=DSuma("[CantidadPedido]", "[Pedidos]", "[IdCliente] = 'RATTC'") Utiliza la función Dsuma (DSum) para

presentar la suma total de los valores del campo CantidadPedido en la tabla Pedidos donde el IdCliente es

RATTC.

Notas

· En un control calculado, preceda cada expresión con un signo igual (=).

Page 47: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 47

· Cuando establezca la propiedad Nombre de un control calculado, asegúrese de que utiliza un nombre

único. No utilice el nombre de uno de los controles que utilizó en la expresión.

· No puede utilizar el nombre de un control en una expresión que utilice una función agregada de domi-

nio; debe utilizar sólo nombres de campos de una tabla, consulta o instrucción SQL.

Funciones de Agregado SQL Comunes.

Utilizar en consultas y controles calculados en formularios e impresos, pero no en macros o módulos.

Avg El promedio de valores de n campo.

Count El número de registros.

First Valor de campo del primer registro en consulta, formulario o informe.

Last Valor de campo del último registro en consulta, formulario o informe.

Min El valor mínimo en un campo.

Max El valor máximo en un campo.

Sum La suma de valores en un campo.

Ejemplos para utilizar funciones agregadas en formularios e informes

La siguiente tabla lista ejemplos de expresiones que puede utilizar en los controles calculados de los formularios

e informes.

Expresión Descripción

=Promedio([Cargo]) Utiliza la función Promedio (Avg) para presentar la media de los valores del control

Cargo.

=Cuenta([IdPedido]) Utiliza la función Cuenta (Count) para presentar el número de registros en el control

IdPedido.

=Suma([Ventas]) Utiliza la función Suma (Sum) para presentar la suma de los valores del control Ventas.

=Suma([Cantidad]*[Precio]) Utiliza la función Suma (Sum)para presentar la suma del producto de los

valores de los controles Cantidad y Precio.

=[Ventas]/Suma([Ventas])*100 Presenta el porcentaje de las ventas, determinado dividiendo el valor del

control Ventas por la suma de todos los valores del control Ventas.Nota Si la propiedad Formato (Format) del

control está establecida a Porcentaje, no incluya el *100.

Notas

· En un control calculado, preceda cada expresión con un signo igual (=).

· Cuando establezca la propiedad Nombre de un control calculado, asegúrese de que utiliza un nombre

único. No utilice el nombre de uno de los controles que utilizó en la expresión.

· No puede utilizar el nombre de un control en una expresión que utilice una función agregada; debe

utilizar sólo nombres de campos de una tabla, consulta o instrucción SQL.

Algunas Funciones Generales:

Choose Un valor en una lista de argumentos

La función Elegir (Choose) puede utilizarse para crear un control calculado cuyo valor es de-

terminado por el valor de un campo de una tabla en su base de datos. Por ejemplo, suponga que

tiene una tabla Transportistas que contiene un campo llamado IdTransportista. Puede crear un

control calculado en un formulario para un nombre del transportista basado en el valor del Id

del transportista.

=Choose([IdTransportista], "La veloz", "Transa", "Federal")

Date La Fecha actual del sistema. =Date()

DateAdd Fecha a la que se añade un intervalo de tiempo

DateAdd(interval, number, date)

El argumento interval tiene los siguientes valores:

Valor Descripción

yyyy Año

q Trimestre

m Mes

y Día del año

d Día

w Día de la semana

ww Semana

h Hora

n Minuto

s Segundo

La función DateAdd no devuelve nunca una fecha no válida. En el ejemplo siguiente se agrega

un mes al 31 de enero: DateAdd("m", 1, "31-ene-95"). Devuelve 28-2-95.

DateDiff Número de dias ( u otro intervalo de tiempo) entre dos fechas.

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

Parte Descripción

interval Requerido. Expresión de tipo cadena con el intervalo de tiempo utilizado para calcular

la diferencia entre date1 y date2. (Ver DateAdd)

Page 48: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

48 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

date1, date2 Se requiere; Variant (Date). Las dos fechas que se van a utilizar en el cálculo.

firstdayofweek Opcional. Constante que especifica el primer día de la semana. Si no se espe-

cifica, se asume que es el domingo:. Sunday 1 Domingo (predeterminado), Monday 2 Lunes

firstweekofyear Opcional. Constante, que especifica la primera semana del año. Si no se es-

pecifica, se asume que es aquélla en la que se encuentre el 1 de enero. VbFirstJan1 1

Empieza con la semana en la que se encuentra el 1 de enero (predeterminado).

FirstFourDays 2 Empieza con la primera semana que tenga al menos cuatro días en el

nuevo año. FirstFullWeek 3 Empieza con la primera semana que esté completamente in-

cluída en el nuevo año.

Días desde hoy: DateDiff("d", Date(), ―17-ago-2000‖)

DatePart Un parte específica de una fecha

DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

Trimestre: DatePart("q", ―27-jun-98‖)

Day Número del día del mes.

MiFecha = #12 febrero 1969# ' Asigna una fecha.

MiDía = Day(MiFecha) ' MiDía contiene 12.

Format Un número, fecha, hora o hilera de texto formateada.

Format(expresión[, formato[, primerdíadesemana[, primerdíadeaño]]])

Formato:

Números Utilice formatos numéricos con nombre predefinidos o cree formatos numéri-

cos definidos por el usuario.

Fechas y horas Utilice formatos de fecha/hora con nombre predefinidos o cree formatos de

fecha/hora definidos por el usuario.

Números seriales de fecha y hora Utilice formatos de fecha y hora o formatos numéricos.

Cadenas Cree sus propios formatos de cadena definidos por el usuario.

MiCadena = Format(Time, "Long Time") Devuelve la fecha actual del sistema en el formato

largo de fecha definido por el sistema.

MiCadena = Format(Date, "Long Date")

MiCadena = Format(MiHora, "h:m:s") ' Devuelve "17:4:23".

MiCadena = Format(MiHora, "hh:mm:ss AMPM") ' Devuelve "05:04:23 PM".

MiCadena = Format(MiFecha, "dddd, d mmm aaaa")' Devuelve "Miércoles,

' 27 de Ene de 1993".

' Si no se suministra el formato, devuelve una cadena.

MiCadena = Format(23) ' Devuelve "23".

' Formatos definidos por el usuario.

MiCadena = Format(5459.4, "##,##0.00") ' Devuelve "5.459,40".

MiCadena = Format(334.9, "###0.00") ' Devuelve "334,90".

MiCadena = Format(5, "0.00%") ' Devuelve "500,00%".

MiCadena = Format("HOLA", "<") ' Devuelve "hola".

MiCadena = Format("Esto es", ">") ' Devuelve "ESTO ES".

IIF (SiInm) Uno de dos argumentos dependiendo del resultado de una expresión.

IIf(expr, truepart, falsepart)

IIf(Prueba > 1000, "Grande", "Pequeño")

IsNull Un valor que indica si una expresión contiene el valor especial Null.

MiVar = ""

MiPrueba = IsNull(MiVar) ' Devuelve False.

MiVar = Null

MiPrueba = IsNull(MiVar) ' Devuelve True.

Left Un número específico de caracteres más a la izquierda de una hilera de texto.

UnaCadena = "Hola Mundo" ' Define la cadena.

MiCadena = Left(UnaCadena, 1) ' Devuelve "H".

MiCadena = Left(UnaCadena, 6) ' Devuelve "Hola M".

MiCadena = Left(UnaCadena, 10) ' Devuelve "Hola Mundo".

Right Un número específico de caracteres más a la derecha de una hilera de texto.

UnaCadena = "Hola Mundo" ' Define una cadena.

MiCadena = Right(UnaCadena, 1) ' Devuelve "o".

MiCadena = Right(UnaCadena, 6) ' Devuelve "Mundo".

MiCadena = Right(UnaCadena, 20) ' ' Devuelve "Hola Mundo".

Propiedades de Consulta Propiedad Títulos de columna (ColumnHeadings)

La propiedad Títulos de columna (ColumnHeadings) se puede utilizar para especificar el orden o para limitar el

número de columnas que aparecen en una consulta de tabla de referencias cruzadas. Por ejemplo, en una consulta

Page 49: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 49

que muestra nombres de países, quizás desee mostrarlos en un orden específico, como primero Estados Unidos,

segundo Canadá y tercero el Reino Unido.

Valores:

Los valores de los datos del campo Encabezado de columna de la consulta de tabla de referencias cruzadas se

introducen como una expresión de cadena en el orden en que se desea presentar los encabezados en la hoja de

datos para la consulta de tabla de referencias cruzadas, separados por una coma (o el separador de lista estableci-

do en el cuadro de diálogo Propiedades de Configuración regional del Panel de control de Windows). La tabla

siguiente muestra algunos ejemplos de valores de la propiedad Títulos de columna (ColumnHeadings) y el resul-

tado en la hoja de datos de la consulta de tabla de referencias cruzadas.

Valor Resultado

―Trimestre 1‖, ―Trimestre 2‖, ―Trimestre 3‖, ―Trimestre 4‖ Muestra encabezados de columnas para cada tri-

mestre.

―México‖, ―Canadá‖, ―USA‖ Muestra encabezados de columnas para cada país.

Esta propiedad se puede establecer utilizando la hoja de propiedades de la consulta. También se puede establecer

en la vista SQL de la ventana Consulta o en Visual Basic utilizando una cláusula PIVOT en la instrucción SQL.

Nota Los encabezados de columna que se especifiquen para la propiedad Títulos de columna (ColumnHea-

dings) tienen que coincidir exactamente con los valores de los datos del campo Encabezado de columna de la

cuadrícula de diseño de consulta. De lo contrario, los datos no aparecerán en las columnas.

Comentarios:

La propiedad Títulos de columna (ColumnHeadings) se utiliza para obtener más control sobre la apariencia de

los encabezados de columna en una consulta de tabla de referencias cruzadas. De forma predeterminada, Access

muestra todos los valores de los datos de encabezados de columna en orden ascendente. Por ejemplo, si el nom-

bre del campo Encabezado de columna es Mes, los encabezados de columna predeterminados que se muestran

serán Abril, Agosto, Diciembre, Febrero, etc. La propiedad Títulos de columna (ColumnHeadings) se puede

utilizar para mostrar los datos en el orden correcto con los valores apropiados: ―Enero‖, ―Febrero‖, ―Marzo‖, etc.

Si se incluye un encabezado de columna en el valor de la propiedad Títulos de columna (ColumnHeadings), la

columna siempre aparece en la vista Hoja de datos de la consulta aunque no contenga ningún dato. Esto es útil

para los informes basados en una consulta de tabla de referencias cruzadas, por ejemplo cuando siempre se desea

mostrar los mismos encabezados de columna en el informe.

Sugerencia: La propiedad Títulos de columna (ColumnHeadings) se puede utilizar para aumentar la velocidad

de algunas consultas de tablas de referencias cruzadas limitando el número de columnas que aparecen.

Propiedad Permisos de ejecución

La propiedad Permisos de ejecución se puede utilizar en un entorno multiusuario con un grupo de trabajo prote-

gido para que no tengan efecto los permisos de usuario existentes. Esto permite ver una consulta o ejecutar una

consulta de datos anexados, de eliminación, de creación de tabla o actualización para las que no se tendría per-

miso de ejecución de otra forma. Por ejemplo, como usuario se puede tener permiso de sólo lectura para consul-

tas, mientras el propietario de las consultas tiene permiso de lectura/escritura. Si el propietario establece la pro-

piedad Permisos de ejecución para especificar los permisos de propietario, se puede ejecutar una consulta de

datos anexados para agregar registros a una tabla.

Valores:

La propiedad Permisos de ejecución puede tener los valores siguientes.

Valor Descripción

Del propietario Todos los usuarios tienen permisos de propietario para ver o ejecutar la consulta.

Del usuario (Predeterminado) Los usuarios sólo tienen sus propios permisos para ver o ejecutar la consulta.

Esta propiedad se puede establecer utilizando la hoja de propiedades de la consulta.

También se puede establecer la propiedad Permisos de ejecución en la vista SQL de la ventana Consulta utili-

zando la declaración WITH OWNERACCESS OPTION en una instrucción SQL.

Propiedad BloqueosDelRegistro (RecordLocks)

Puede usar la propiedad BloqueosDelRegistro (RecordLocks) para determinar cómo se bloquean los registros y

qué sucede cuando dos usuarios intentan editar el mismo registro a la vez. Cuando edita un registro, Access

puede bloquear automáticamente ese registro para evitar que otros usuarios lo cambien antes de que usted haya

finalizado.

· Formularios. Especifica cómo se bloquean los registros en la tabla o consulta base cuando se actualizan

datos en una base de datos multiusuario.

· Informes. Especifica si los registros de la tabla o consulta base se bloquean o no mientras se hace la

vista preliminar o se imprime un informe.

· Consultas. Especifica si los registros de una consulta (normalmente una consulta de acciones en una

base de datos multiusuario) se bloquean o no mientras se ejecuta la consulta.

Valores:

Los valores de la propiedad BloqueosDelRegistro (RecordLocks) son las siguientes.

Valor Descripción Visual Basic

Sin bloquear (Predeterminado ) En los formularios, dos o más usuarios pueden editar simultáneamente el

mismo registro. Esto se llama también bloqueo ―optimista‖. Si dos usuarios intentan guardar cambios en el mis-

Page 50: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

50 CONSULTAS - MENUS VISTA DISEÑO Págs. 155

mo registro, Access muestra un mensaje al usuario que intenta guardar el registro en segundo lugar. Este usuario

puede entonces descartar el registro, copiar el registro al Portapapeles, o reemplazar los cambios hechos por el

otro usuario. Este valor se usa típicamente en formularios de sólo lectura o en bases de datos de usuario único.

También se usa en bases de datos multiusuario para permitir que más de un usuario sea capaz de hacer cambios

en el mismo registro al mismo tiempo.En informes, los registros no se bloquean cuando se hace la vista prelimi-

nar o se imprime el informe.En consultas, los registros no se bloquean cuando se ejecuta la consulta. 0

Todos los registros Todos los registros en la tabla o consulta base se bloquean mientras el formulario está

abierto en la vista Formulario o la vista Hoja de datos, mientras se hace vista preliminar o se imprime el informe,

o mientras se ejecuta la consulta. Aunque los usuarios pueden leer los registros, ninguno de ellos puede editar,

agregar o eliminar ningún registro hasta que se cierre el formulario, se finalice la impresión del informe, o haya

finalizado la ejecución de la consulta 1

Registro editado (Sólo formularios y consultas) Una página de registros se bloquea en cuanto cualquier

usuario comienza a editar cualquier campo en el registro y permanece bloqueada hasta que el usuario se mueve a

otro registro. Consecuentemente, un registro sólo puede ser editado a la vez por una persona. Esto también se

llama bloqueo ―pesimista‖.2

Puede establecer esta propiedad usando la hoja de propiedades del formulario, una macro, o Visual Basic.

Comentarios:

Puede usar el valor Sin bloquear para formularios si sólo una persona usa las tablas o consultas bases o hace

todos los cambios a los datos.

En una base de datos multiusuario, puede usar el valor Sin Bloquear si desea usar bloqueo optimista y advertir a

los usuarios que intenten editar el mismo registro en un formulario. Puede usar el valor Registro editado si desea

evitar que dos o más usuarios editen datos al mismo tiempo.

Puede usar el valor Todos los registros cuando necesite asegurarse de que no se hacen cambios a los datos des-

pués de que comience la vista preliminar o la impresión de un informe o la ejecución de una consulta de datos

anexados, de eliminación, de creación de tabla, o de actualización.

En la vista Formulario o la vista Hoja de datos, cada registro bloqueado tiene un indicador de bloqueo en su

selector de registro.

Sugerencia: Para cambiar el valor predeterminado de la propiedad BloqueosDelRegistro (RecordLocks) para

los formularios, elija Opciones del menú Herramientas. Haga clic en la ficha Avanzadas en el cuadro de diálogo

Opciones y seleccione la opción deseada bajo Bloqueo predeterminado de registros.

Los datos en un formulario, informe o consulta de una base de datos Conectividad Abierta de Bases de Datos

(ODBC) se tratan como si se hubiese elegido el valor Sin bloquear independientemente del valor de la propiedad

BloqueosDelRegistro (RecordLocks).

Propiedad TipoRecordset (RecordsetType)

Puede utilizar la propiedad TipoRecordset (RecordsetType) para especificar el tipo de recordset que se hace

disponible para un formulario. Por ejemplo si no desea que se puedan modificar los datos de controles depen-

dientes cuando un formulario está en la vista Formulario o en la vista Hoja de datos, puede establecer la propie-

dad TipoRecordset (RecordsetType) a Snapshot.

Valores:

La propiedad TipoRecordset (RecordsetType) usa los siguientes valores.

Valor Descripción Visual Basic

Dynaset (Predeterminado) Puede editar controles dependientes basados en una tabla o en varias tablas con

relaciones uno-a-uno. En controles vinculados a campos basados en tablas con relaciones de uno a va-

rios, no puede editar datos del campo combinación del lado ―uno‖ de la relación, a menos que esté acti-

vada la actualización en cascada entre las tablas (Relaciones) 0

Dynaset (Actualizaciones no coherentes) Se pueden editar todas las tablas y los controles vinculados a sus

campos. 1

Snapshot Imposible editar las tablas o sus controles dependientes. 2

Puede establecer esta propiedad usando la hoja de propiedades del objeto, una macro, o Visual Basic.

Comentarios:

Puede crear formularios basados en varias tablas bases con campos vinculados a los controles del formulario.

Dependiendo del valor de la propiedad TipoRecordset (RecordsetType), podrá limitar qué control dependiente se

puede editar.

Además de la edición del control proporcionada por la propiedad TipoRecordset (RecordsetType), cada control

del formulario tiene una propiedad Bloqueado (Locked) que puede utilizar para especificar si el control y los

datos subyacentes se pueden editar. Si la propiedad Bloqueado (Locked) se establece a Sí, no se podrán editar los

datos.

Valores únicos. Impedir que se muestren los registros duplicados en los resultados de la consulta

Access considera un registro como único en tanto el valor de cualquier campo de un registro es diferente del

valor del mismo campo en otro registro. En una consulta, no tiene necesariamente que mostrar todos los campos

que componen los registros de las tablas o consultas base. Por lo tanto, si el campo que distingue a un registro de

otro no está en la cuadrícula de diseño de la consulta, el resultado de la consulta puede incluir registros duplica-

Page 51: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 51

dos. Por ejemplo, si agrega el campo Apellido y el campo País a la cuadrícula de diseño de la consulta, podría

parecer que tiene registros duplicados cuando varios empleados tengan el mismo apellido y vivan en el mismo

país. Sin embargo, los registros no están duplicados en la tabla base, debido a que IdEmpleado es único para

cada registro.

Puede mostrar registros únicos en base a todos los campos de la tabla o consulta base, y no sólo teniendo en

cuenta los campos de la cuadrícula de diseño de la consulta o puede mostrar registros únicos teniendo en cuenta

sólo los campos de la cuadrícula de diseño de la consulta. Con estas configuraciones, si hay duplicados, la con-

sulta muestra una ocurrencia del registro pero no los duplicados.

Impedir registros duplicados en una consulta basada en campos de la tabla base

1 Abra una consulta en la vista Diseño.

2 Seleccione la consulta haciendo clic en cualquier parte de la vista Diseño de la consulta excepto en la

cuadrícula de diseño y en las listas de campos.

3 Haga clic en Propiedades en la barra de herramientas para mostrar la hoja de propiedades de la consul-

ta.

4 Establezca la propiedad RegistrosÚnicos como Sí.

Notas

· La propiedad RegistrosÚnicos sólo tiene efecto cuando utiliza más de una tabla en la consulta y selec-

cione campos de las tablas.

· Cuando la propiedad RegistrosÚnicos está establecida como Sí, Access establece automáticamente la

propiedad ValoresÚnicos como No.

· Como alternativa a configurar la propiedad RegistrosÚnicos, puede agregar a la cuadrícula de diseño el

campo que diferencia a un registro de otro.

Impedir registros duplicados en una consulta basada en campos de la cuadrícula de diseño

1 Abra una consulta en la vista Diseño.

2 Seleccione la consulta haciendo clic en cualquier parte de la vista Diseño de la consulta excepto en la

cuadrícula de diseño y en las listas de campos.

3 Haga clic en Propiedades en la barra de herramientas para mostrar la hoja de propiedades de la consul-

ta.

4 Establezca la propiedad ValoresÚnicos como Sí.

Si el resultado de la consulta incluye más de un campo, la combinación de valores de todos los campos debe ser

única para un registro dado a incluir en el resultado.

5 Para ver el resultado de la consulta, haga clic en Ver en la barra de herramientas.

Nota Cuando la propiedad ValoresÚnicos está establecida como Sí, Access establece automáticamente la pro-

piedad RegistrosÚnicos como No.

Campos en blanco en consultas. Cuando un campo no contiene ningún valor, contiene un valor Null o, para campos de tipo Texto, Memo o Hi-

pervínculo, un valor Null o una cadena de longitud cero. Si existen valores Null en un campo, puede afectar a los

resultados de la consulta. A continuación se indican algunas pautas que debe seguir para trabajar con las consul-

tas con valores Null y cadenas de longitud cero.

Combinar campos que contienen valores Null

Al combinar tablas en una consulta, el resultado incluirá únicamente los registros que no contengan valores Null

en los campos coincidentes. Por ejemplo, para ver una lista de Proveedores y Clientes que viven en la misma

región, cree una consulta que incluya las tablas Proveedores y Clientes, y las tablas se combinarán por el campo

Región. Cuando vea los resultados, sólo verá los valores de los registros que contengan un valor en el campo

Región de ambas tablas.

Buscar valores Null o cadenas de longitud cero

Si utiliza una consulta para buscar valores Null o cadenas de longitud cero, escriba Es Nulo en la celda Criterios

para buscar los valores Null, o escriba dos signos de dobles comillas(― ―) en la celda Criterios para buscar cade-

nas de longitud cero (no escriba ningún espacio en blanco dentro de las comillas).

Entender cómo los valores Null afectan a los cálculos numéricos

Si está utilizando una función agregada para calcular la suma, promedio, cuenta o cualquier otra cantidad sobre

los valores de un campo, los registros de ese campo que tengan valores Null no se incluirán en el cálculo. Esto es

verdad tanto si calcula la función agregada mediante la fila Total de la cuadrícula de diseño de la consulta, el

Asistente para consultas sencillas o una expresión personalizada. Por ejemplo, si utiliza la función Cuenta

(Count) para contar el número de valores de un campo, devolverá una suma de todos los registros cuyos valores

no son Null. Si desea encontrar el número total de registros, incluyendo los valores Null, utilice Cuenta (Count)

con el carácter comodín asterisco (*).

Si en una expresión (como [UnidadesEnExistencia]+[UnidadesEnPedido]) utiliza un operador aritmético (como

+, -, *, /), y uno de los campos de la expresión contiene un valor Null, el resultado de toda la expresión será un

valor Null.

Convertir valores Null a cero

Cuando tenga campos que contengan valores Null, es posible crear una expresión que convierta los valores Null

a cero. Puede hacerlo si desea que los registros que contengan valores Null se incluyan en el cálculo agregado o

Page 52: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

52 FORMULARIOS - MENUS DE VISTA FORMULARIO Y HOJA DATOS Págs. 155

si desea evitar que una expresión dé como resultado un valor Null cuando uno de los campos de la expresión

contenga valores Null. Para convertir valores Null a cero, utilice la función Nz. Por ejemplo:

Nz([Subtotal])+Nz([Carga])

Combinar campos Texto que contengan valores Null

Si está utilizando una expresión para combinar dos campos que contienen valores de texto y uno o ambos de los

campos contienen valores Null, utilice el operador & en lugar del operador + para combinar los valores. El ope-

rador & combinará los valores aunque éstos contengan valores Null, mientras que el operador + devolverá un

valor Null si alguno de los dos valores es Null. Por ejemplo:

NombreCompleto: [Apellido] & ― ― & [Nombre]

Ordenar por campos que contengan valores Null y cadenas de longitud cero

Cuando ordena un campo en sentido ascendente, cualquier registro en el que ese campo contiene un valor Null se

muestra primero. Si un campo contiene tanto valores Null como cadenas de longitud cero, los valores Null apa-

recen primero en el criterio de ordenación, seguidos inmediatamente de las cadenas de longitud cero.

Utilizar el carácter comodín asterisco (*) para devolver valores no Null

Si utiliza una expresión Como ―*‖ al definir los criterios de la consulta para un campo, los resultados de la con-

sulta incluirán las cadenas de longitud cero de ese campo, pero no los valores Null.

FORMULARIOS Los formularios muestran cómo obtener el máximo de la vista, introducción y modificación de sus datos en for-

matos en pantalla atractivos y efectivos. Puede usar los formularios para poder introducir, modificar o ver datos

en una tabla o consulta; cuadros de diálogo en los que pide información y luego lleva a cabo una acción basada

en la entrada; y formularios de paneles de control desde los que puede abrir otros formularios e informes en su

base de datos.

Puede crear un formulario usted solo o hacer que Access cree un formulario automáticamente mediante un Asis-

tente para formularios. Un asistente acelera el proceso de creación de un formulario ya que realiza automática-

mente todo el trabajo básico. Cuando se utiliza un Asistente para formularios, Access solicita información y crea

un formulario basado en las respuestas. Aunque tenga experiencia en la creación de formularios, puede que des-

ee utilizar un Asistente para formularios para organizar rápidamente todos los controles en el formulario. A con-

tinuación, puede cambiar a la vista Diseño para personalizar el formulario.

La mayor parte de la información de un formulario proviene de un origen de registros base. Otra información del

formulario está almacenada en el diseño del mismo.

El vínculo entre un formulario y su origen de registros se crea usando objetos gráficos denominados controles. El

tipo más común de control que se usa para mostrar datos es un Cuadro de texto.

FORMULARIOS - MENUS DE VISTA FORMULARIO Y HOJA DATOS Incluídos en Vista Hoja de Datos de Tablas y Consultas.

FORMULARIOS - MENUS DE VISTA DISEÑO. MENU EDICION

Seleccionar formulario o informe (CTRL+R): Selecciona el formulario o informe completo de forma que

pueda, por ejemplo, ver o modificar sus propiedades. Cuando está visible la Regla, también puede hacer clic en

el selector de formulario o de informe para seleccionar todo el formulario o informe.

MENU VER

Lista de campos: Presenta una lista de los campos contenidos en el origen de registros base del formulario o

informe. Se pueden arrastrar los campos desde la lista para crear controles que se hacen dependientes de manera

automática del origen del registros.

Orden de tabulación: Cambia el orden en el que se mueve el punto de inserción a través de los controles cuan-

do se usa el tabulador en un formulario.

Código: Presenta el código del formulario o informe seleccionado en la ventana Módulo.

Regla: Muestra u oculta las reglas de la parte superior e izquierda de un formulario o informe en la vista Diseño.

Cuadrícula: Muestra u oculta la cuadrícula. Utilice la cuadrícula para cambiar el tamaño o alinear uniforme-

mente los controles cuando diseña un formulario o informe.

Cuadro de herramientas: Muestra u oculta el cuadro de herramientas. Utilice el cuadro de herramientas para

crear controles en un formulario o informe.

Encabezado o pie de página o de formulario: Incluye o elimina una sección de encabezado y una sección de

pie de página/formulario. Utilice estas secciones, por ejemplo, para mostrar los títulos, instrucciones o botones

de comando. Estas secciones aparecen en la parte superior e inferior de la ventana Formulario y al principio y al

final de la salida impresa, aunque no aparecen en la vista Hoja de datos.

MENU INSERTAR

Números de página: Inserta una expresión de número de página en un control de tipo cuadro de texto de un

formulario o informe. Puede especificar el formato, la posición, la alineación y si desea que se muestre o no el

número de página en la primera página.

Page 53: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 53

Fecha y hora: Inserta una expresión de la fecha y hora actuales en un control de tipo cuadro de texto de un for-

mulario o informe. Se puede especificar el formato y si desea que se muestre sólo la fecha o la hora.

Gráfico: Muestra los datos de Access en un gráfico de un formulario o un informe. Para agregar un gráfico

creado con otra aplicación, como Excel o Lotus 1-2-3, utilice la herramienta Marco de objeto independiente o la

herramienta Marco de objeto dependiente del cuadro de herramientas.

Para crear este control, en el menú Insertar, elija Gráfico y, a continuación, haga clic en el formulario o el infor-

me en el que desea situar el control. Access inicia el Asistente para gráficos.

Imagen: Inserta una imagen dentro de un control en un formulario o informe. Utilice un control de imagen para

imágenes estáticas, tales como un logotipo, y para obtener un acceso rápido.

Objeto

Ver Objeto en Menú de Vista Hoja de datos de Tabla, Pág 16.

Control ActiveX: Agrega un control ActiveX (por ejemplo el control Calendar) a un formulario o informe. Los

controles ActiveX se almacenan como archivos separados y se deben registrar. Los controles ActiveX se pueden

obtener de o de otras compañías.

Hipervínculo: Inserta o modifica una dirección de hipervínculo o una dirección URL (Uniform Resource Loca-

tor), incluida la subdirección y el tipo de ruta de acceso (ya sea absoluta o relativa). En la vista Hoja de datos y

Formulario, el campo de dirección de hipervínculo debe estar seleccionado.

Insertar página en el control ficha: Inserta una página nueva a la derecha de las páginas existentes en el control

ficha y la sitúa en primera posición en la secuencia de orden de las páginas. Ver Control Ficha.

MENU FORMATO

Autoformato: Aplica su elección de formatos predefinidos a un formulario o informe, por ejemplo la imagen del

fondo y las fuentes para los controles.

Definir valores predeterminados de los controles: Utiliza las propiedades del control seleccionado como pro-

piedades predeterminadas para cualquier control del mismo tipo que agregue posteriormente al formulario o

informe activo.

Cambiar a...: Cambia el tipo de control seleccionado a otro tipo.

Ajustar a la cuadrícula: Activa y desactiva Ajustar a la cuadrícula. Cuando está activado, Access alinea los

controles con los puntos de la cuadrícula. Cuando está desactivado, puede colocar los controles en cualquier

punto del formulario o informe.

Alinear a la cuadrícula: Alinea la esquina superior izquierda de cada control seleccionado con el punto más

cercano de la cuadrícula. También Alinear A la izquierda, A la derecha, Arriba, Abajo.

Tamaño, Ajustar: Ajusta el tamaño del control seleccionado en un formulario o informe en función de su con-

tenido. Puede que desee agrandar un control, por ejemplo, si incrementa el tamaño de fuente utilizado para su

texto. A la cuadrícula: Mueve todos los lados de los controles seleccionados hacia dentro o fuera para colocar-

los sobre los puntos más cercanos de la cuadrícula. Use este comando, por ejemplo, cuando haya cambiado el

grosor de la cuadrícula y quiera volver a ajustar el tamaño de los controles en base a esta nueva configuración.

También Tamaño Al más alto, Al más corto, Al más ancho, Al más estrecho. Espacio Horizontal: Iguala, aumenta o disminuye el espacio horizontal entre tres o más controles selecciona-

dos.

Espacio Vertical: Iguala, aumenta o disminuye el espacio vertical entre tres o más controles seleccionados.

Traer al frente: Mueve el control seleccionado a la parte superior de la pila de controles superpuestos.

Enviar al fondo: Mueve el control seleccionado a la parte inferior de la pila de controles superpuestos.

Crear un formulario mediante Autoformulario Autoformulario crea un formulario que presenta todos los campos y registros de la tabla o consulta seleccionada.

Cada campo aparece en una línea diferente con una etiqueta a su izquierda.

1 En la ventana Base de datos, haga clic en la ficha Tablas o Consultas.

2 Seleccione la tabla o consulta en la que desea basar el formulario o abra la tabla o consulta en cualquier

vista.

3 Haga clic en la flecha situada junto al botón Nuevo objeto en la barra de herramientas y, a continuación,

haga clic en Autoformulario.

Crear un formulario con un asistente. 1 En la ventana Base de datos, haga clic en la ficha Formularios.

2 Elija el botón Nuevo.

3 En el cuadro de diálogo Nuevo formulario, seleccione el asistente que desea utilizar. En el lado izquier-

do del cuadro de diálogo aparecerá una descripción del asistente.

4 Seleccione el nombre de la tabla o consulta que contiene los datos en los que desea basar el formulario.

Nota: No es necesario que siga este paso si elige la opción Asistente para formularios; puede especificar el

origen del registro para el formulario en el asistente.

5 Elija Aceptar.

6 Si ha seleccionado Asistente para formularios, Asistente para gráficos o Asistente para tablas dinámicas

en el paso 3, siga las instrucciones de los cuadros de diálogo del asistente. Si ha seleccionado Autoformulario:

Page 54: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

54 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

columnas, Autoformulario: tabular o Autoformulario: hoja de datos, Access crea el formulario de forma automá-

tica.

Si el formulario creado no tiene el aspecto deseado, puede cambiarlo en la vista Diseño.

Nota: Si selecciona una de las opciones de Autoformulario, Access utiliza el último autoformato especificado,

ya sea en el Asistente para formularios o mediante el uso del comando Autoformato del menú Formato en la

vista Diseño.

Arrastrado un hoja de datos, Access muestra el subformulario como una hoja de datos.

Crear un formulario basado en más de una tabla. En la primera pantalla del Asistente para formularios, puede seleccionar los campos que desea incluir en el for-

mulario. Estos campos pueden proceder de una o de varias tablas. Cuando se utiliza el Asistente para formularios

para crear un formulario basado en varias tablas, Access crea una instrucción SQL detrás del formulario. La

consulta o instrucción SQL incluye la información sobre qué tablas y qué campos utilizar.

Puede utilizar un Asistente para formularios para crear un formulario que presente datos de varias tablas, ya sea

un "formulario plano" o un "formulario jerárquico". Un ejemplo de formulario plano es un formulario que pre-

senta productos y proveedores. Un formulario jerárquico es un formulario con uno o más subformularios. Los

subformularios son útiles si desea mostrar datos de tablas que contienen una relación uno a varios. Por ejemplo,

podría tener un formulario Categorías que incluyera datos de una tabla Categorías y de una tabla Productos.

Puede que desee presentar los datos jerárquicamente sin utilizar un subformulario. Por ejemplo, si tiene un for-

mulario con muchos controles, puede que no le quede espacio para un subformulario. En ese caso, puede utilizar

el Asistente para formularios para crear formularios sincronizados. En ellos, al hacer clic en un botón de coman-

do del formulario, se abre otro formulario que está sincronizado con el registro del primer formulario.

Plantillas de formularios y de informes. Cuando crea un formulario o informe sin utilizar un asistente, Access utiliza una plantilla para definir las carac-

terísticas predefinidas del formulario o informe.

La plantilla determina qué secciones tendrá un formulario o un informe y define las dimensiones de cada sec-

ción. La plantilla también contiene todos los valores predeterminados de las propiedades del formulario o infor-

me, así como sus secciones y controles.

La plantilla predeterminada de los formularios e informes se llama Normal. No obstante, es posible utilizar cual-

quier formulario o informe ya existente como plantilla. También puede crear un formulario o informe para utili-

zarlo como plantilla.

Nota:

· Cambiar la plantilla no tiene ningún efecto sobre los formularios o informes existentes.

· Una plantilla no crea controles en un nuevo formulario o informe.

· Access guarda los valores para las opciones Plantilla para formulario y Plantilla para informe en el

archivo de información del grupo de trabajo de Access, no en su base de datos de usuario (el archivo .mdb).

Cuando cambia un valor establecido de una opción, los cambios se aplican a cualquier base de datos que abra o

cree. Para ver el nombre de la plantilla que está actualmente en uso por los nuevos formularios o informes, haga

clic en Opciones del menú Herramientas y, después, haga clic en la ficha Formularios/Informes.

· Para utilizar sus plantillas en otras bases de datos, copie o exporte las plantillas. Si las plantillas no están

en una base de datos, Access utiliza la plantilla Normal para cualquier nuevo formulario o informe de nueva

creación. No obstante, los nombres de las plantillas aparecen en las opciones Plantilla para formulario y Plantilla

para informe de cada base de datos del sistema de base de datos, incluso si las plantillas no están en todas las

bases de datos.

Especificar una nueva plantilla para los formularios e informes:

1 En el menú Herramientas, haga clic en Opciones.

2 Haga clic en la ficha Formularios/Informes.

3 Escriba el nombre de la nueva plantilla en el cuadro Plantilla para formulario o Plantilla para informe.

Nota: Puede utilizar un formulario o informe ya existente como plantilla, o bien puede crear un formulario o

informe específicamente para que se utilice como plantilla.

4 Haga clic en Aceptar.

Secciones de formularios. Puede hacer más eficiente un formulario mediante la adición de una o más secciones. La mayoría de los formula-

rios constan de una única sección, pero también pueden incluir otras secciones, tales como un encabezado de

formulario, encabezado de página, pie de página y pie de formulario.

Un encabezado de formulario muestra información que desea mostrar para cada registro, como un título para el

formulario o botones de comando que abren formularios relacionados o llevan a cabo otras tareas. Los encabeza-

dos de formulario aparecen en la parte superior de la pantalla en la vista Formulario y en la parte superior de la

primera página una vez impresa.

Un encabezado de página muestra información tal como títulos, gráficos, encabezados de columna o cualquier

información que se desee en la parte superior de cada página impresa. Los encabezados de página sólo aparecen

en formularios impresos.

Page 55: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 55

Una sección Detalle muestra registros. Puede mostrar un registro en la pantalla o página o puede mostrar tantos

como se pueden ajustar.

Un pie de página muestra información tal como la fecha, el número de página o cualquier información que

desee en la parte inferior de cada página impresa. Los pies de página sólo aparecen en formularios impresos.

Un pie de formulario muestra información que desea mostrar para cada registro tal como botones de comando

instrucciones para usar el formulario. Los pies de formulario aparecen sólo en la parte inferior de la pantalla en

la vista Formulario o después de la última sección Detalle de la última página una vez impresa.

Agregar o quitar un encabezado o pie de formulario o un encabezado o pie de página:

1 Abra el formulario en la vista Diseño.

2 En el menú Ver, elija Encabezado o pie de formulario o Encabezado o pie de página.

Nota: Los encabezados y los pies de formulario aparecen en la parte superior e inferior de un formulario en la

vista Formulario y al principio y al final de un formulario impreso. Los encabezados y los pies de página apare-

cen en la parte superior e inferior de cada página impresa; no aparecen en la vista Formulario.

· Si quita un encabezado y un pie, Access elimina los controles del encabezado y el pie.

· Sólo se pueden agregar un encabezado y un pie por pares. Si no desea tener ambos, puede ajustar a cero

el alto del que no desea o puede asignarle a su propiedad Visible (Visible) el valor No. También puede establecer

la propiedad MostrarCuando (DisplayWhen) del encabezado y el pie de un formulario para especificar cuándo

desea que aparezcan el encabezado y el pie (Siempre, Sólo al imprimir o Sólo en pantalla).

Crear un formulario emergente o un cuadro de diálogo personalizado Puede crear un formulario emergente para presentar la información a un usuario o para pedirle datos. Un formu-

lario emergente permanece visible sobre otros formularios abiertos, incluso cuando otro formulario está activo.

Un formulario emergente puede ser no modal o modal. Cuando un formulario emergente es no modal, se puede

tener acceso a otros objetos y comandos de menú mientras el formulario permanece abierto. Por ejemplo, en un

formulario Pedidos, puede agregar un botón de comando que presente un formulario emergente de Productos. El

formulario emergente presenta la información de un producto en el formulario Pedidos.

1 Cree el formulario. El formulario puede incluir cualquier combinación de controles.

2 En la vista Diseño del formulario, haga doble clic en el selector de formulario para abrir así la hoja de

propiedades del formulario.

3 En el cuadro de la propiedad Emergente (PopUp), haga clic en Sí.

4 En el cuadro de la propiedad EstiloDeLosBordes (BorderStyle), seleccione Fino si no desea que el for-

mulario sea ajustable; de lo contrario, pase al siguiente paso. Si selecciona el valor Fino, podrá desplazar el for-

mulario emergente pero no podrá ajustar el tamaño.

5 Cree una macro o un procedimiento de evento que abra el formulario.

Nota: Para ver un ejemplo de un procedimiento de evento que presente un formulario emergente no modal,

haga clic en el botón Generar situado junto al cuadro de la propiedad AlHacerClic (OnClick) del botón. Ver los

detalles del producto en el formulario Pedidos en la aplicación de ejemplo Pedidos.

6 Adjunte la macro o el procedimiento de evento a un formulario o informe, especificando el nombre de

la macro o el procedimiento de evento como el valor para la propiedad del evento adecuado. Por ejemplo, escri-

ba el nombre de la macro o el procedimiento de evento en el cuadro de la propiedad AlHacerClic (OnClick) de

un botón de comando. Ver Pág 58, Propiedad Emergente (PopUp). Ver Pág 59, Prop. Modal.

Cuando un formulario emergente es modal, no se puede tener acceso a ningún otro objeto o comando de menú a

menos que oculte o cierre el formulario. Un formulario emergente modal se llama también cuadro de diálogo

personalizado. Por ejemplo, podría crear un cuadro de diálogo personalizado que preguntará el informe que des-

ee imprimir.

1 Cree el formulario. El formulario puede tener cualquier combinación de controles.

2 En la vista Diseño del formulario, haga doble clic en el selector de formulario para abrir la hoja de

propiedades del formulario.

3 En el cuadro de la propiedad Emergente (PopUp), haga clic en Sí.

4 En el cuadro de la propiedad Modal (Modal), haga clic en Sí.

5 En el cuadro de la propiedad EstiloDeLosBordes (BorderStyle), seleccione Diálogo. Si selecciona el

parámetro Diálogo, el formulario tiene un borde grueso y sólo puede incluir una barra de título y un menú Con-

trol. El formulario no se puede maximizar, minimizar o cambiar de tamaño.

6 Cree una macro o procedimiento de evento que abra el formulario.

Nota: Para ver un ejemplo de una macro que abre un cuadro de diálogo personalizado, vea el botón Imprimir

factura del formulario en la barra de herramientas del formulario Pedidos en la aplicación de ejemplo Pedidos.

7 Adjunte la macro o el procedimiento de evento a un formulario o informe especificando el nombre de la

macro o procedimiento de evento como el valor para la propiedad de evento adecuada. Por ejemplo, escriba el

nombre de la macro o procedimiento de evento en el cuadro de la propiedad AlHacerClic (OnClick) de un botón

de comando.

Nota: Un cuadro de diálogo personalizado contiene normalmente uno o más botones de comando que ejecutan

macros o procedimientos de evento que utilizan la información introducida en el cuadro de diálogo para desarro-

Page 56: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

56 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

llar otras acciones. Estos botones se llaman frecuentemente Aceptar o Cancelar. Puede controlar qué botón tiene

el enfoque y cuál será el de cancelar estableciendo las propiedades Predeterminado (Default) y Cancelar (Cancel)

para esos tipos de botones de comando.

Para situar el cuadro de diálogo personalizado en la pantalla, abra el formulario en la vista Diseño, maximice la

ventana de Access , coloque el cuadro de diálogo donde desee y guarde el formulario. El cuadro de diálogo

aparecerá en esta posición cuando se abra (suponiendo que la propiedad CentradoAutomático (AutoCenter) está

establecida a No.

Si desea utilizar el formulario como un formulario normal además de como un cuadro de diálogo, utilice el valor

Diálogo de la acción AbrirFormulario para abrir el formulario temporalmente como un cuadro de diálogo en

lugar de utilizar este procedimiento.

Algunas Propiedades de Formularios (Datos) Propiedad OrigenDelRegistro (RecordSource)

La propiedad OrigenDelRegistro (RecordSource) se puede utilizar para especificar el origen de los datos para un

formulario o informe. Se pueden mostrar los datos de una tabla, consulta o instrucción SQL. Por ejemplo, para

mostrar y editar los datos de la tabla Empleados en un formulario, se establece la propiedad OrigenDelRegistro

(RecordSource) del formulario a Empleados. A continuación se pueden hacer depender los controles del formu-

lario o informe a los campos especificados de la tabla Empleados estableciendo la propiedad OrigenDelControl

(ControlSource) del control al nombre de un campo de la tabla. Por ejemplo, puede hacer depender un control al

campo Apellido en la tabla Empleados estableciendo a Apellido la propiedad OrigenDelControl (ControlSource)

del control.

Valores

El valor de la propiedad OrigenDelRegistro (RecordSource) puede ser un nombre de tabla, un nombre de una

consulta o una instrucción SQL. Por ejemplo, se pueden utilizar los siguientes valores:

Valores de ejemplo Descripción

Empleados Un nombre de la tabla que especifica la tabla Empleados como el origen de los datos.

SELECT Pedidos.FechaPedido FROM Pedidos; Una instrucción SQL que especifica el campo FechaPedido

en la tabla Pedidos como el origen de los datos. Puede obligar a un control en un formulario o informe al campo

FechaPedido en la tabla Pedidos estableciendo la propiedad OrigenDelControl (ControlSource) del control a

FechaPedido.

La propiedad OrigenDelRegistro (RecordSource) se puede establecer usando la hoja de propiedades del formula-

rio o informe, con una macro o usando Visual Basic.

En Visual Basic, utilice una expresión de cadena para establecer esta propiedad.

Nota Cambiar el origen del registro de un formulario o informe abierto causa una NuevaConsulta (Requery)

automática de los datos bases.

Comentarios

Después de que se haya creado un formulario o informe, se puede cambiar su origen de los datos cambiando la

propiedad OrigenDelRegistro (RecordSource). La propiedad OrigenDelRegistro (RecordSource) también es útil

si se desea crear un formulario o informe reutilizable. Por ejemplo, se podría crear un formulario que incorpore

un diseño estándar, luego copiar el formulario y cambiar la propiedad OrigenDelRegistro (RecordSource) para

mostrar datos de una tabla, consulta o instrucción SQL diferente.

La limitación del número de registros contenidos en el origen del registro de un formulario puede mejorar el

rendimiento, especialmente cuando su aplicación se ejecuta en una red. Por ejemplo, se puede establecer la pro-

piedad OrigenDelRegistro (RecordSource) del formulario una instrucción SQL que devuelva un registro indivi-

dual y cambiar el origen del registro del formulario dependiendo del criterio seleccionado por el usuario.

Propiedad Filtro (Filter)

Puede utilizar la propiedad Filtro (Filter) para especificar que se muestre un subconjunto de registros, cuando se

aplica un filtro a un formulario, consulta o tabla.

Valores

La propiedad Filtro (Filter) es una expresión de cadena que consiste en una cláusula WHERE sin la palabra clave

WHERE. Por ejemplo, el siguiente código Visual Basic define y aplica un filtro para mostrar sólo los clientes de

EE.UU.:

Me.Filtro = "País = 'EE.UU.'"

Me.ActivarFiltro = True

Puede establecer esta propiedad utilizando hojas de propiedades de tablas o de formularios, una macro o Visual

Basic.

También puede establecer esta propiedad en la vista Formulario o en la vista Hoja de datos seleccionando Filtro

en el menú Registros y haciendo clic en uno de los comandos en el submenú.

Nota Los valores de la propiedad Filtro (Filter) no tienen efecto sobre la propiedad Filter de DAO.

Comentarios

Puede utilizar la propiedad Filtro (Filter) para guardar un filtro y aplicarlo en algún momento posterior. Los

filtros son guardados con los objetos en los que son creados. Cuando se abre el objeto son cargados automática-

mente, aunque no son aplicados automáticamente.

Page 57: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 57

Cuando se crea un nuevo objeto, hereda las propiedades OrigenDelRegistro (RecordSource), Filtro (Filter), Or-

denarPor (

OrderBy) y ActivarOrden (OrderByOn) de la tabla o consulta de la que fue creado.

Para aplicar un filtro guardado a un formulario, consulta o tabla, puede hacer clic en Aplicar filtro de la barra de

herramientas, hacer clic en Aplicar Filtro/orden en el menú Registros o utilizar una macro o Visual Basic para

establecer la propiedad ActivarFiltro (FilterOn) a Verdadero (True) (–1). En el caso de los informes, puede apli-

car un filtro estableciendo la propiedad ActivarFiltro (FilterOn) a Sí en la hoja de propiedades del informe.

El botón Aplicar Filtro indica el estado de las propiedades Filtro (Filter) y ActivarFiltro (FilterOn). El botón

permanece desactivado hasta que haya un filtro para aplicar. Si en la actualidad se está aplicando un filtro, el

botón Aplicar filtro aparecerá presionado.

Para aplicar un filtro automáticamente cuando se abre un formulario, especifíquelo en los valores de la propiedad

del evento OnOpen, o bien una macro que utilice la acción AplicarFiltro (ApplyFilter) o un procedimiento de

evento que utilice el método ApplyFilter del objeto DoCmd.

Puede eliminar un filtro haciendo clic en el botón Aplicar filtro presionado, haciendo clic en Quitar filtro u orde-

nar en el menú Registros o utilizando Visual Basic para establecer la propiedad ActivarFiltro (FilterOn) a Falso

(False) (0).

Nota Puede guardar un filtro como una consulta haciendo clic en Guardar como consulta en el menú Archivo

mientras permanezca en la ventana Filtro por formulario o en la ventana Filtro u orden avanzado.

Cuando la propiedad Filtro (Filter) se establece en la vista Diseño del formulario, Access no intenta validar la

expresión SQL. Si la expresión SQL no es válida, se producirá un error cuando se aplique el Filtro.

Propiedad OrdenarPor (OrderBy)

Puede utilizar la propiedad OrdenarPor (OrderBy) para especificar cómo desea ordenar los registros en un for-

mulario, consulta, informe o tabla.

Valores

La propiedad OrdenarPor (OrderBy) es una expresión de cadena que representa el nombre del campo o campos

por los que desea ordenar los registros. Cuando se utiliza más de un nombre de campo, separe los nombres con

una coma (,).

Cuando se establece la propiedad OrdenarPor (OrderBy) introduciendo uno o más nombres de campos, los regis-

tros son ordenados en orden ascendente. De forma similar, Visual Basic ordena estos campos en orden ascenden-

te de forma predeterminada.

Si desea ordenar los registros en orden descendente, escriba DESC al final de la expresión de cadena. Por ejem-

plo, para ordenar los registros de clientes en orden descendente por nombre de contacto, establezca la propiedad

OrdenarPor (OrderBy) a "NombreContacto DESC".

Puede establecer la propiedad OrdenarPor (OrderBy) utilizando la hoja de propiedades del objeto, en una macro

o Visual Basic.

Comentarios

En el caso de los informes, la propiedad ActivarOrden (OrderByOn) debe ser establecida a Sí, para aplicar el

orden especificado por la propiedad OrdenarPor (OrderBy) del objeto. Para los formularios, seleccione el campo

por el que desea ordenar los campos y o bien haga clic en el botón de ordenar apropiado en la barra de herra-

mientas o seleccione Ordenar en el menú Registros y haga clic en el comando que corresponda del submenú.

También puede establecer la propiedad ActivarOrden (OrderByOn) tanto para Formularios como Informes usan-

do Visual Basic.

Establecer la propiedad OrdenarPor (OrderBy) para un informe abierto hará que se ejecuten los procedimientos

de evento Close y Open del informe.

Nota Cuando se crea un nuevo objeto, éste hereda las propiedades OrigenDelRegistro (RecordSource), Filtro

(Filter), OrdenarPor (OrderBy) y ActivarOrden (OrderByOn) de la tabla o consulta desde donde fue creado. En

el caso de los formularios e informes, los filtros heredados no se aplican automáticamente cuando se abre un

objeto.

Propiedad PermitirEdiciones (AllowEdits)

La propiedad PermitirEdiciones (AllowEdits) se utiliza para especificar si un usuario puede modificar los regis-

tros guardados cuando use un formulario.

Valores

La PermitirEdiciones (AllowEdits) utiliza los siguientes valores.

Valor Descripción Visual Basic

Sí (Predeterminado) El usuario puede modificar los registros guardados. True (–1)

No El usuario no puede modificar los registros guardados. False (0)

La propiedad PermitirEdiciones (AllowEdits) se puede establecer usando la hoja de propiedades del formulario,

una macro o Visual Basic.

Observaciones

Puede usar la propiedad PermitirEdiciones (AllowEdits) para evitar cambios a los datos mostrados en un formu-

lario. Si dese impedir que se realicen cambios a los datos de un control determinado, use la propiedad Activado

(Enabled) o Bloqueado (Locked).

Page 58: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

58 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

Si desea evitar que se produzcan cambios en los registros existentes (hacer un formulario de sólo lectura), esta-

blezca las propiedades PermitirAgregar (AllowAdditions), PermitirEliminación (AllowDeletions) y PermitirEdi-

ciones (AllowEdits) a No. También puede hacer los registros de sólo lectura estableciendo la propiedad TipoRe-

cordset (RecordsetType) a Snapshot.

Cuando la propiedad PermitirEdiciones (AllowEdits) está establecida a No, no están disponibles ni el comando

Eliminar registro del menú Edición, ni el comando Entrada de datos del menú Registros.

Nota Cuando está establecido el argumento Modo de datos de la acción AbrirFormulario, Access anulará un

determinado número de valores de propiedades del formulario. Si el argumento Modo de datos de la acción

AbrirFormulario está establecido a Editar, Access abrirá el formulario con los siguientes valores de la propie-

dad:

· PermitirEdiciones (AllowEdits) Sí

· PermitirEliminación (AllowDeletions) Sí

· PermitirAgregar (AllowAdditions) Sí

· EntradaDeDatos (DataEntry) No

Para evitar que la acción AbrirFormulario anule alguno de estos valores de propiedad existentes, omita el valor

del argumento Modo de datos, de tal forma que Access use los valores de las propiedades definidos por el for-

mulario.

Propiedad EntradaDeDatos (DataEntry)

La propiedad EntradaDeDatos (DataEntry) se utiliza para especificar si se abre un formulario dependiente para

permitir sólo la entrada de datos. La propiedad EntradaDeDatos (DataEntry) no determina si los registros pueden

agregarse o no; sólo determina si se muestran los registros existentes.

Valores

La propiedad EntradaDeDatos (DataEntry) utiliza los siguientes valores.

Valor Descripción Visual Basic

Sí El formulario se abre mostrando sólo un registro en blanco. True (–1)

No (Predeterminado) El formulario se abre mostrando los registros existentes. False (0)

La propiedad EntradaDeDatos (DataEntry) se puede establecer usando la hoja de propiedades de un formulario,

una macro o Visual Basic.

Esta propiedad se puede establecer en cualquier vista.

Observaciones

La propiedad EntradaDeDatos (DataEntry) sólo tiene efecto cuando la propiedad PermitirAgregar (AllowAddi-

tions) está establecida a Sí.

Establecer la propiedad EntradaDeDatos (DataEntry) a Sí usando Visual Basic tiene el mismo efecto que hacer

clic en Entrada de datos en el menú Registros. Establecerla a No usando Visual Basic es equivalente a hacer clic

en Quitar filtro u ordenar en el menú Registros.

Nota Cuando se establece el argumento Modo de datos de la acción AbrirFormulario, Access anula un número

determinado de valores de propiedades del formulario. Si el argumento Modo de datos de la acción AbrirFormu-

lario está establecido a Editar, Access abrirá el formulario con los siguientes valores de las propiedades:

· PermitirEdiciones (AllowEdits) Sí

· PermitirEliminación (AllowDeletions) Sí

· PermitirAgregar (AllowAdditions) Sí

· EntradaDeDatos (DataEntry) No

Para evitar que la acción AbrirFormulario anule alguno de estos valores de propiedad existentes, omita el valor

del argumento Modo de datos, de tal forma que Access use los valores de las propiedades definidos por el for-

mulario.

Propiedad TipoRecordset (RecordsetType) Ver Pág 50 Prop. Tipo Recorset. (Otras) Propiedad Emergente (PopUp) Ver Pág 55, Crear Formulario emergente o Cuadro diálogo. Puede usar la propiedad Emergente (PopUp) para especificar si un formulario se abre como un formulario emer-

gente. Por ejemplo, establece la propiedad Emergente (PopUp) del formulario a Sí, la propiedad Modal a Sí, y la

propiedad EstiloDeLosBordes (BorderStyle) a Dialog para crear un cuadro de diálogo personalizado.

Valores

Los valores de la propiedad Emergente (PopUp) son:

Valor Descripción Visual Basic

Sí El formulario se abre como un formulario emergente en la vista Formulario. Permanece por encima de

todas las demás ventanas de Access. True (-1)

No (Predeterminado) El formulario no es un formulario emergente. False (0)

Puede establecer esta propiedad usando la hoja de propiedades, una macro, o Visual Basic.

La propiedad Emergente (PopUp) sólo se puede establecer en la vista Diseño del formulario.

Comentarios

Page 59: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 59

Para especificar el tipo de borde que desea para un formulario emergente, use la propiedad EstiloDeLosBordes

(BorderStyle). Habitualmente se establece "Delgado" en la propiedad EstiloDeLosBordes (BorderStyle) para los

formularios emergentes.

Sugerencia Puede usar las propiedades Emergente (PopUp), Modal y EstiloDeLosBordes (BorderStyle) para

crear un cuadro de diálogo personalizado. Establezca la propiedad Modal a Sí, la propiedad Emergente (PopUp)

a Sí, y la propiedad EstiloDeLosBordes (BorderStyle) a Diálogo para cuadros de diálogo personalizados.

Establecer la propiedad Emergente (PopUp) a Sí hace que el formulario sea un formulario emergente sólo cuan-

do haga algo de lo siguiente:

· Abrirlo en la vista Formulario desde la ventana Base de datos.

· Abrirlo en vista Formulario utilizando una macro o Visual Basic.

· Cambiar de la vista Diseño a la vista Formulario.

(Otras) Propiedad Modal Ver Pág 55, Crear Formulario emergente o Cuadro diálogo. Puede utilizar la propiedad Modal para especificar si un formulario se abre como un formulario modal. Cuando

un formulario se abre como un formulario modal, debe cerrar el formulario para poder mover el enfoque a otro

objeto.

Valores

La propiedad Modal puede tener los valores siguientes:

Valor Descripción Visual Basic

Sí El formulario se abre como un formulario modal en la vista Formulario. True (–1)

No (Predeterminado) El formulario se abre como un formulario no modal en la vista Formulario. False

(0)

Puede establecer esta propiedad mediante la hoja de propiedades del formulario, una macro o Visual Basic.

Comentarios

Al abrir un formulario modal, las demás ventanas de Access se deshabilitan hasta que se cierra el formulario

(aunque puede cambiar a otras ventanas de otras aplicaciones). Para deshabilitar menús y barras de herramientas

además de otras ventanas, establezca las propiedades Modal y Emergente (PopUp) del formulario a Sí.

Puede utilizar la propiedad EstiloDeLosBordes (BorderStyle) para especificar el tipo de borde que tendrá un

formulario. Normalmente, los formularios modales tienen la propiedad EstiloDeLosBordes (BorderStyle) esta-

blecida a Diálogo.

Sugerencia Puede utilizar las propiedades Modal, Emergente (PopUp) y EstiloDeLosBordes (BorderStyle)

para crear un cuadro de diálogo personalizado. Puede establecer Modal a Sí, Emergente (PopUp) a Sí y Estilo-

DeLosBordes (BorderStyle) a Diálogo para los cuadros de diálogo personalizados.

Al establecer la propiedad Modal a Sí, el formulario se convierte en modal sólo cuando:

· Se abre en la vista Formulario desde la ventana Base de datos.

· Se abre en la vista Formulario mediante una macro o Visual Basic.

· Se cambia de la vista Diseño a la vista Formulario.

Cuando el formulario es modal, no puede cambiar a la vista Hoja de datos desde la vista Formulario, aunque

puede cambiar a la vista Diseño y, a continuación, a la vista Hoja de datos.

El formulario no es modal en la vista Diseño o en la vista Hoja de datos y tampoco es modal si cambia de la vista

Hoja de datos a la vista Formulario.

Nota Puede utilizar el valor Diálogo del argumento de acción Modo de la ventana de la acción AbrirFormulario

para abrir un formulario con sus propiedades Modal y Emergente (PopUp) establecidas a Sí.

Cuando se establece la propiedad Emergente (PopUp) a Sí, no se puede cambiar a las otras vistas desde la vista

Formulario, porque la barra de herramientas del formulario no está disponible (No puede cambiar un formulario

emergente desde la vista Formulario a la vista Hoja de datos, incluso en una macro o en Visual Basic). Debe

cerrar el formulario y volverlo a abrir en la vista Diseño o en la vista Hoja de datos.

El formulario no es un formulario emergente en la vista Diseño y tampoco lo es en la vista Hoja de datos,

además no es un formulario emergente si cambia desde la vista Hoja de datos a la vista Formulario.

Nota Puede usar el valor Diálogo del argumento Modo de ventana de la acción AbrirFormulario para abrir un

formulario con sus propiedades Emergente (PopUp) y Modal establecidas a Sí.

Sugerencia Cuando maximice una ventana en Access, todas las otras ventanas también se maximizarán cuan-

do las abra o se cambie a ellas. Sin embargo, los formularios emergentes no serán maximizados. Si desea que un

formulario mantenga su tamaño cuando maximice otras ventanas, establezca su propiedad Emergente (PopUp) a

Sí.

Propiedad BloqueosDelRegistro (RecordLocks) Ver Pág 49 Prop. Bloqueos del Registro.

Controles Toda la información de un formulario o informe está contenida en los controles. Los controles son objetos de un

formulario o informe que muestran datos, realizan acciones o decoran el formulario o el informe. Por ejemplo,

puede utilizar un cuadro de texto en un formulario o informe para mostrar datos, un botón de comando en un

formulario para abrir otro formulario o informe, o una línea o un rectángulo para separar y agrupar controles con

el fin de hacerlos más legibles.

Page 60: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

60 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

Access incluye los siguientes tipos de controles, a los cuales se puede tener acceso a través del cuadro de herra-

mientas en la vista Diseño del formulario o en la vista Diseño del informe: cuadro de texto, etiqueta, grupo de

opciones, botón de opción, casilla de verificación, botón de alternar, cuadro combinado, cuadro de lista, botón de

comando, imagen, marco de objeto dependiente, marco de objeto independiente, subformulario/subinforme, salto

de página, línea, rectángulo y controles personalizados ActiveX.

Los controles pueden ser dependientes, independientes o calculados. Un control dependiente está unido a un

campo de una tabla o consulta base. Los controles dependientes se utilizan para mostrar, introducir y actualizar

valores de los campos de la base de datos. Un control calculado utiliza una expresión como origen de los datos.

Una expresión puede utilizar datos de un campo de una tabla o consulta base de un formulario o informe o bien

datos de otro control del formulario o informe. Un control independiente no tiene un origen de los datos. Puede

utilizar los controles independientes para mostrar información, líneas, rectángulos e imágenes.

Tipos de Controles: Etiquetas, Cuadros de texto, Grupos de opciones, Botones de alternar, Botones de opción,

Casillas de verificación, Cuadros combinados, Cuadros de lista, Botones de comando, Imagen, Marcos de obje-

tos independientes o Marcos de objetos dependientes, Subformularios, Subinformes, Saltos de página, Líneas,

Rectángulos, Controles ficha, Otros Controles (ActiveX.).

Cuadro de Herramientas de controles Mostrar/ocultar con ALT+ V, A. Para bloquear una herramienta (dejar fija), doble clic. Desbloquearla, ESC.

Botón seleccionar objetos (Flecha)

Se utiliza para seleccionar un control, una sección o un formulario. Haga clic en esta herramienta para desblo-

quear un botón del cuadro de herramientas que estuviera bloqueado. Utilizar siempre para seleccionar controles.

Para varios textos y etiquetas (controles) abarcar en rectángulo arrastrando sobre sólo textos o sobre etiquetas y

sus textos (todo) o sobre sólo etiquetas. Para seleccionar controles no juntos, hacer clic en los textos sosteniendo

MAY. Cuanto se convierte en mano (en borde de texto), mueve texto(s) y etiqueta(s). Para cada uno indepen-

diente, dedo sobre cuadrado grande. Para mantener vertical u horizontal mientras se arrastra, sostener MAY.

Cambiar tamaños con cuadrados pequeños o con Menu Formato (Tamaño, Ajustar)

Los controles se pueden Copiar, Cortar, Pegar (Pasa a portapapeles). También duplicar (Igual que PowerPoint,

Duplicar de Nuevo).

Para alinear controles: Menú Formato (Alinear). A la cuadrícula: alinea esq. sup izq. a la cuadrícula para alinear

en columnas o filas. Seleccionar primero sólo etiquetas o textos. Después: Arriba, Abajo, Izquierda, Derecha.

Botón Asistentes para Controles

Activa y desactiva los asistentes para controles. Utilice los Asistentes para controles para que le ayuden a crear

un cuadro de lista, un cuadro combinado, un grupo de opciones, un botón de comando, un gráfico, un subinforme

o un subformulario. El botón Asistentes para controles debe estar presionado si se desean utilizar automática-

mente los asistentes en la creación de estos controles.

Etiqueta

Un control que presenta texto descriptivo, por ejemplo un título o instrucciones de un formulario o informe.

Access adjunta automáticamente etiquetas a los controles que crea.

Utilice este procedimiento para crear una etiqueta individual (una etiqueta que no está adherida a ningún otro

control). Para crear una etiqueta que se adjunta a un control, simplemente cree el control. Access adjunta de

forma automática una etiqueta al control cuando lo crea.

1 Abra un formulario en la vista Diseño del formulario o un informe en la vista Diseño.

2 Haga clic en la herramienta Etiqueta en el Cuadro de Herramientas.

3 En el formulario o informe, haga clic en donde desee colocar la etiqueta, e introduzca a continuación el

texto de la etiqueta.

Nota: Si desea presentar el texto de una etiqueta en más de una línea, puede ajustar el tamaño de la etiqueta des-

pués de haber introducido todo el texto, o puede presionar CTRL+INTRO al final de la primera línea de texto

para introducir un retorno de carro. Si inserta un retorno de carro, Access alinea las líneas subsiguientes según

las escriba. Para romper una línea de forma manual en un línea continua, presione de nuevo CTRL+INTRO. El

ancho máximo de una etiqueta está determinado por la longitud de la primera línea de texto. Si desea utilizar una

"y" comercial (&) en una etiqueta, debe teclearla dos veces. Esto es debido a que Access utiliza el carácter & en

una etiqueta o botón para definir una tecla de acceso.

Cuadros de texto.

Se utiliza para: presentar, introducir o modificar los datos del origen de registros base de un formulario o infor-

me, presentar los resultados de un cálculo o recibir los datos introducidos por el usuario.

Crear un cuadro de texto dependiente

Arrastre el(los) campo(s) desde la lista de campos y póngalos en el formulario o informe.

Access coloca un cuadro de texto en el formulario o informe por cada campo que seleccione en la lista de

campos. Cada cuadro de texto está relacionado con un campo de la fuente de datos base del formulario o del

informe. Cada cuadro de texto tiene también adjunta una etiqueta de forma predeterminada.

Rehaga el tamaño del cuadro de texto de forma que tenga el tamaño adecuado para los datos que desea mos-

trar.

Si es necesario, cambie el texto de la etiqueta.

Page 61: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 61

En el caso de los cuadros de texto de los formularios que tengan muchas líneas de texto, puede desear agregar

un barra de desplazamiento vertical (propiedad Barras de Desplazamientos).

Crear un cuadro de texto independiente

Haga clic en cualquier parte del formulario o informe para crear un cuadro de texto de tamaño predetermina-

do, o arrastre un cuadro de texto que tenga el tamaño que desea.

Crear un control calculado

Un cuadro de texto es el tipo de control más utilizado para presentar un valor calculado, también puede utili-

zar cualquier control que tenga una propiedad OrigenDelControl (ControlSource).

S el control es un cuadro de texto, puede escribir directamente la expresión en el control.

Si el control no es cuadro de texto o si el control es un cuadro de texto pero desea utilizar el Generador de

expresiones para crear la expresión, asegúrese de que el control está seleccionado, haga clic en Propiedades

en la barra de herramientas para abrir la hoja de propiedades del control y luego escriba la expresión en el

cuadro de la propiedad OrigenDelControl (ControlSource) o presione el botón Generar para abrir el Genera-

dor de expresiones.

En un control calculado, comience cada expresión con el operador =.

·Si en el cuadro de la propiedad OrigenDelControl (ControlSource) necesita más espacio para escribir una

expresión, presione MAY+F2 para abrir el cuadro Zoom.

·Si el formulario está basado en una consulta, podría querer colocar la expresión en la consulta, en vez de en

el control calculado.

Para control texto de cálculo, introducir la expresión. ( Ej.: =[Unit Price]*.75 (-25%)).

Algunas Propiedades de Cuadro de Texto (Datos)

Propiedad OrigenDelControl (ControlSource)

La propiedad OrigenDelControl (ControlSource) se puede utilizar para especificar qué datos aparecen en un

control. Se pueden mostrar y editar datos dependientes de un campo en una tabla, consulta o instrucción SQL.

También se puede mostrar el resultado de una expresión. Para un nivel de grupo de informe, la propiedad Ori-

genDelControl (ControlSource) determina el campo o expresión por el que agrupar.

Nota La propiedad OrigenDelControl (ControlSource) no se aplica a los controles de casillas de verificación,

botones de opción o botones de alternar incluidos en un grupo de opciones. Sólo se aplica al propio grupo de

opciones.

En el caso de los informes, la propiedad OrigenDelControl (ControlSource) sólo se aplica a los niveles de grupo

del informe.

Valores

La propiedad OrigenDelControl (ControlSource) tiene los siguientes valores:

Valor Descripción

Un nombre de campo El control es dependiente de un campo en una tabla, consulta o instrucción SQL. Los

datos del campo se muestran en el control. Los cambios a los datos dentro del control hacen que se cambien los

datos correspondientes en el campo. (Para hacer que el control sea de sólo lectura, establezca la propiedad Blo-

queado (Locked) a Sí.) Si hace clic en un control dependiente para un campo que tiene un tipo de dato Hiper-

vínculo, irá al destino especificado en la dirección del hipervínculo.

Una expresión El control muestra los datos generados por una expresión. Estos datos pueden ser cambiados

por el usuario pero no se guardan en la base de datos.

La propiedad OrigenDelControl (ControlSource) se puede establecer para un control usando la hoja de propieda-

des del control, con una macro o usando Visual Basic.

También se puede establecer la propiedad OrigenDelControl (ControlSource) para un cuadro de texto escribien-

do un nombre de campo o expresión directamente en el cuadro de texto en la vista Diseño del formulario o en la

vista Diseño del informe.

(Dejar en Blanco)

Para un informe, se puede establecer esta propiedad seleccionando un campo o escribiendo una expresión en la

columna Campo/expresión del cuadro Ordenar y agrupar . Para obtener más detalles, consulte la propiedad

GroupLevel.

En Visual Basic, utilice una expresión de cadena para establecer el valor de esta propiedad.

Comentarios

Los formularios e informes actúan como ―ventanas‖ de su base de datos. El origen principal de los datos para un

formulario o informe se especifica estableciendo su propiedad OrigenDelRegistro (RecordSource) a una tabla,

consulta o instrucción SQL. A continuación puede establecer la propiedad OrigenDelControl (ControlSource) a

un campo en el origen de los datos o a una expresión. Si el valor de la propiedad OrigenDelControl (Control-

Source) es una expresión, el valor que se muestra es de sólo lectura y no se guarda en la base de datos. Por ejem-

plo, puede utilizar los siguientes valores:

Valores de ejemplo Descripción

Apellido Para un control, los datos del campo Apellido se muestran en el control. Para un nivel de grupo de in-

forme, Access agrupa los datos sobre el apellido.

=Fecha( ) + 7 Para un control, esta expresión muestra una fecha que es siete días a partir del día de hoy en el

control.

Page 62: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

62 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

=ParteFecha("q",FechaEnviado) Para un control, esta expresión muestra el trimestre de la fecha de envío. Para

un nivel de grupo de informe, Access agrupa los datos en el trimestre de la fecha del envío.

Propiedad MáscaraDeEntrada (InputMask) Ver Pág 24, Propiedad Máscara. Propiedades Activado (Enabled) y Bloqueado (Locked)

· La propiedad Activado (Enabled) especifica si un control puede tener el enfoque en la vista Formulario.

· La propiedad Bloqueado (Locked) especifica si se pueden editar los datos de un control en la vista For-

mulario.

Valores

Los valores de la propiedad Activado (Enabled) son las siguientes.

Valor Descripción Visual Basic

Sí (Predeterminado para todos los controles excepto los marcos de objeto independientes) El control puede

tener el enfoque. Si el control es un marco de objeto independiente, haciendo doble clic en él se ejecuta el verbo

principal del control. Por ejemplo, un marco de objeto independiente podría reproducir un objeto de sonido in-

crustado. True (–1)

No (Predeterminado para marcos de objeto independientes) El control no puede tener el enfoque y aparece

atenuado. Si el control es un grupo de opciones, ni el grupo de opciones ni los controles dentro del grupo de

opciones pueden tener el enfoque. False (0)

Los valores de la propiedad Bloqueado (Locked) son los siguientes.

Valor Descripción Visual Basic

Sí (Predeterminado para marcos de objeto independientes) El control funciona normalmente pero no per-

mite modificar, agregar o eliminar datos. True

No (Predeterminado para todos los controles excepto marcos de objeto independientes) El control funciona

normalmente y permite modificar, agregar o eliminar datos. False

Puede establecer estas propiedad utilizando la hoja de propiedades del control, una macro, o en Visual Basic.

Comentarios

Use la propiedad Activado (Enabled) para activar y desactivar controles. Por ejemplo, en la vista Formulario

puede desactivar un botón de comando hasta que haya cambiado los datos en un control de cuadro de texto.

Puede usar entonces el evento AfterUpdate del control para llamar a un procedimiento de evento o una macro

para activar el botón de comando.

Use la propiedad Bloqueado (Locked) para proteger los datos en un campo haciéndolos de sólo lectura. Por

ejemplo, podría desear que un control sólo mostrase información, sin permitir su modificación, o podría desear

bloquear un control hasta que se cumpliese una condición específica.

Puede combinar los valores de las propiedades Activado (Enabled) y Bloqueado (Locked) para lograr los si-

guientes efectos.

Activado (Enabled) Bloqueado (Locked) Efecto

Sí Sí El control puede tener el enfoque. Los datos se muestran normalmente y se pueden copiar pero

no editar.

Sí No El control puede tener el enfoque. Los datos se muestran normalmente y se pueden copiar y

editar.

No Sí El control no puede tener el enfoque. Los datos se muestran normalmente pero no se pueden

copiar ni editar.

No No El control no puede tener el enfoque. El control y los datos están desactivados (atenuados).

La propiedad PuntoDeTabulación (TabStop) se puede combinar con la propiedad Activado (Enabled) para evitar

el uso de la tecla TAB para seleccionar un botón de comando, mientras se sigue permitiendo el uso del botón

haciendo clic en él. Al establecer "No" en la propiedad PuntoDeTabulación (TabStop) se hace que el botón de

comando no esté en el orden de tabulación. Sin embargo, si la propiedad Activado (Enabled) está establecida a

"Sí", podrá hacer clic en el botón de comando.

Para permitir modificaciones en un objeto incrustado o vinculado de un marco de objeto independiente, debe

establecer "Sí" en la propiedad Activado (Enabled) de marco de objeto independiente y "No" en la propiedad

Bloqueado (Locked).

Propiedad BuscarPorFiltro (FilterLookup)

Puede utilizar la propiedad BuscarPorFiltro (FilterLookup) para especificar si los valores deben aparecer en un

control de cuadro de texto dependiente cuando utilice la ventana Filtro por formulario.

Valores

La propiedad BuscarPorFiltro (FilterLookup) utiliza los siguientes valores.

Valor Descripción Visual Basic

Nunca No se muestran los valores del campo. Puede especificar si los registros filtrados pueden contener valo-

res Null. 0

Base de datos predeterminada (Predeterminado) Los valores de los campos se muestran de acuerdo con los

valores bajo la sección Valores predeterminados de filtro por formulario de la ficha Editar/Buscar del cuadro de

diálogo Opciones, disponible haciendo clic en Opciones en el menú Herramientas. 1

Siempre Los valores de los campos se muestran siempre. 2

Page 63: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 63

Puede establecer la propiedad BuscarPorFiltro (FilterLookup) utilizando la hoja de propiedades del cuadro de

texto, una macro o Visual Basic.

También puede establecer de forma predeterminada esta propiedad utilizando un cuadro de texto con el estilo de

control predeterminado del control o el método DefaultControl en Visual Basic.

Comentarios

Si desea limitar los tipos de campos a mostrar, elimine la casilla de verificación apropiada bajo Valores prede-

terminados de Filtro por formulario en la ficha Modificar/Buscar del cuadro de diálogo Opciones, al que se tiene

acceso haciendo clic en Opciones en el menú Herramientas. Si no se muestran las listas de campos, debe incre-

mentar el número en el cuadro No mostrar listas cuando el número de registros leídos sea superior a, de forma

que el valor sea mayor o igual al número máximo de registros en cualquier campo del origen de los registros.

Grupo de opciones

Se utiliza junto con las casillas de verificación, los botones de opción o los botones de alternar para presentar un

conjunto de valores alternativos. Por ejemplo, se puede utilizar un grupo de opción para especificar si un pedido

se va a enviar por aire, por mar o por tierra.

Crear un grupo de opciones con casillas de verificación, botones de alternar o de opción

Puede crear su propio grupo de opciones o puede hacer que Access cree el grupo de opciones para el usuario

utilizando un asistente. Un asistente aligera el proceso de crear un grupo de opciones porque lleva a cabo todo el

trabajo de tipo básico que realizaría el usuario. Cuando utiliza un asistente, Access le pide información y crea un

grupo de opciones basado en sus respuestas.

Sugerencia: Si desea presentar más de unas pocas opciones, utilice un cuadro de lista o un cuadro combinado

en vez de un grupo de opciones.

Puede utilizar un grupo de opciones en un formulario o informe para presentar un conjunto limitado de alternati-

vas. Un grupo de opciones hace fácil seleccionar un valor, ya que sólo tiene que hacer clic en el valor que desee.

Sólo se puede elegir una opción cada vez de entre un grupo de opciones.

Un grupo de opciones consiste en un marco de grupo y un conjunto de casillas de verificación, opciones, o boto-

nes de alternar.

Si un grupo de opciones está vinculado con un campo, sólo está vinculado con el campo el propio marco del

grupo, no las casillas de verificación, los botones de alternar, o los botones de opción dentro del marco. En vez

de establecer la propiedad OrigenDelControl (ControlSource) para cada uno de los controles del grupo de opcio-

nes, establezca la propiedad ValorDeLaOpción (OptionValue) de cada casilla de verificación, botón de alternar,

o de opción a un número que tenga algún significado para el campo con el que el marco del grupo está vincula-

do. Cuando se selecciona una opción en un grupo de opciones, Access establece el valor del campo con el que el

grupo de opciones está vinculado al valor de la propiedad ValorDeLaOpción (OptionValue) de la opción selec-

cionada.

Nota: La propiedad ValorDeLaOpción (OptionValue) se establece a un número porque el valor de un grupo de

opciones sólo puede ser un número, no texto. Access guarda este número en la tabla base. En este ejemplo, si

desea presentar el nombre del distribuidor en vez de un número en la tabla Pedidos, puede crear una tabla sepa-

rada llamada Distribuidores que guarde los nombres de los distribuidores, y entonces hacer que el campo Enviar

de la tabla Pedidos sea un campo de Búsqueda que busca los datos de la tabla Distribuidores.

Un grupo de opciones también puede ser establecido como una expresión, o puede ser independiente. Puede

utilizar un grupo de opciones independientes en un cuadro de diálogo personalizado para aceptar la entrada de

datos de los usuarios y llevar a cabo a continuación alguna acción basada en esa entrada.

Si desea crear un grupo de opciones independiente, haga clic en donde desee colocar el marco del grupo.

Si desea crear un grupo de opciones dependiente, haga clic en Lista de campos en la barra de herramientas para

presentar la lista de campos y arrastre entonces el campo apropiado desde la lista de campos hacia el formulario

o informe. Si el botón de la lista de campos o el comando no están disponibles, necesita hacer depender el for-

mulario o el informe de un origen de registros mediante la propiedad OrigenDelRegistro (RecordSource).

Nota: Debe arrastrar el campo desde la lista de campos. Si hace clic en la lista de campos y después hace clic

en el formulario o informe, el control no quedará relacionado.

En el Cuadro de herramientas, haga clic en la herramienta Casilla de verificación , Botón de opción, o Botón de

alternar, y haga a continuación clic dentro del marco del grupo donde desee que aparezca el ángulo superior

izquierdo de la casilla de verificación, del botón de opción, o el botón de alternar. Cuando el puntero del ratón

esté sobre el marco, Access señala el grupo de opciones para indicar que los controles colocados dentro forman

parte del grupo de opciones.

Cuando Access crea el primer control dentro de un grupo de opciones, establece la propiedad ValorDeLaOpción

(OptionValue) del control a 1.

Repita el paso 5 para cada uno de los controles que agregue al grupo de opciones. Access establece la propiedad

ValorDeLaOpción (OptionValue) de la segunda opción a 2, la tercera a 3, y así sucesivamente.

Si creara una casilla de verificación, un botón de opción o un botón de alternar fuera de un grupo de opciones y

quisiera agregar ese control al grupo de opciones, debe cortar y pegar el control dentro del grupo de opciones

(seleccione el marco del grupo de opciones antes de pegar). Al cortar y pegar, Access establece la propiedad

ValorDeLaOpción (OptionValue) del control a -1 de forma que debe restablecer la propiedad al valor que desee.

Si arrastra un control existente hacia un marco de grupo, el control no llega a formar parte del grupo de opciones.

Page 64: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

64 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

Botón de alternar

Se utiliza como: un control autónomo dependiente de un campo Sí/No, como un control independiente para

recibir los datos introducidos por el usuario en un cuadro de diálogo personalizado, o como parte de un grupo de

opciones.

Puede utilizar un botón de alternar en un formulario como un control individual para presentar un valor Sí/No de

una tabla, consulta o instrucción SQL base.

Cuando se hace clic en un botón de alternar que está vinculado a un campo de Sí/No, Access presenta el valor

en la tabla base de acuerdo con la propiedad Formato (Format) del campo (Si/No, Verdadero/Falso, o Activa-

do/Desactivado).

Los botones de alternar son muy prácticos cuando se utilizan en un grupo de opciones junto con otros botones.

En un grupo de opciones, puede ver fácilmente si un botón está presionado.

Puede utilizar imágenes en los botones de alternar en vez de texto. Por ejemplo, en vez de presentar la palabra

"Suspendido" en el botón de alternar del primer ejemplo, podría presentar la imagen de una papelera.

También puede utilizar el botón de alternar en un cuadro diálogo personalizado para aceptar la entrada de datos

de los usuarios.

Botón de opción

Se utiliza como: un control autónomo dependiente de un campo Sí/No, como un control independiente para

recibir los datos introducidos por el usuario en un cuadro de diálogo personalizado, o como parte de un grupo de

opciones.

Puede utilizar un botón de opción en un formulario como un control individual para presentar un valor Sí/No de

una tabla, consulta o instrucción SQL base.

Cuando se selecciona o desactiva una opción que está vinculada a un campo Sí/No, Access presenta el valor de

la tabla base de acuerdo con la propiedad Formato (Format) del campo (Sí/No, Verdadero/Falso o Activa-

do/Desactivado).

También puede utilizar las opciones en un grupo de opciones para presentar valores entre los cuales elegir. Tam-

bién puede utilizar un botón de opción independiente en un cuadro de diálogo personalizado para aceptar la en-

trada de datos de los usuarios.

Casilla de verificación

Se utiliza como: un control autónomo dependiente de un campo Sí/No, como un control independiente para

recibir los datos introducidos por el usuario en un cuadro de diálogo personalizado, o como parte de un grupo de

opciones.

Puede utilizar una casilla de verificación en un formulario o informe como un control individual para presentar

un valor Sí/No de una tabla, consulta o instrucción SQL base.

Cuando se selecciona o borra una casilla de verificación que depende de un campo Sí/No, Access presenta el

valor de la tabla base de acuerdo con la propiedad Formato (Format) del campo (Sí/No, Verdadero/Falso o Acti-

vado/Desactivado).

También puede utilizar casillas de verificación en un grupo de opciones para presentar valores entre los cuales

elegir. También puede utilizar una casilla de verificación independiente en un cuadro diálogo personalizado para

aceptar la entrada de datos de los usuarios.

Cuadro combinado

Combina las características de un cuadro de lista y un cuadro de texto. Se puede escribir en el cuadro de texto o

seleccionar un elemento en el cuadro de lista para agregar un valor a un campo base.

Las filas para un cuadro de lista o cuadro combinado pueden venir desde una lista fija de valores que introduce

cuando crea el cuadro de lista o cuadro combinado (procedimiento utilizado cuando la lista no cambia muy a

menudo), o pueden venir de una tabla o consulta (procedimiento utilizado cuando la tabla se actualiza muy a

menudo). Por ejemplo, podría utilizar una lista fija para un cuadro de lista que contenga las entradas de Sr., Sra.,

Srta. Si, por otro lado, tiene un formulario de Productos y desea presentar un cuadro de lista que liste los provee-

dores de producto que van a cambiar muy frecuentemente, base el cuadro de lista en una tabla o consulta. El

cuadro de lista busca los valores en la tabla de Proveedores y presenta los nombres de los proveedores para que

se pueda elegir.

Cuando un usuario selecciona un valor en el cuadro de lista o cuadro combinado, tiene dos opciones. Puede

guardar el valor seleccionado en una tabla (no en la misma tabla de donde la lista toma las filas) o puede pasar el

valor a otro control. Por ejemplo, para el cuadro de lista de Proveedores, si un usuario selecciona "Pavlova,

Ltd.", Access busca el valor de la clave principal (IdProveedor) para Pavlova, Ltd. en la tabla Proveedores y

establece el campo IdProveedor (la clave exterior) para el registro actual en la tabla Productos para el mismo

valor. Este es el valor que se guarda. Puesto que se guarda un valor basado en una selección en el cuadro de lista,

el cuadro de lista es dependiente. (Observe que el valor del NombreProveedor de la tabla Proveedores se muestra

en el cuadro de lista pero no se almacena.)

Si, por otra parte, desea utilizar el valor seleccionado en el cuadro de lista o cuadro combinado para determinar

el contenido de otro control o controles, necesita crear un cuadro de lista o cuadro combinado independiente. Por

ejemplo, puede desear crear un cuadro de lista o cuadro combinado que pueda utilizar para buscar un registro

relacionado en un formulario. O puede desear crear un cuadro de lista o cuadro combinado para filtrar los regis-

tros en otro cuadro de lista o cuadro combinado.

Page 65: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 65

Crear un cuadro de lista dependiente o cuadro combinado que muestre valores fijos:

Cree un Campo de búsqueda en la vista Diseño de la tabla.:

Para insertar el campo dentro de la tabla, haga clic en la fila situada debajo del lugar donde desea agregar el

campo y, a continuación, haga clic en Insertar filas en la barra de herramientas.

Para agregar el campo al final de la tabla, haga clic en la primera fila en blanco.

En la columna Nombre del campo, escriba el nombre del campo siguiendo las reglas para nombrar objetos de

Access.

En la columna Tipo de datos, haga clic en la flecha y seleccione Asistente para búsquedas.

En el primer cuadro de diálogo del Asistente para búsquedas, haga clic en la opción que indica que escribirá los

valores que desee.

Haga clic en Siguiente y siga las instrucciones de los restantes cuadros de diálogo del Asistente para búsquedas.

Nota: Cuando se utiliza el Asistente para búsquedas para crear una lista de valores fijos, Access establece de-

terminadas propiedades del campo según las selecciones realizadas en el asistente. Una vez creado el campo, si

agrega el campo a un formulario, Access copia su definición al formulario. No tendrá que crear el cuadro com-

binado o el cuadro de lista ni su definición de lista de valores para el formulario. No obstante, si cambia la defi-

nición del campo de lista de valores de la tabla después de agregarlo a un formulario, esos cambios no se refle-

jarán en el formulario. Para corregir esta situación, elimine el campo del formulario y agréguelo de nuevo.

Nota Puede crear un cuadro de lista o cuadro combinado de búsqueda sin crear un campo de búsqueda, aunque

si crea un campo de búsqueda en la vista Diseño de la tabla, sólo necesita crear el cuadro de lista o cuadro com-

binado una vez. Puede entonces utilizar la misma lista de consultas en cualquier formulario. Si no tiene pensado

utilizar la misma lista de búsqueda en más de un formulario, puede utilizar el Asistente para cuadros de Lista o el

Asistente para cuadros Combinados en la vista Diseño del formulario.

Haga una de las siguientes cosas:

· Cree un nuevo formulario basado en un origen de registros que incluya el campo de búsqueda que ha

creado en el paso 1. Access crea de forma automática el cuadro de lista o cuadro combinado de búsqueda.

· Abra un formulario existente basado en un origen del registro que incluya el campo de búsqueda que ha

creado en el paso 1. En la vista Diseño del formulario, haga clic en Lista de campos en la barra de herramientas

para presentar la lista de campos y, a continuación, arrastre el campo de búsqueda desde la lista de campos al

formulario. Access crea de forma automática el cuadro de lista o cuadro combinado de búsqueda.

Crear un cuadro de lista o cuadro comb. dependiente que muestre los valores de una tabla o consulta:

Cree un Campo de búsqueda en la vista Diseño de la tabla. Debe definir la lista de campos de la búsqueda en una

tabla que contendrá la clave exterior. Por ejemplo, si desea crear un campo de búsqueda para la tabla Proveedo-

res en un formulario Productos, defina el campo de búsqueda en la tabla Productos.

Haga una de las siguientes cosas:

· Cree un nuevo formulario basado en un origen del registro que incluye el campo de búsqueda que ha

creado en el paso 1. Access crea de forma automática el cuadro de lista o cuadro combinado de búsqueda.

· Abra un formulario existente basado en un origen del registro que incluya el campo de búsqueda que ha

creado en el paso 1. En la vista Diseño del formulario, haga clic en Lista de campos en la barra de herramientas

para presentar la lista de campos y, a continuación, arrastre el campo de búsqueda desde la lista de campos al

formulario. Access crea automáticamente el cuadro de lista o cuadro combinado de búsqueda.

Cuando utilice un asistente para crear un cuadro de lista o cuadro combinado basado en una tabla o consulta,

Access creará una instrucción SQL basada en los campos que ha seleccionado y establecerá la propiedad Ori-

genDeLaFila del control a esa instrucción SQL. Si el cuadro de lista o cuadro combinado no está ordenado en el

orden que el usuario desea, es posible modificar la instrucción SQL haciendo clic en el botón Generar cercano a

la propiedad OrigenDeLaFila.

Crear un cuadro de lista o cuadro combinado independiente que muestre valores fijos:

Asegúrese de que la herramienta Asistente para controles está presionada en el cuadro de herramientas.

Haga clic en la herramienta Cuadro de lista o en la herramienta Cuadro combinado en el cuadro de herramien-

tas.

En el formulario, haga clic en donde desee colocar el cuadro de lista o cuadro combinado.

Siga las instrucciones en los cuadros de diálogo del asistente. Cuando el asistente le pregunte cómo desea obte-

ner los valores de la lista, seleccione la opción que indica que el usuario escribirá los valores que crearán la lista.

Cuando el asistente pregunte si desea guardar los valores o recordarlos para una utilización futura, seleccione la

opción que indica que el usuario los recordará para utilizarlos posteriormente.

Crear un cuadro de lista o cuadro comb. independiente que muestre los valores de una tabla o consulta:

Asegúrese de que la herramienta Asistentes para controles está presionada en el cuadro de herramientas.

Haga clic en la herramienta Cuadro de Lista o en la herramienta Cuadro combinado en el cuadro de herramien-

tas. En el formulario, haga clic donde desee colocar la lista.

Siga las instrucciones en los cuadros de diálogo del asistente. Cuando el asistente le pregunte cómo desea obte-

ner los valores de la lista, seleccione la opción que indica que desea que el cuadro combinado o el cuadro de lista

busque los valores en la tabla o consulta. Cuando el asistente pregunte si desea guardar los valores o recordarlos

para una utilización futura, seleccione la opción que indica que los recordará para utilizarlos posteriormente.

Page 66: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

66 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

Nota: Cuando utilice un asistente para crear un cuadro de lista o cuadro combinado basado en una tabla o consul-

ta, Access creará una instrucción SQL basado en los campos que ha seleccionado y establecerá la propiedad

OrigenDeLaFila del control a esa instrucción SQL. Si el cuadro de lista o cuadro combinado no está ordenado en

el orden que el usuario desea, es posible modificar la instrucción SQL haciendo clic en el botón Generar cercano

a la propiedad OrigenDeLaFila.

Buscar un registro seleccionando un valor de una lista

En un formulario, puede crear un cuadro de lista o un cuadro combinado que busque un registro cuando selec-

cione un valor de la lista.

1 Abra el formulario en la vista Diseño.

2 Haga clic en Asistentes para controles del cuadro de herramientas si no está presionado.

3 En el cuadro de herramientas, haga clic en Cuadro de lista o en Cuadro combinado

4 En el formulario, haga clic donde desee situar el cuadro de lista o el cuadro combinado.

5 En el primer cuadro de diálogo del asistente, haga clic en la opción para buscar un registro basándose en

el valor que ha seleccionado en el cuadro de lista o en el cuadro combinado.

6 Siga las instrucciones en los cuadros de diálogo del asistente. En el último cuadro de diálogo, haga clic

en Terminar para mostrar el cuadro de lista o el cuadro combinado en la vista Diseño.

Si desea ver el procedimiento de evento que hace que funcione el cuadro de lista o el cuadro combinado, abra la

hoja de propiedades del cuadro y, a continuación, haga clic en el botón Generar situado al lado del cuadro de la

propiedad Después de actualizar (AfterUpdate).

Algunas Propiedades de Cuadro de Lista/Combinado (Datos)

Ver Pág 30, Propiedades de Cuadros de lista o combinados, para resumen. Propiedades TipoDeOrigenDeLaFila (RowSourceType) y OrigenDeLaFila (RowSource)

Las propiedades TipoDeOrigenDeLaFila (RowSourceType) y OrigenDeLaFila (RowSource) se pueden utilizar

juntas para mostrar a Access cómo suministrar datos a un cuadro de lista, a cuadro combinado o un objeto OLE

no dependiente, como por ejemplo un gráfico. Por ejemplo, para mostrar filas de datos en un cuadro de lista

desde una consulta llamada ListaClientes, configure la propiedad RowSourceType del cuadro de lista a Ta-

bla/Consulta y su propiedad OrigenDeLaFila (RowSource) a la consulta llamada ListaClientes.

Valores

La propiedad TipoDeOrigenDeLaFila (RowSourceType) utiliza los siguientes valores.

Valor Descripción

Tabla/Consulta (Predeterminado) Los datos son de una tabla, consulta o instrucción SQL especificados por el

valor de OrigenDeLaFila(RowSource).

Lista de valores Los datos son una lista de elementos especificados por el valor de OrigenDeLaFi-

la(RowSource).

Lista de campos Los campos son una lista de nombres de campos de una tabla, consulta o instrucción SQL

especificados por el valor de OrigenDeLaFila(RowSource).

Nota La propiedad TipoDeOrigenDeLaFila (RowSourceType) se puede también establecer con una función

definida por el usuario. El nombre de la función se introduce sin que le preceda un signo igual (=) y sin que le

siga el par de paréntesis. Es necesario suministrar los argumentos de código específicos de la función para indi-

car a Access cómo rellenar el control.

El valor de la propiedad OrigenDeLaFila (RowSource) depende del valor de la propiedad TipoDeOrigenDeLaFi-

la (RowSourceType).

Para establecer el valor de

TipoDeOrigenDeLaFila

(RowSourceType)

Introduzca en OrigenDeLaFila (RowSource)

Tabla/consulta Un nombre de tabla, un nombre de consulta o una instrucción SQL.

Lista de valores Una lista de elementos usando puntos y comas (;) como separadores.

Lista de campos Un nombre de tabla, un nombre de consulta o una Instrucción SQL.

Nota Si la propiedad TipoDeOrigenDeLaFila (RowSourceType) se establece a una función definida por el

usuario, la propiedad OrigenDeLaFila (RowSource) puede dejarse en blanco.

Las propiedades TipoDeOrigenDeLaFila (RowSourceType) y OrigenDeLaFila (RowSource) se pueden estable-

cer usando la hoja de propiedades del control, con una macro o usando Visual Basic.

Para los campos de tabla, estas propiedades se pueden establecer en la ficha Buscar en la sección Propiedades del

campo de la vista Diseño de la tabla para los campos estableciendo la propiedad Mostrar control a un cuadro

combinado o cuadro de lista.

Nota Access establece estas propiedades automáticamente cuando se selecciona el Asistente para consultas

como el tipo de datos para un campo en la vista Diseño de la tabla.

En Visual Basic, establezca la propiedad TipoDeOrigenDeLaFila (RowSourceType) usando una expresión de

cadena con uno de estos valores: "Tabla/consulta", "Lista de valores" o "Lista de campos". Una expresión de

cadena también se usa para establecer el valor de la propiedad OrigenDeLaFila (RowSource). Para establecer la

propiedad TipoDeOrigenDeLaFila (RowSourceType) a una función definida por el usuario, introduzca el nom-

bre de la función.

Page 67: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 67

Comentarios

Cuando se tiene un número limitado de valores que no cambian, se puede establecer la propiedad TipoDeOri-

genDeLaFila (RowSourceType) a Lista de valores y luego introducir los valores que conforman la lista en la

propiedad OrigenDeLaFila (RowSource).

Cuando se crea una función definida por el usuario para insertar elementos en un cuadro de lista o cuadro com-

binado, Access llama a la función repetidamente para obtener la información que necesita. Las funciones Tipo-

DeOrigenDeLaFila (RowSourceType) definidas por el usuario deben ser escritas en un formato de función muy

específico.

Propiedad ColumnaDependiente (BoundColumn)

Al realizar una selección en un cuadro de lista o un cuadro combinado, la propiedad ColumnaDependiente

(BoundColumn) indica a Access la columna cuyos valores debe utilizar como valor del control. Si el control

depende de un campo, el valor de la columna especificada por la propiedad ColumnaDependiente (BoundCo-

lumn) se almacena en el campo indicado en la propiedad OrigenDelControl (ControlSource).

Valores

La propiedad ColumnaDependiente (BoundColumn) puede tener los valores siguientes:

Valor Descripción

0 El valor de la propiedad ListIndex, en lugar del valor de la columna, se almacena en el registro actual.

El valor de la propiedad ListIndex de la primera fila es 0, de la segunda fila es 1, etc. Access establece la pro-

piedad ListIndex cuando se selecciona un elemento de un cuadro de lista o de la parte de cuadro de lista de un

cuadro combinado. El establecimiento de la propiedad ColumnaDependiente (BoundColumn) a 0 y el uso del

valor de la propiedad ListIndex del control pueden resultar útiles si, por ejemplo, sólo tiene interés en almacenar

una secuencia de números.

1 ó mayor (El valor predeterminado es 1). El valor de la columna especificada se convierte en el valor del

control. Si el control depende de un campo, este valor se almacena en ese campo en el registro actual. La propie-

dad ColumnaDependiente (BoundColumn) no puede establecerse a un valor mayor que el valor de la propiedad

NúmeroDeColumnas (ColumnCount).

Puede establecer la propiedad ColumnaDependiente (BoundColumn) mediante la hoja de propiedades del con-

trol, una macro o Visual Basic.

Para los campos de tabla, puede establecer esta propiedad en la ficha Búsqueda de la sección Propiedades del

campo de la vista Diseño de la tabla para los campos cuya propiedad Mostrar control esté establecida a Cuadro

combinado o a Cuadro de lista.

Sugerencia Access establece la propiedad ColumnaDependiente (BoundColumn) automáticamente al selec-

cionar Asistente para búsquedas como tipo de datos de un campo en la vista Diseño de la tabla.

En Visual Basic, establezca la propiedad ColumnaDependiente (BoundColumn) utilizando un número o una

expresión numérica cuyo valor se encuentre entre 0 y el valor de la propiedad NúmeroDeColumnas (Column-

Count).

Comentarios

La columna visible más a la izquierda de un cuadro combinado (la columna situada más a la izquierda cuyo valor

de la propiedad AnchuraDeColumnas (ColumnWidths) del cuadro combinado no sea 0) contiene los datos que

aparecen en el cuadro de texto que forma parte del cuadro combinado en la vista Formulario o en un informe. La

propiedad ColumnaDependiente (BoundColumn) determina la columna cuyo valor del cuadro de texto o el cua-

dro combinado se almacenará al realizar una selección. Esto permite mostrar datos diferentes de los almacenados

como el valor del control.

Nota Si la columna dependiente no es la misma que la columna visible situada más a la izquierda del control (o

si establece la propiedad ColumnaDependiente (BoundColumn) a 0), la propiedad LimitarALista (LimitToList)

se establece a Sí.

Access utiliza números basados en cero para hacer referencia a las columnas de la propiedad Columna (Co-

lumn). Es decir, se hace referencia a la primera columna mediante la expresión Column(0); se hace referencia a

la segunda columna mediante la expresión Column(1); etc. No obstante, la propiedad ColumnaDependiente

(BoundColumn) utiliza números basados en 1 para hacer referencia a las columnas. Esto quiere decir que si la

propiedad ColumnaDependiente (BoundColumn) está establecida a 1, puede tener acceso al valor almacenado en

esa columna mediante la expresión Column(0).

Si la propiedad ExpansiónAutomática (AutoExpand) está establecida a Sí, Access introduce automáticamente

un valor en la parte del cuadro de texto del cuadro combinado que coincide con un valor de la lista del cuadro

combinado a medida que el usuario escribe el valor.

Cuadro de lista

Presenta una lista de valores desplazable. En la vista Formulario, se puede seleccionar de la lista para introducir

un valor en un nuevo registro o para cambiar un valor en un registro existente.

Ver Cuadro Combinado.

Botón de comando

Se utiliza para realizar acciones; por ejemplo localizar un registro, imprimir un registro o aplicar un filtro de

formulario.

Page 68: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

68 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

Es posible crear su propio botón de comando o puede hacer que Access cree el botón de comando utilizando un

asistente. Un asistente aligera el proceso de crear un botón de comando porque lleva a cabo todo el trabajo de

tipo básico a realizar por el usuario. Cuando utiliza un asistente, Access le pide información y crea un botón de

comando basado en sus respuestas.

Con el Asistente para botones de comando puede crear más de 30 tipos diferentes de botones de comandos. Por

ejemplo, puede crear un botón de comando que busca un registro, imprime un registro, o aplica un filtro de un

formulario.

También es una buena idea utilizar el Asistente para botones de comando si desea aprender cómo escribir proce-

dimientos de evento. Cuando Access crea un botón de comando con un asistente, crea un procedimiento evento

y lo adjunta al botón. Puede abrir el procedimiento de evento para ver cómo funciona y modificarlo para que se

ajuste a sus necesidades.

Crear un botón de comando sin usar un asistente: (Botón Asistente de Cuadro de Herramientas desactivado)

En el formulario, haga clic donde desee colocar el botón de comando.

Asegúrese de que el botón de comando está seleccionado y haga clic en Propiedades para abrir su hoja de pro-

piedades.

En el cuadro de la propiedad AlHacerClic (OnClick), escriba el nombre de la macro o procedimiento de evento

que desee ejecutar cuando se haga clic en el botón, o bien haga clic en el botón Generar para utilizar el Genera-

dor de macros o el Generador de código.

Botón de Comando prop. Al hacer Clic: nombre de Macro o Función.

Mejor crear arrastrando la Macro.

Un evento es una acción determinada que se produce en, o con, un objeto particular. Access puede responder a

una variedad de eventos: clics del ratón, cambios en los datos, formularios que se abren o se cierran, y muchos

otros. Los eventos son normalmente el resultado de una acción del usuario.

Usando un procedimiento de evento o una macro, se pueden agregar respuestas personalizadas a un evento que

se produzca en un formulario, informe, o control.

Suponga que desea que un formulario Detalles de producto se abra cuando haga clic en un botón de comando

Detalles de producto en un formulario Pedidos. Los siguientes ejemplos muestran cómo hacer esto usando un

procedimiento de evento o usando una macro.

Responder al evento Al hacer clic usando un procedimiento de evento:

Cuando se crea un procedimiento de evento para un objeto, Access agrega una plantilla de procedimiento de

evento nombrada para el evento y el objeto al módulo de formulario o módulo de informe. Todo lo que necesita

hacer es agregar código que responda de la forma que desee cuando se produzca el evento en el formulario o

informe.

Responder al evento Al hacer clic usando una macro:

Para hacer que se ejecute una macro en respuesta a un evento, abra la hoja de propiedades para el formulario,

informe, o control. Busque la propiedad que corresponda al evento, y establézcala a la macro que desee ejecutar.

Si desea presentar texto en el botón de comando, escriba el texto en el cuadro de la propiedad Título (Caption).

Si no desea texto en el botón, puede utilizar en su lugar una imagen.

Sugerencia También puede crear un botón de comando que ejecute una macro arrastrando la macro desde la

ventana Base de datos a la vista Diseño del formulario.

Crear un botón de comando para abrir y sincronizar, cerrar o imprimir un formulario:

1 Abra un formulario en la vista Diseño del formulario.

2 Haga clic en la herramienta Asistentes para controles en el Cuadro de herramientas si no está ya presio-

nada.

3 En el Cuadro de herramientas, haga clic en la herramienta Botón de comando .

4 En el formulario, haga clic en donde desee colocar el botón de comando.

5 En el primer cuadro de diálogo del asistente, haga clic en Operaciones con formularios en el cuadro de

Categorías, y a continuación haga clic en el tipo de botón que desee crear en el cuadro Acciones.

6 Siga las instrucciones de los cuadros de diálogo del asistente. En el último cuadro de diálogo, haga clic

en Terminar para presentar el botón de comando en la vista Diseño.

Si desea ver el procedimiento de evento que pone en funcionamiento al botón, haga clic en el botón Generar en

la propiedad AlHacerClic (OnClick) del botón de comando.

Imagen

Se utiliza para presentar una imagen estática en un formulario o informe. Dado que una imagen estática no es un

objeto OLE, no se puede modificar la imagen dentro de Access una vez que ha sido incluida en un formulario o

informe.

En el cuadro de diálogo Insertar imagen, haga clic en el nombre de archivo cuya imagen desea agregar. Podría

necesitar utilizar el cuadro Buscar en para especificar la unidad y la carpeta donde se encuentra la imagen.

Access crea un control de imagen y presenta la imagen en el control.

Nota: Puede ajustar el tamaño y proporciones de un objeto después de que lo haya pegado (Propiedades).

· Recortar. Presenta la imagen con su tamaño real. Si la imagen es mayor que el área dentro de los

márgenes, la imagen se recorta.

Page 69: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 69

· Extender. Hace la imagen del tamaño del área dentro de los márgenes. Esto puede distorsionar la ima-

gen.

· Zoom. Presenta la imagen entera después de cambiarle el tamaño para ajustar o bien el alto o bien el an-

cho al área de los márgenes. Esta opción no distorsiona la imagen.

Cuando agrega una imagen a un control de imagen, Access inserta la imagen de modo predeterminado. Cuando

se inserta una imagen forma parte del archivo de base de datos. Si piensa utilizar la misma imagen en varios

formularios e informes, es posible que desee vincular la imagen en lugar de insertarla. Cuando vincula una ima-

gen, sólo guarda la imagen una vez. Para vincular una imagen, establezca la propiedad TipoDeImagen para el

control de imagen a Vinculado.

Agregar una imagen u otro objeto a un formulario o informe:

Es posible agregar objetos o partes de objetos que haya creado en otras aplicaciones a un formulario o informe

de Access. Por ejemplo, puede agregar una imagen que haya creado con Paint, una hoja de cálculo que haya

creado con Excel, o un documento Word que haya creado con Word. Puede agregar toda la información de un

archivo o solamente determinada información seleccionada.

Cómo agregar una imagen o un objeto depende de si desea que el objeto sea dependiente o independiente. Un

objeto dependiente se guarda en una tabla. Cuando se mueva a un nuevo registro, el objeto presentado en el

formulario o informe cambia. Por ejemplo, es posible querer guardar una foto de cada uno de los empleados de

su compañía. Un objeto independiente, por su parte, se guarda en el diseño del formulario o del informe. Cuando

se mueve a un nuevo registro, el objeto no cambia. Por ejemplo, se puede agregar un logotipo que ha creado con

Paint a un formulario o informe.

Marco de objeto independiente

Se utiliza para presentar un objeto OLE independiente, como una hoja de cálculo de Excel, en un formulario o

informe. El objeto permanece constante mientras usted se desplaza de registro en registro.

Es posible agregar objetos o partes de objetos que haya creado en otras aplicaciones a un formulario o informe

de Access. Por ejemplo, puede agregar una imagen que haya creado con Paint, una hoja de cálculo que haya

creado con Excel, o un documento Word que haya creado con Word. Puede agregar toda la información de un

archivo o solamente determinada información seleccionada.

Cómo agregar una imagen o un objeto depende de si desea que el objeto sea dependiente o independiente. Un

objeto dependiente se guarda en una tabla. Cuando se mueva a un nuevo registro, el objeto presentado en el

formulario o informe cambia. Por ejemplo, es posible querer guardar una foto de cada uno de los empleados de

su compañía. Un objeto independiente, por su parte, se guarda en el diseño del formulario o del informe. Cuando

se mueve a un nuevo registro, el objeto no cambia. Por ejemplo, se puede agregar un logotipo que ha creado con

Paint a un formulario o informe.

Insertar un objeto independiente existente

Abra un formulario en la vista Diseño o un informe en la vista Diseño.

Sobre el formulario o informe, haga clic donde desee insertar el objeto.

En el cuadro de diálogo Insertar Objeto, haga clic en Crear desde archivo, y especifique la ruta de acceso del

archivo. Si no conoce la ruta de acceso, puede hacer clic en Examinar.

Seleccione la opción Mostrar como icono si desea que el objeto aparezca como un icono en vez de como el pro-

pio objeto. Mostrar como icono un objeto puede ser útil cuando el objeto contiene información adicional que no

tiene que ser presentada. Mostrar como icono un objeto utiliza menos espacio en disco.

Si la aplicación que está copiando permite editar el objeto OLE utilizando arrastrar y soltar, puede arrastrar el

archivo directamente desde el Explorador de Windows o desde el escritorio en vez de utilizar la herramienta

Marco de objeto independiente.

En muchos casos, se editará un objeto independiente en la vista Diseño del formulario o informe. Si desea poder

editar también el objeto en la vista Formulario, establezca la propiedad Activado (Enabled) del marco de objeto

independiente a Sí y la propiedad Bloqueado (Locked) a No.

Marco de objeto dependiente

Se utiliza para mostrar los objetos OLE; por ejemplo una serie de imágenes, en un formulario o informe. Este

control es para objetos almacenados en un campo del origen de registros base del formulario o informe. A medi-

da que se desplaza de registro en registro, se presenta un objeto diferente en el formulario o informe.

Agregar un objeto dependiente a un formulario o informe:

Puede agregar un objeto dependiente a un formulario o informe como un objeto insertado o como un objeto

vinculado.

Cuando inserta un objeto en un formulario o informe, Access guarda el objeto en su archivo de base de datos. Si

modifica un objeto desde su formulario o informe, el objeto se cambia en su base de datos. Por esta razón, un

objeto insertado está siempre disponible.

Cuando vincula un objeto, puede ver y modificar el objeto desde su formulario o informe, pero los cambios se

almacenan en el archivo original del objeto, no en su archivo de la base de datos. También puede modificar el

archivo del objeto de forma separada y hacer que los últimos cambios le aparezcan la próxima vez que abra el

formulario o informe. La vinculación de un objeto es muy útil para los archivos muy grandes que no desea in-

cluir en su base de datos, y para los archivos que desee utilizar en varios formularios e informes, aunque si un

archivo de objeto vinculado es movido, tiene que reconectar el vínculo de nuevo.

Page 70: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

70 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

Insertar un objeto dependiente existente

Si todavía no lo ha hecho, cree un marco de objeto dependiente en un formulario.

Cambie a la vista Formulario o la vista Hoja de datos.

Muévase al registro en el que desea insertar el objeto y haga clic en el campo del objeto OLE.

En el menú Insertar, haga clic en Objeto.

En el cuadro de diálogo Insertar Objeto, haga clic en Crear desde archivo y, a continuación, especifique una ruta

de acceso hacia el archivo. Si no conoce la ruta de acceso, haga clic en Examinar.

Seleccione la casilla de verificación Vincular, si desde vincularlo.

Seleccione la opción Mostrar como icono si desea que el objeto aparezca como un icono en vez de como el pro-

pio objeto. Mostrar como icono un objeto puede ser útil cuando el objeto contiene información adicional que no

tiene que ser presentada. Mostrar como icono un objeto utiliza menos espacio en disco.

Haga clic en Aceptar.

Si se encuentra en la vista Formulario, Access presenta el objeto. Si se encuentra en la vista Hoja de datos,

Access presenta el nombre del objeto, por ejemplo, "Imagen de mapa de bits".

Si necesita editar el objeto, haga doble clic en él.

Nota: Si la aplicación que está copiando admite la edición de OLE de arrastrar y soltar, puede arrastrar el archivo

directamente desde el Explorador de Windows o desde el escritorio en vez de utilizar el comando Objeto.

Puede ajustar el tamaño y proporciones de un objeto después de que lo haya pegado

También puede insertar un objeto dependiente en una hoja de datos de una tabla o consulta.

Salto de página

Se utiliza para comenzar una nueva pantalla en un formulario, una nueva página en un formulario impreso o una

nueva página de un impreso.

Crear un formulario con más de una página (pantalla)

Haga clic en el formulario en el lugar donde desea situar el fin de página. Sitúe el fin de página por encima o por

debajo de un control para evitar cortar los datos de ese control.

Access marca el fin de página en el borde izquierdo del formulario con una pequeña línea de puntos.

Nota: Si desea que todas las páginas tengan el mismo tamaño y que cada ventana muestre solamente una pági-

na, diseñe el formulario de modo que los fines de página estén a la misma distancia unos de otros. Para ello, sitúe

los controles de fin de página mediante la regla vertical.

Haga doble clic en el selector de formularios para abrir la hoja de propiedades y, a continuación, haga clic en

Página activa en el cuadro de la propiedad Ciclo (Cycle). Cuando la propiedad Ciclo (Cycle) está establecida a

Página activa, no se puede presionar la tecla TAB para desplazarse entre páginas.

Quite la barra de desplazamiento vertical estableciendo la propiedad BarrasDeDesplazamiento (ScrollBars) a

Sólo horizontal o a Ninguna.

Cambie a la vista Formulario para probar el formulario y cambiar su tamaño de modo que, cada vez, sólo pueda

ver una página. Puede presionar las teclas RE PÁG o AV PÁG para desplazarse por las páginas.

Nota: Es posible que también desee establecer otras propiedades en la vista Diseño. Por ejemplo, puede que

desee establecer la propiedad EstiloDeLosBordes (BorderStyle) a Fino para que no se permita cambiar el tamaño

del formulario y también es posible que desee establecer la propiedad BotonesMinMax (MinMaxButtons) a

Ninguno para que el formulario no presente botones Minimizar y Maximizar. Además, cabe la posibilidad de

que desee agregar un botón de comando a cada página que pueda utilizarse para mover el enfoque a la página

siguiente o a la página anterior. Para ver un ejemplo de este tipo de botón de comando, vea el formulario Em-

pleados de la base de datos de ejemplo Neptuno.

Un fin de página está activo en la vista Formulario sólo cuando la propiedad PresentaciónPredeterminada (De-

faultView) del formulario tiene el valor Formulario simple.

Para los formularios utilizados en la vista Formulario, el fin de página marca hasta dónde se desplazará el formu-

lario al presionar RE PÁG o AV PÁG. En los formularios impresos, el fin de página marca el principio de una

nueva página dentro de una sección. Para empezar una página al principio de una sección, utilice la propiedad

ForzarNuevaPágina (ForceNewPage) de la sección.

Control ficha

Utilice este control para crear un formulario con fichas de varias páginas (como el formulario Empleados de la

base de datos Neptuno) o un cuadro de diálogo con fichas (como el cuadro de diálogo Opciones del menú

Herramientas). Puede copiar o agregar otros controles a un control ficha. Haga clic con el botón secundario del

ratón en el control Ficha de la cuadrícula de diseño para modificar el número de páginas, el orden de las páginas,

las propiedades de la página seleccionada y las propiedades del control ficha seleccionado.

En el cuadro de herramientas, haga clic en la herramienta Control ficha y, a continuación, haga clic en el formu-

lario en el que desea situar el control.

Access agrega un control ficha con dos páginas. La primera página se encuentra en la parte superior.

Para agregar controles al control ficha, haga clic en la ficha de la página a la que desea agregar los controles. A

continuación, agregue los controles mediante uno de los métodos siguientes:

Haga clic en Lista de campos en la barra de herramientas para mostrar la lista de campos y arrastre

uno o más campos a la página de la ficha.

Page 71: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 71

· Haga clic en una herramienta del cuadro de herramientas y haga clic en la página de la ficha. Puede

agregar cualquier tipo de control excepto otro control ficha.

· Copie controles de otra parte del formulario o de otra página (sin embargo, no es posible arrastrar con-

troles de otra parte de un formulario o de otra página).

Éstas son otras operaciones que quizá desee realizar:

· Para cambiar el nombre de una ficha, haga doble clic en la página que desea cambiar para abrir su hoja

de propiedades y especifique un nuevo nombre en la propiedad Título (Caption). Si no especifica un nombre en

la propiedad Título (Caption), Access utiliza el valor de la propiedad Nombre (Name).

· Para agregar, eliminar o cambiar el orden de las fichas, haga clic en el borde del control ficha con el

botón secundario del ratón (ratón) y, a continuación, haga clic en Insertar página, Eliminar página u Orden de las

páginas.

· Para cambiar el orden de tabulación de los controles de una página, haga clic en la página con el botón

secundario del ratón y haga clic en Orden de tabulación.

· Para cambiar el nombre de la fuente, el tamaño de la fuente, etc., de las páginas, haga doble clic en el

borde del control ficha para abrir su hoja de propiedades y a continuación establezca las propiedades correspon-

dientes. No es posible especificar configuraciones diferentes para cada página.

Ajuste el tamaño del control ficha según sea apropiado. Haga clic en cada ficha para asegurarse de que todos los

controles caben en ella.

Nota: Access no recorta los controles al ajustar el tamaño del control ficha. Es posible que tenga que mover los

controles para poder reducir el tamaño del control ficha.

Subformulario/Subinforme

Se utiliza para presentar los datos procedentes de más de una tabla en un formulario o informe.

Crear un formulario y un subformulario al mismo tiempo:

Antes de utilizar este procedimiento, asegúrese de que ha configurado la tabla de relaciones correctamente.

1 En cualquier ventana de Access, haga clic en la flecha situada al lado del botón Nuevo objeto, luego

seleccione Formulario.

2 En el cuadro de diálogo Nuevo formulario, haga doble clic en Asistente para formularios.

3 En el primer cuadro de diálogo del asistente, seleccione de la lista una tabla o una consulta. Por ejem-

plo, para crear un formulario Categorías que presente los productos de cada categoría en un subformulario, se-

leccione la tabla Categorías (la parte "uno" de la relación uno a varios).

4 Haga doble clic en los campos que desee incluir de esta tabla o consulta.

5 En el mismo cuadro de diálogo del asistente, seleccione otra tabla o consulta de la lista. Utilizando el

mismo ejemplo, seleccione la tabla Productos (la parte "varios" de la relación uno a varios del formulario Cate-

gorías de ejemplo).

Nota: Da igual que elija primero una tabla o una consulta.

6 Haga doble clic en los campos que desee incluir de esta tabla o consulta.

7 Cuando haga clic en Siguiente, si ha establecido las relaciones correctamente antes de iniciar el asisten-

te, el asistente preguntará qué tabla o consulta desea ver. Utilizando el mismo ejemplo, que para crear el formu-

lario Categorías, seleccione por Categorías.

8 En el mismo cuadro de diálogo, seleccione la opción Formulario con subformularios.

9 Siga las indicaciones de los cuadros de diálogo restantes. Cuando seleccione Terminar, Access crea dos

formularios, uno para el formulario principal y el control del subformulario y otro para el subformulario.

Crear un subformulario y agregarlo a un formulario existente:

Antes de utilizar este procedimiento, asegúrese de que ha configurado la tabla de relaciones correctamente.

1 Abra en vista Diseño el formulario que desee agregar al subformulario.

2 Asegúrese de que la herramienta Asistentes para controles en el cuadro de herramientas está presionada.

3 Haga clic en la herramienta Subformulario/Subinforme del cuadro de herramientas.

4 En el formulario, haga clic en el lugar donde desee colocar el subformulario.

5 Siga las indicaciones de los cuadros de diálogo del asistente.

6 Cuando seleccione Terminar, Access agrega un control de un subformulario al formulario. También

crea un formulario separado que el control del subformulario utiliza para presentar el subformulario.

Agregar un formulario existente a otro formulario también existente para crear un formulario con un sub-

formulario:

Antes de utilizar este procedimiento, asegúrese de que ha configurado la tabla de relaciones correctamente.

1 Abra el formulario que desee utilizar como el formulario principal en la vista Diseño. Normalmente será

un formulario basado en una tabla o una consulta en la parte "uno" de una relación uno a varios.

2 Asegúrese de que la herramienta Asistentes para controles esté presionada en el cuadro de herramientas.

3 Presione F11 para pasar a la ventana Base de datos.

4 Arrastre un formulario o una hoja de datos de la ventana Base de datos al formulario principal.

Access agrega un control de un subformulario al formulario. Si ha arrastrado un formulario presentado en la

vista Formulario, Access presenta el subformulario en esa vista. Si ha arrastrado un hoja de datos, Access

muestra el subformulario como una hoja de datos.

Vincular un formulario principal y un subformulario

Page 72: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

72 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

Si crea un subformulario con el Asistente para formularios o con el Asistente para subformularios y subinformes,

Access vincula automáticamente el formulario principal con el subformulario según ciertas condiciones. Si el

formulario principal y el subformulario no satisfacen estas condiciones, puede utilizar este procedimiento para

vincularlos.

1 Abra el formulario principal en la vista Diseño.

2 Asegúrese de que el control del subformulario esté seleccionado, y luego haga clic en Propiedades en

la barra de herramientas para presentar la hoja de propiedades del control del subformulario.

3 En el cuadro de la propiedad Vincular campos secundarios (LinkChildFields), introduzca el nombre del

campo de vinculación del subformulario. Si no está seguro de qué es un campo de vinculación, haga clic en el

botón Generar para abrir el Vinculador de campos de subformularios y subinformes. Para introducir más de un

campo de vinculación, separe los nombre de los campos con puntos y comas (;). Si introduce más de un campo

de vinculación, debe introducir los campos en el mismo orden en las propiedades Vincular campos secundarios

(LinkChildFields) y Vincular campos principales (LinkMasterFields).

Nota No puede utilizar el nombre de un control en la propiedad VincularCamposSecundarios (LinkChild-

Fields).

4 En el cuadro de la propiedad Vincular campos principales (LinkMasterFields) introduzca el nombre del

campo de vinculación en el formulario principal. Si no está seguro de qué es un campo de vinculación, haga clic

en el botón Generar para abrir el Vinculador de campos de subformularios y subinformes. Para introducir más de

un campo de vinculación, separe los nombre de los campos con puntos y comas (;). Si introduce más de un cam-

po de vinculación, debe introducir los campos en el mismo orden en las propiedades Vincular campos secunda-

rios (LinkChildFields) y Vincular campos principales (LinkMasterFields).

Notas

· Los campos de vinculación no han de aparecer en el formulario principal ni en el subformulario, pero se

han de incluir en el origen de registros base. Si utiliza el Asistente para formularios al crear el subformulario;

Access incluye automáticamente los campos de vinculación en el origen de registros base incluso, si no los elige

en el asistente.

· Los campos de vinculación deben tener el mismo o un tipo compatible de tipo de datos o tamaño de

campo. Por ejemplo, un campo Autonumérico es compatible con un campo numérico cuya propiedad Tamaño

del campo esté establecida a Entero largo.

Ejemplo (diseño) de Formulario con datos en primer ejemplo de Consulta en Pág 37.

Para obtener una sola Sección y sus totales, según el Pie del formulario anterior:

Formulario con Botones de alternar en un Cuadro de opciones en que en sus Propiedades, en ficha Eventos, En

evento Al hacer clic, ejecuta la macro "Ver Botones" (ver imagen siguiente).

El Cuadro de texto independiente se utiliza como Variable de memoria con valor predeterminado 0 y nombre

ABIERTOS.

Page 73: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 73

El Subformalario 12 es para mostrar el Total General (todas las Secciones) a partir del segundo ejemplo de

Consulta en Pág 37 y el diseño es:

Vista completa:

Page 74: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

74 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

Algunas Propiedades de Subformulario/Subinforme (Datos)

Propiedad ObjetoOrigen (SourceObject)

Use la propiedad ObjetoOrigen (SourceObject) para identificar el formulario o informe origen del subformulario

o subinforme de un formulario o informe. También puede usar esta propiedad con marcos de objeto independien-

tes vinculados para determinar la ruta completa y el nombre del archivo que contiene los datos vinculados al

marco de objeto.

Valores

Introduzca el nombre del formulario o informe origen del subformulario en la hoja de propiedades del control. Si

agrega un subformulario o subinforme a un formulario o informe arrastrándolo desde la ventana Base de datos,

la propiedad se establecerá automáticamente en la hoja de propiedades.

Para los marcos de objeto independientes, la propiedad ObjetoOrigen (SourceObject) se establece automática-

mente al utilizar el comando Objeto del menú Insertar para insertar un objeto OLE.

Para un subformulario o subinforme, puede establecer esta propiedad utilizando la hoja de propiedades del con-

trol, una macro o Visual Basic.

En Visual Basic, esta propiedad se establece usando una expresión de cadena que contiene el nombre de un for-

mulario o informe.

Para los marcos de objeto independientes vinculados, la propiedad ObjetoOrigen (SourceObject) no se puede

establecer en ninguna vista.

Nota No se puede establecer o modificar la propiedad ObjetoOrigen (SourceObject) en los eventos Open o

Format de un informe.

Comentarios

Si elimina el valor de la propiedad ObjetoOrigen (SourceObject) en la hoja de propiedades de un subformulario

o subinforme, el control permanecerá en el formulario pero ya no estará vinculado al formulario o informe ori-

gen.

Propiedades VincularCamposSecundarios (LinkChildFields) y VincularCamposPrincipales (LinkMaster-

Fields)

Use conjuntamente las propiedades VincularCamposSecundarios (LinkChildFields) y VincularCamposPrincipa-

les (LinkMasterFields) para especificar cómo Access vincula los registros de un formulario o informe con los

registros de un subformulario, subinforme u objeto incrustado, tales como un gráfico. Si se establecen estas pro-

piedades, Access actualiza automáticamente el registro vinculado del subformulario al cambiar a un nuevo re-

gistro del formulario principal.

Valores

Puede establecer la propiedades VincularCamposSecundarios (LinkChildFields) y VincularCamposPrincipales

(LinkMasterFields) del subformulario, subinforme u objeto incrustado de la siguiente forma:

· La propiedad VincularCamposSecundarios (LinkChildFields) Escriba el nombre de uno o más campos

de vinculación en el subformulario, subinforme u objeto incrustado.

· La propiedad VincularCamposPrincipales (LinkMasterFields): Escriba el nombre de uno o más campos

o controles de vinculación en el formulario o informe principales.

Puede utilizar el Vinculador de campos de subformulario/subinforme para establecer estas propiedades eligiendo

el botón Generar a la derecha del cuadro de la propiedad en la hoja de propiedades.

También puede establecer estas propiedades mediante una expresión de cadena en una macro o Visual Basic.

Sólo es posible establecer estas propiedades en la vista Diseño o durante el evento Open de un formulario o

informe.

Comentarios

No es necesario que tengan el mismo nombres los campos o controles que use para establecer estas propiedades,

pero han de contener la misma clase de datos y tener el mismo (o compatible) tipo de datos y tamaño de campo.

Por ejemplo, un campo AutoNumérico es compatible con un campo Numérico si la propiedad Tamaño del cam-

po del campo numérico es Entero largo.

Puede usar el nombre de un control (incluso el nombre de un control calculado) para establecer la propiedad

VincularCamposPrincipales (LinkMasterFields), pero no puede usar el nombre de un control para la propiedad

VincularCamposSecundarios (LinkChildFields). Si desea usar un valor calculado como el vínculo para un sub-

formulario, subinforme u objeto incrustado, defina un campo calculado en la consulta base del objeto secundario

y establezca la propiedad VincularCamposSecundarios (LinkChildFields) a ese campo.

Cuando especifique más de un nombre de campo o control para el valor de estas propiedades, ha de introducir el

mismo número de campos o controles para ambas propiedades y separar los nombres con un punto y coma (;).

Al crear un subformulario o subinforme arrastrando un formulario o informe desde la ventana Base de datos a

otro formulario o informe o usando el Asistente para formularios, Access automáticamente establece las propie-

dades VincularCamposSecundarios (LinkChildFields) y VincularCamposPrincipales (LinkMasterFields) bajo las

condiciones siguientes:

· Tanto el formulario o informe principal como el objeto secundario se basan en tablas y se ha definido

una relación entre estas tablas con el comando Relaciones. Access utiliza los campos que relacionan las dos

tablas como los campos de vinculación.

Page 75: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 75

· El formulario o informe principal se basa en una tabla con una clave principal y el subformulario o

subinforme se basan en una tabla o consulta que contiene un campo con el mismo nombre y el mismo tipo de

datos (o compatible) que la clave principal. Access usa la clave principal de la tabla base del objeto principal y

el campo con el mismo nombre de la tabla o consulta base del objeto secundario como campos de vinculación.

Nota Los campos de vinculación no han de estar incluídos en el objeto principal o en el objeto secundario. Es

suficiente con que estén en las tablas o consultas base de los objetos, para que se puedan usar para vincular los

objetos. Si se usa un asistente, Access incluye automáticamente los campos de vinculación.

Línea:

Se utiliza en un formulario o informe, por ejemplo, para dar énfasis a la información relacionada o especialmente

importante.

Dibujar una línea en un formulario o un informe:

1 Abra un formulario en la vista Diseño o un informe en la vista Diseño.

2 Haga clic en la herramienta Línea en el cuadro de herramientas.

3 Haga clic en cualquier parte del formulario o informe para crear una línea de tamaño predeterminado o

bien haga clic y arrastre el ratón (ratón) para crear una línea del tamaño que desee.

Nota: Para dibujar líneas horizontales o verticales, haga clic en la herramienta Línea y, a continuación, arrastre

el ratón para crear la línea. Para realizar pequeños ajustes en la longitud o el ángulo de una línea, seleccione la

línea, mantenga presionada la tecla MAY y presione una de las teclas de dirección. Para efectuar pequeños ajus-

tes en la ubicación de una línea, mantenga presionada la tecla CTRL y presione una de las teclas de dirección.

Para cambiar el grosor de una línea, seleccione la línea, haga clic en la flecha situada junto al botón Ancho de

línea o de borde en la barra de herramientas Formato y, a continuación, seleccione el grosor de línea que desee.

Para cambiar el estilo de línea (puntos, guiones, etc.) de una línea, seleccione la línea, haga clic en Propiedades

en la barra de herramientas para abrir la hoja de propiedades y, a continuación, seleccione un estilo de borde en

el cuadro de la propiedad EstiloDeLosBordes (BorderStyle).

Seleccionar línea y elegir Duplicar varias veces para crear líneas iguales (Ej.: líneas para escribir a mano)

Si necesario, utilizar Formato (Alinear). Para 3-D: Propiedades, Formato, Estilo Especial.

Rectángulo

Se utiliza para crear efectos gráficos, como agrupar un conjunto de controles de un formulario o resaltar los datos

importantes de un informe.

Dibujar un rectángulo en un formulario o un informe:

1 Abra un formulario en la vista Diseño o un informe en la vista Diseño.

2 Haga clic en la herramienta Rectángulo en el cuadro de herramientas.

3 Haga clic en cualquier parte del formulario o informe para crear un rectángulo de tamaño predetermina-

do o arrastre el ratón (ratón) para crear un rectángulo del tamaño que desee.

Nota: Para cambiar el grosor del borde de un rectángulo, seleccione el rectángulo, haga clic en la flecha situada

junto al botón Ancho de línea o de borde en la barra de herramientas Formato y, a continuación, seleccione el

grosor que desee. Para cambiar el estilo de línea (puntos, guiones, etc.) de un rectángulo, seleccione el rectángu-

lo, haga clic en Propiedades en la barra de herramientas para abrir la hoja de propiedades y, a continuación,

seleccione un estilo de borde en el cuadro de la propiedad EstiloDeLosBordes (BorderStyle).

Cambiar las propiedades predeterminadas de un tipo de control Cada tipo de control tiene un conjunto predeterminado de propiedades que determina la apariencia general y el

comportamiento de ese tipo de control. Por ejemplo, las propiedades predeterminadas de un cuadro de texto

determinan el tamaño y la fuente del cuadro de texto y si tiene una etiqueta adjunta. Este conjunto de propieda-

des del control se denomina "estilo de control predeterminado". Es posible que desee cambiar el estilo de control

predeterminado de un tipo de control si observa que a menudo hace los mismos cambios en ese tipo de control

después de agregarlo a un formulario o un informe.

Por ejemplo, suponga que no desea crear etiquetas para los cuadros de texto que agrega a un nuevo formulario.

En lugar de eliminar la etiqueta cada vez que crea un cuadro de texto, puede cambiar el valor de la propiedad

Etiquetado automático a No en el estilo de control predeterminado del cuadro de texto.

Una vez que restablece el estilo de control predeterminado de un control, todos los controles posteriores de ese

tipo agregados al formulario o informe activos tendrán esa configuración de propiedades. El estilo de control

predeterminado se mantiene activo en ese formulario o informe hasta que lo cambie de nuevo.

Cambiar el estilo de control predeterminado de nuevos controles mediante la hoja de propiedades

1 Abra un formulario en la vista Diseño, o un informe en la vista Diseño.

2 En el cuadro de herramientas, elija la herramienta del tipo de control que desea cambiar. Por ejemplo, si

desea cambiar el estilo de control predeterminado de los cuadros de texto, elija la herramienta Cuadro de texto .

3 Presente la hoja de propiedades haciendo clic en Botón Propiedades en la barra de herramientas Diseño

Access cambia la barra de título de la hoja de propiedades para indicar que ha abierto la hoja de propiedades

predeterminada de ese tipo de control.

4 En la hoja de propiedades, cambie los valores de las propiedades.

Cambiar el estilo de control predeterminado de nuevos controles mediante un control existente

1 Abra un formulario en la vista Diseño, o un informe en la vista Diseño.

2 Seleccione el control que tiene las características que desea usar como características predeterminadas.

Page 76: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

76 FORMULARIOS - MENUS DE VISTA DISEÑO. Págs. 155

3 En el menú Formato, elija Definir valores predeterminados de los controles.

Access establece las propiedades predeterminadas para ese tipo de control basándose en el control seleccionado.

Sugerencia: Se pueden copiar las características de formato de un control a otro haciendo clic en Copiar forma-

to en la barra de herramientas. Para obtener más información, haga clic en .

Especificar una nueva plantilla para los formularios e informes

1 En el menú Herramientas, haga clic en Opciones.

2 Haga clic en la ficha Formularios/Informes.

3 Escriba el nombre de la nueva plantilla en el cuadro Plantilla para formulario o Plantilla para informe.

Nota: Puede utilizar un formulario o informe ya existente como plantilla, o bien puede crear un formulario o

informe específicamente para que se utilice como plantilla.

4 Haga clic en Aceptar.

Objetos/Controles: Ajustes y Complementos. Puede cambiar la apariencia de un formulario completo o simplemente de alguna de sus partes.

· Para cambiar la fuente, el tamaño de fuente y el grosor de línea para todo el texto y líneas del formulario

al mismo tiempo, haga clic en Autoformato en la barra de herramientas, y a continuación seleccione un nuevo

autoformato para el formulario.

· Para cambiar la apariencia de un control, por ejemplo, un cuadro de texto, haga clic en el control para

seleccionarlo. Después, en la barra de herramientas Formato, seleccione una fuente distinta, un tamaño de fuente

distinto u otra opción de formato. Para agregar una imagen de fondo a un formulario, en la hoja de propiedades

del formulario, especifique un gráfico en el cuadro de la propiedad Imagen o haga clic en el botón Generar que

se encuentra junto al cuadro de la propiedad para abrir el cuadro de diálogo Insertar imagen.

Puede mover controles seleccionados, ajustar su tamaño o alinearlos. Para seleccionar un control, por ejem-

plo, un cuadro de texto, haga clic en él. Para seleccionar varios controles, mantenga presionada la tecla MAY

mientras hace clic en cada control. Una vez que el control está seleccionado, moviendo los cuadros de ajuste

lateral modifica el tamaño, una mano en control principal lo mueve junto con su etiqueta, un dedo en cuadro

de selección mueve sólo al control.

Para alinear controles, seleccione los que desea alinear. Después, seleccione Alinear en el menú Formato y haga

clic en Izquierda, Derecha, Arriba, Abajo o A la cuadrícula.

Es posible crear efectos especiales, como por ejemplo texto sombreado, asimétrico, girado y estirado, utilizando

la herramienta WordArt de la barra de herramientas Dibujo.

Los objetos de WordArt son realmente objetos de dibujo, por lo que no se tratan como texto. Al igual que con los

objetos de dibujo, puede utilizar las herramientas de las barras de herramientas WordArt y Dibujo para cambiar

los objetos de WordArt. Por ejemplo, puede cambiar su relleno, estilo de línea, sombra o efecto 3D. Sin embar-

go, no puede ver el objeto de WordArt en la vista Esquema ni revisar su ortografía.

Si utiliza la herramienta Sombra de la barra de herramientas Dibujo, agregará profundidad a los objetos de dibu-

jo. Para ajustar la posición de la sombra o cambiar su color, haga clic en Configuración de sombra y, a conti-

nuación, utilice las herramientas de la barra de herramientas Configuración de sombra.

Puede agregar un efecto 3D a las líneas, Autoformas y objetos de forma libre utilizando la herramienta 3D de la

barra de herramientas Dibujo. Con las opciones 3D, puede cambiar la profundidad del objeto de dibujo y su

color, ángulo, dirección de la iluminación y reflexión de la superficie. Para modificar el efecto 3D de un objeto

de dibujo, haga clic en Configuración 3D y utilice las herramientas de la barra de herramientas Configuración

3D.

Se puede agregar una sombra o un efecto 3D a un objeto de dibujo, pero no ambas cosas. Por ejemplo, si aplica

un efecto 3D a un objeto de dibujo que tenga sombra, la sombra desaparece.

Puede utilizar la herramienta Color de relleno de la barra de herramientas Dibujo para rellenar los objetos de

dibujo con un color sólido, un degradado, una trama, una textura o una imagen. Para quitar el color de relle-

no o crear un objeto de dibujo transparente, haga clic en la flecha que se encuentra junto a Color de relleno y, a

continuación, haga clic en Sin relleno.

Al dibujar un objeto, éste aparece automáticamente con un borde alrededor ¾ una línea fina que define su forma.

También se pueden agregar bordes a cuadros de texto, imágenes y artes importadas. Puede cambiar o aplicar

formato a los bordes de la misma forma que se hace con las líneas. Para cambiar el grosor de los bordes, utilice

la herramienta Estilo de línea. La herramienta Tipo de línea se utiliza para hacer que los bordes sean rayados o

punteados; utilice la herramienta Color de línea para agregar color a los bordes o quitarlos completamente.

La barra de herramientas Dibujo contiene herramientas que se utilizan para dibujar, manipular y dar formato a

todo tipo de objetos de dibujo. Para ver esta barra de herramientas, haga clic en Dibujo en la barra de herramien-

tas Estándar. Si hace clic en un botón de la barra de herramientas que incluya una flecha triangular, aparecerá un

menú. Puede mover algunos de estos menús y acercarlos a los objetos de dibujo para poder utilizarlos con mayor

facilidad. Si el menú que aparece tiene una barra sólida en el borde superior, arrastre la barra para mover el

menú.

Utilizando las herramientas de Autoformas de la barra de herramientas Dibujo, podrá crear automáticamente

una gran variedad de formas.

El menú Autoformas contiene varias categorías de formas. Además de las líneas, incluye formas básicas, flechas

de bloque, elementos de diagrama de flujo, cintas y estrellas, y llamadas.

Page 77: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 77

Para dibujar una Autoforma, haga clic en Autoformas, señale una categoría y haga clic en la forma que desee.

Haga clic en el documento para agregar la forma con su tamaño predeterminado o arrástrela para obtener el ta-

maño que desee.También puede transformar una Autoforma en otra. Seleccione la autoforma que desee cambiar,

haga clic en Dibujo en la barra de herramientas Dibujo, señale Cambiar autoforma y seleccione la nueva forma.

Todas las Autoformas tienen controladores de tamaño y uno o varios controladores de ajuste. Puede arrastrar

los controladores para cambiar su tamaño o forma.

Puede utilizar las herramientas de Líneas del menú Autoformas para trazar líneas rectas o curvas, líneas de forma

libre y flechas sencillas o dobles.Para trazar una línea o una forma libre, haga clic en Autoformas en la barra de

herramientas Dibujo, señale Líneas, haga clic en la herramienta que desee y arrastre el ratón. En caso de que sólo

desee trazar una línea recta, haga clic en Línea de la barra de herramientas Dibujo.

Puede utilizar las herramientas de formato de la barra de herramientas Dibujo para modificar líneas, curvas y

formas libres. Por ejemplo, puede dar color a las líneas, cambiar su grosor, agregar puntas de flecha o convertir-

las en líneas punteadas o rayadas.

Puede agregar texto a cualquier objeto de dibujo, excepto en las líneas rectas, las formas libres y los conecto-

res, haciendo clic en el objeto y escribiendo el texto. El texto se adjunta y se mueve con el objeto. Si no desea

adjuntar el texto a ningún objeto de dibujo, utilice la herramienta Cuadro de texto de la barra de herramientas

Dibujo. Esta herramienta puede utilizarse para agregar texto a cualquier parte de la página, por ejemplo para

crear títulos para los gráficos.

INFORMES Un informe es una forma efectiva de presentar los datos en formato impreso. Como tiene control sobre el tamaño

y el aspecto de todos los elementos de un informe, puede presentar la información en la forma que desee verla.

La mayor parte de la información en un informe proviene de una tabla, consulta o instrucción SQL base, que es

el origen de los datos del informe. Otra información del informe se almacena en el diseño del informe.

Puede crear un informe usted mismo o hacer que Access cree un informe automáticamente mediante un Asisten-

te para Informes. Un asistente para informes acelera el proceso para crear un informe ya que hace todo el trabajo

básico en su lugar. Cuando usa un asistente para informes, éste le pide información y crea un informe basado en

sus respuestas. Aunque haya creado muchos informes, puede que desee utilizar un asistente para organizar rápi-

damente su informe. Después puede cambiar a la vista Diseño para personalizarlo.

INFORMES - MENUS EN VISTA PREVIA DISEÑO Y PRELIMINAR. Incluídos en Tablas, Vista Hoja de datos.

INFORMES - MENUS EN VISTA DISEÑO. Incluídos en Formularios, Vista Diseño excepto:

MENU VER

Vista previa del diseño: Presenta el informe con el aspecto que tendrá cuando se imprima, pero utilizando sólo

datos de muestra, de forma que pueda echar un vistazo rápido al diseño del informe. La vista previa del diseño

presenta todas las secciones del informe y ordena y agrupa los datos de la sección de detalle, pero ignora los

criterios y las combinaciones de cualquier consulta base. También se accede a este comando por botón en Ficha

Informes de la ventana Base de Datos, mostrando el informe seleccionado..

Vista preliminar: Muestra el objeto activo, tabla, formulario o informe, tal y como va a aparecer cuando se

imprima (excepto en la ventana Macro, donde presenta primero el Documentador). Puede acercar o alejar una

página o ver varias páginas al mismo tiempo.

Ordenar y agrupar: Agrega, elimina o modifica los campos o expresiones por los que agrupar, el orden y las

propiedades de grupo tales como los encabezados y pies.

Encabezado o pie de página : Incluye o elimina una sección de encabezado y una sección de pie de página de

un formulario o informe. Utilice los encabezados de página para, por ejemplo, presentar títulos o encabezados de

columna. Utilice los pies de página para, por ejemplo, presentar el número de página o la fecha.

Encabezado o pie del informe: Presenta o quita las secciones de encabezado o pie del informe. Utilice el enca-

bezado para introducciones que contengan, por ejemplo, texto, imágenes y logotipos. Utilice el pie del informe

para resúmenes que contengan, por ejemplo, totales generales.

Crear un informe usando Autoinforme: Autoinforme crea un informe que presenta todos los campos y registros de la tabla o consulta seleccionada.

1 En la ventana Base de datos, haga clic en la ficha Informes.

2 Haga clic en Nuevo.

3 En el cuadro de diálogo Nuevo informe haga clic en uno de los siguientes asistentes:

· Autoinforme: en columnas. Cada campo aparece en una línea distinta con una etiqueta a su izquierda.

· Autoinforme: tabular. Los campos de cada registro aparecen en una línea y las etiquetas se imprimen

una vez en la parte superior de cada página.

4 Haga clic en la tabla o consulta que contiene los datos en los que desea basar su informe.

5 Haga clic en Aceptar.

Page 78: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

78 INFORMES - MENUS EN VISTA DISEÑO. Págs. 155

Access aplica el último autoformato utilizado en el informe. Si todavía no ha utilizado el Asistente para infor-

mes para crear el informe ni ha usado el comando Autoformato en el menú Formato, Access utiliza el autofor-

mato estándar.

Sugerencia: También puede crear un informe de una sola columna basado en la tabla o consulta abierta o en la

tabla o consulta seleccionada en la ventana Base de datos. Haga clic en Autoinforme en el menú Insertar, o en la

flecha junto al botón Nuevo objeto en la barra de herramientas, y después en Autoinforme. Los informes creados

con este método sólo constan de registros de detalle, pero no incluyen encabezado de informe ni encabezado de

página ni pie de página.

Crear un informe con un asistente: 1 En la ventana Base de datos, haga clic en la ficha Informes.

2 Elija Nuevo.

3 En el cuadro de diálogo Nuevo Informe, elija el asistente que desea utilizar. Una descripción del asisten-

te aparece en el lado izquierdo del cuadro de texto.

4 Elija la tabla o consulta que contiene los datos en los que desea basar su informe.

Nota: Access utiliza esa tabla o consulta como el origen de datos predeterminada para el informe. Sin embargo,

puede cambiar el origen de datos del asistente y seleccionar campos de otras tablas y consultas.

5 Haga clic en Aceptar.

6 Si ha hecho clic en Asistente para informes, Asistente para gráficos o Asistente para etiquetas en el paso

3, siga las instrucciones de los cuadros de diálogo del asistente. Si ha seleccionado Autoinforme: tabular o Auto-

informe: en columnas, Access creará automáticamente el informe.

Si el informe obtenido no tiene el aspecto deseado, puede cambiarlo en la vista Diseño.

Crear un informe sin asistente: 1 En la ventana Base de datos, haga clic en la ficha Informes.

2 Haga clic en Nuevo.

3 En el cuadro de diálogo Nuevo Informe, haga clic en Vista diseño.

4 Elija el nombre de la tabla o consulta que contiene los datos en los que desea basar el informe. (Si desea

un informe independiente, no seleccione nada de esta lista)

Sugerencia: Si desea crear un informe que utilice datos de más de una tabla, base su informe en una consulta.

5 Haga clic en Aceptar.

Access presenta la ventana Informe en la vista Diseño.

Crear un informe basado en más de una tabla: Usar el Asistente para informes es la forma más sencilla y rápida de crear un informe que combine datos de más

de una tabla. El Asistente para informes acelera el proceso de crear un informe porque hace todo el trabajo bási-

co automáticamente. En la primera pantalla del Asistente para informes, puede elegir los campos que desea in-

cluir en su informe. Estos campos pueden ser de una tabla o de varias tablas. Cuando utiliza el Asistente para

informes para crear un informe basado en varias tablas, Access crea una consulta detrás del informe. La consulta

incluye la información sobre qué tablas y qué campos utilizar.

Si desea crear un informe usted mismo, es posible crear una consulta y basar el informe sobre ella.

Crear un subinforme en un informe existente: Si el subinforme se va a vincular al informe principal, compruebe que ha configurado correctamente las relacio-

nes de tabla antes de utilizar este procedimiento.

1 Abra el informe que desea utilizar como informe principal en la vista Diseño.

2 Compruebe que la herramienta Asistentes para controles en el cuadro de herramientas está presionada.

3 Haga clic en Subformulario/Subinforme en el cuadro de herramientas.

4 En el informe, haga clic donde desee situar el subinforme.

5 Siga las instrucciones de los cuadros de diálogo del asistente.

Cuando haga clic en el botón Terminar, Access agregará un control de subinforme a su informe. También creará

otro informe que se mostrará como subinforme.

Agregar un informe existente a otro para crear un subinforme Si el subinforme se va a vincular al informe principal, asegúrese de que ha configurado correctamente las rela-

ciones de tabla antes de utilizar este procedimiento.

1 Abra el informe que desea utilizar como informe principal en la vista Diseño.

2 Compruebe que la herramienta Asistentes para controles en el cuadro de herramientas está presionada.

3 Presione F11 para cambiar a la ventana Base de datos.

4 Arrastre un informe o una hoja de datos desde la ventana Base de datos a la sección del informe princi-

pal donde desea que aparezca el subinforme.

Access agregará un control de subinforme al informe.

Secciones de un informe. La información de un informe puede dividirse en secciones. Cada sección tiene un propósito específico y se

imprime en un orden previsible en la página y en el informe.

Page 79: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 79

El encabezado del informe aparece una vez al principio de un informe. Se puede usar para elementos como un

logotipo, un título de informe o una fecha de impresión. El encabezado del informe se imprime antes que el

encabezado de página en la primera página del informe.

El encabezado de página aparece en la parte superior de cada página del informe. Se usa para mostrar elemen-

tos tales como los encabezados de columna.

Al principio de un nuevo grupo de registros aparece un encabezado de grupo. Se usa para mostrar información

que se aplica al grupo como conjunto, tal como un nombre de grupo.

La sección Detalle contiene el cuerpo principal de los datos de un informe. Esta sección se repite para cada re-

gistro del origen de registros base del informe.

Al final de cada grupo de registros aparece un pie de grupo. Se usa para mostrar elementos como los totales de

grupo.

El pie de página aparece en la parte inferior de cada página del informe. Se usa para mostrar elementos tales

como los números de página.

El pie del informe aparece una vez al final del informe. Se usa para mostrar elementos tales como los totales de

informe. Es la última sección en el diseño del informe, pero aparece antes del pie de página en la última página

del informe impreso.

Agregar o quitar un encabezado y pie de informe o un encabezado y pie de página

· Abra el informe en la vista Diseño.

· Haga clic en Encabezado o pie del informe o en Encabezado o pie de página en el menú Ver.

Notas:· Sólo se pueden agregar un encabezado y pie de página como pareja. Si no desea ambos, un encabezado

y un pie de página, establezca la propiedad Visible a No para la sección que no desee. O bien, elimine todos los

controles de la sección y cambie el tamaño de la sección a un alto igual a cero o estableczca su propiedad Altura

(Height) a 0.

· Si elimina un encabezado y pie de página, Microsoft Access eliminará también los controles del enca-

bezado y pie de página.

Crear etiquetas postales y de otros tipos 1 En la ventana Base de datos, haga clic en la ficha Informes.

2 Haga clic en Nuevo.

3 En el cuadro de diálogo Nuevo informe, haga clic en Asistente para etiquetas.

4 Haga clic en la tabla o la consulta que contiene los datos de las etiquetas y, a continuación, haga clic en

Aceptar.

5 Siga las instrucciones de los cuadros de diálogo del asistente.

Si el informe de etiquetas resultante no tiene el aspecto deseado, podrá borrarlo y volver a ejecutar el Asistente

para etiquetas.

El informe Etiquetas de cliente de la base de datos de ejemplo Neptuno muestra tres etiquetas postales a lo an-

cho. Para ver este informe, abra la base de datos Neptuno en la subcarpeta Ejemplos de la carpeta del programa

Office. En la ventana Base de datos, haga clic en la ficha Informes, en Etiquetas de cliente y, por último, en

Diseño.

Insertar Campo calculado a un registro de un informe 1 Abra el informe en la vista Diseño.

2 Agregue un cuadro de texto a la sección de detalle.

3 Para ver la hoja propiedades, asegúrese de que el cuadro de texto esté seleccionado, y luego haga clic en

el botón Propiedades de la barra de herramientas.

4 Haga una de las siguientes cosas:

· En el cuadro de la propiedad OrigenDelControl (ControlSource), introduzca una expresión apropiada.

(Ver Pág 41 Expresiones.)

· Haga clic en el botón Generar para utilizar el Generador de expresiones para crear la expresión.

Nota: Si un informe está basado en una consulta, puede colocar la expresión en la consulta base del informe.

Puede mejorar el rendimiento del informe y si va a calcular los totales de grupos de registros, es más fácil utilizar

el nombre de un campo calculado de una función agregada (Ver Pág 34, Totales, ALT+ V, T.).

Agrupar los registros en un informe En un informe se pueden agrupar hasta 10 campos o expresiones.

1 Abra el informe en la vista Diseño.

2 Haga clic en el botón Ordenar y agrupar de la barra de herramientas para mostrar el cuadro Ordenar y

agrupar.

3 Establezca el tipo de orden para los datos del informe.

4 Haga clic en el campo o expresión cuyas propiedades de grupo desee establecer.

5 Establezca las propiedades de grupo en la siguiente lista. Se debe establecer a Sí o Encabezado del gru-

po o Pie del grupo para crear un nivel de grupo y establecer las demás propiedades de agrupamiento.

· Encabezado del grupo. Agrega o elimina un encabezado del grupo para el campo o expresión.

· Pie del grupo. Agrega o elimina un pie de grupo para el campo o expresión.

Page 80: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

80 INFORMES - MENUS EN VISTA DISEÑO. Págs. 155

· AgruparEn (GroupOn). Especifica cómo se desean agrupar los valores. Las opciones que se ven depen-

den del tipo de datos del campo por el que se está agrupando. Si se agrupa por una expresión, verá todas las

opciones para todos los tipos de datos.

· IntervaloDelGrupo (GroupInterval). Especifica cualquier intervalo que sea válido para los valores en el

campo o expresión por el que esté agrupando.

· MantenerJuntos (KeepTogether). Especifica si Access debe imprimir todo o sólo parte de un grupo en

la misma página.

Nota: El informe Ventas de empleado por país de la base de datos de ejemplo Neptuno tiene dos niveles de

grupo.

Ordenar los registros en un informe. En un informe se puede ordenar hasta por 10 campos o expresiones.

1 Abra el informe en la vista Diseño.

2 Haga clic en Ordenar y agrupar en la barra de herramientas para mostrar el cuadro Ordenar y agrupar.

3 En la primera fila de la columna Campo/Expresión, seleccione un nombre de campo o escriba una ex-

presión.

El campo o expresión de la primera fila es el primer nivel de ordenación (el conjunto mayor). La segunda fila es

el segundo nivel de ordenación y así sucesivamente.

Cuando se rellena la columna Campo/Expresión, Access establece el tipo de orden a Ascendente. El tipo de

orden ascendente ordena desde la A a la Z o desde 0 a 9.

4 Para cambiar el tipo de orden, seleccione Descendente en la lista Tipo de orden. El orden Descendente

ordena desde la Z a la A o desde 9 a 0.

Nota: El informe Etiquetas de cliente de la base de datos de ejemplo Neptuno ordena los registros por los valo-

res de tres campos.

Calcular un total o promedio para un grupo o para todos los registros de un informe 1 Abra el informe en vista Diseño.

2 Agregue un cuadro de texto calculado a una o más de las siguientes secciones:

· Para calcular un total o promedio de un grupo de registros, agregue un cuadro de texto al encabezado

del grupo o al pie de página del grupo.

· Para calcular el total general o promedio de todos los registros en el informe, agregue un cuadro de

texto al encabezado del informe o al pie de página del informe.

3 Para mostrar la hoja de propiedades, asegúrese de que el cuadro de texto esté seleccionado, y luego haga

clic en el botón Propiedades de la barra de herramientas.

4 Haga una de las siguientes cosas:

· En el cuadro de la propiedad OrigenDelControl (Control Source), introduzca una expresión que utilice

la función Suma (Sum) para calcular un total o la función Promedio (Avg) para calcular un promedio.

· Haga clic en el botón Generar para utilizar el Generador de expresiones para crear la expresión.

· El informe Ventas de empleado por país de la base de datos de ejemplo Neptuno tiene un ejemplo de

totales de grupo y un total general.

Calcular una suma continua de un informe 1 Abra el informe en la vista Diseño.

2 Agregue un cuadro de texto a una o más de las siguientes secciones:

Para calcular una suma continua que se incrementa por cada registro, agregue un cuadro de texto de-

pendiente o un cuadro de texto calculado a la sección de detalle.

· Para calcular una suma continua que se incrementa por cada grupo de registros, agregue un cuadro de

texto dependiente o un cuadro de texto calculado al encabezado del grupo o al pie de página del grupo.

3 Para presentar la hoja de propiedades, asegúrese de que el cuadro de texto esté seleccionado, y luego

haga clic en el botón Propiedades de la barra de herramientas.

4 Establezca la propiedad SumaContinua (RunningSum) de acuerdo con el tipo de total continuo que

desee:

· Sobre grupo. Inicializa a 0 al principio de cada nivel de grupo más alto.

· Sobre todo. Acumula hasta el final del informe.

Notas

· Cuando establece la propiedad SumaContinua (RunningSum) a Sobre todo, puede repetir el total gene-

ral en el pie de página del informe. Cree un cuadro de texto en el pie de página del informe y establezca su pro-

piedad OrigenDelControl (ControlSource) al nombre del cuadro de texto que calcula la suma continua; por

ejemplo, =[CantidadPedido].

Propiedad SumaContinua (RunningSum)

La propiedad SumaContinua (RunningSum) se puede utilizar para calcular los totales registro a registro o grupo

a grupo de un informe. La propiedad SumaContinua (RunningSum) especifica si un cuadro de texto en un infor-

me muestra un subtotal y le permite establecer el intervalo en el que se acumulan los valores. Por ejemplo, puede

agrupar los datos por meses y mostrar la suma de las ventas de cada mes en el pie de página del grupo. Se puede

mostrar la suma continua de las ventas acumuladas del informe completo (ventas de Enero en el pié de página de

Page 81: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 81

Enero, ventas de Enero más Febrero en el pié de página de Febrero y así sucesivamente) agregando un cuadro de

texto al pie de página que muestre la suma de las ventas y configurando su propiedad SumaContinua (Running-

Sum) a Sobre todo.

Nota: La propiedad SumaContinua (RunningSum) sólo se aplica a un cuadro de texto en un informe.

Valores: La propiedad SumaContinua (RunningSum) utiliza los siguientes valores:

Valor Descripción) Visual Basic

No (Predeterminado) El cuadro de texto muestra los datos del campo base para el registro activo. 0

Sobre grupo El cuadro de texto muestra una suma continua de los valores del mismo nivel de grupo. El

valor acumula hasta que se encuentre otra sección de nivel de grupo. 1

Sobre todo El cuadro de texto muestra una suma continua de valores en el mismo nivel de grupo. El valor

se acumula hasta el final del informe. 2

La propiedad SumaContinua (RunningSum) se puede establecer usando la hoja de propiedades del cuadro de

texto, con una macro o usando Visual Basic. La propiedad SumaContinua (RunningSum) sólo se puede estable-

cer en la vista Diseño.

Comentarios: Coloque el cuadro de texto en la sección de detalles para calcular un total registro a registro. Por

ejemplo, para numerar los registros que aparecen en una sección de detalles de un informe, establezca la propie-

dad OrigenDelControl (ControlSource) para el cuadro de texto a "=1" y establezca la propiedad SumaContinua

(RunningSum) a Sobre grupo.

Coloque el cuadro de texto en un encabezado de grupo o pie de página del grupo para calcular un total grupo a

grupo. Es posible tener hasta 10 niveles de grupos anidados en un informe.

Calcular porcentajes en un informe 1 Abra el informe en la vista Diseño.

2 Agregue los cuadros de texto que calculan el total de registro, el total del grupo y el total general.

3 En la sección apropiada, agregue el cuadro de texto que calcula el porcentaje.

· Para calcular qué porcentaje supone cada elemento en un total de grupo o de total general, coloque el

control en la sección de detalle.

· Para calcular qué porcentaje supone cada grupo de elementos en el total general, coloque el cuadro de

texto en el encabezado del grupo o el pie de página del grupo.

Si su informe incluye niveles de grupo múltiples, coloque el cuadro de texto en el encabezado o pie de página del

nivel para el que desea que Access le calcule un porcentaje.

4 Para presentar la hoja de propiedades, asegúrese de que el cuadro de texto esté seleccionado, y luego

haga clic en el botón Propiedades de la barra de herramientas.

5 Haga una de las siguientes cosas:

· En el cuadro de la propiedad OrigenDelControl (ControlSource), escriba una expresión que divida el

total más pequeño por el total mayor del cual el total menor es una parte. Por ejemplo, divida el valor del control

TotalDiario por el valor del control TotalGeneral.

· Haga clic en el botón Generar para utilizar el Generador de expresiones para crear una expresión.

6 Establezca la propiedad Formato (Format) del cuadro de texto al valor Porcentaje.

Nota: El informe Resumen de ventas por año de la base de datos de ejemplo Neptuno tiene un ejemplo de por-

centajes.

Comenzar cada grupo de un informe en una nueva fila o columna 1 Cree un informe de múltiples columnas que tenga al menos un nivel de agrupamiento.

2 En la vista Diseño de informe, haga clic en Configurar página en el menú Archivo.

3 Haga clic en la ficha Columnas. En Opciones de la cuadrícula, asegúrese que Número de columnas está

establecido a un valor mayor que 1.

4 En Diseño de columna, realice una de estas acciones:

· Para comenzar cada grupo en una nueva columna, haga clic en la opción Hacia abajo y después a lo

ancho.

· Para comenzar cada grupo en una nueva fila, haga clic en la opción A lo ancho y después hacia abajo.

5 Haga clic en Aceptar.

6 Haga doble clic en el selector de sección para el encabezado o el pie de grupo para mostrar su hoja de

propiedades.

7 Establezca la propiedad NuevaFilaOColumna (NewRowOrCol) a uno de los siguientes valores.

Ninguno (Predeterminado): Los saltos de fila o columna están determinados por el valor del cuadro de diálogo

Configurar página y por el espacio disponible en la página.

Antes de la sección: Access comienza a imprimir la sección actual (la sección para la que establece la

propiedad, como el encabezado de grupo) en una nueva fila o columna. Comienza a imprimir la sección siguien-

te, por ejemplo, la sección de detalles, en la misma fila o columna.

Después de la sección: Access comienza a imprimir la sección actual, como el encabezado de grupo, en la

fila o la columna actual. Comienza a imprimir la sección siguiente, por ejemplo una sección de detalle, en la fila

o la columna siguiente.

Page 82: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

82 INFORMES - MENUS EN VISTA DISEÑO. Págs. 155

Antes y después: Access comienza a imprimir la sección actual, por ejemplo el encabezado de grupo, en una

nueva fila o columna. Comienza a imprimir la sección siguiente, como la sección de detalles, en la siguiente fila

o columna.

Nota: El informe Productos por categoría de la base de datos de ejemplo Neptuno comienza cada grupo en una

nueva columna. Ver Pág 98, Ejemplos de macros.

Restablecer números de página para cada grupo de un informe Crear una macro que restablezca números de página

1 Cree una macro que utilice la acción EstablecerValor para cambiar la propiedad Página a 1.

Decida si el número de página aparecerá en el encabezado o en el pie de página y, a continuación, utilice los

valores siguientes para los argumentos de la acción EstablecerValor.

Ubicación del número de página Argumentos de EstablecerValor

Encabezado de página Elemento: [Página]

Expresión: 0

Pie de página Elemento: [Página]

Expresión: 1

Guarde y cierre la macro. Ver Pág 98, Ejemplos de macros.

Page 83: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 83

Guía alfabética de Macros y Módulos. Para Tablas, Consultas, Formularios e Informes, ir al principio con CTRL+INICIO.

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn

Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

Macros Módulos Para volver a este índice: ALT+F12

A Abrir Base de datos con una serie de acciones automáticas (Macro Autoexec) Ver Pág 93 Abrir ventana Macro o Módulo desde formulario o informe Ver Pag 91 Acción de macro, agregar Ver Pag 91 Ver Argumentos de acción. Acción o una serie de acciones, asignar a una tecla Ver Pág 93 Acciones de macros agrupadas por tarea Ver Pág 92 Acciones de macros, secuencia Ver Pág 91 Actualización (modificación) de registros con QueryDef Ver Pág 144 Agregar inspección ALT+D, A Alternar interrupción y no interrupción en errores no tratados y pasar a siguiente instrucción ALT+F5 Alternar interrupción y no interrupción en módulo clase y seguir la ejecución ALT+F8 Alternar punto de interrupción (F9) ALT+D, L Añadir registros Ver Pag 139 Archivo, insertar ALT+I, A Argumento de acción de macro, introducir una expresión Ver Pág 93 Argumentos de acción en macro, establecer Ver Pág 92 Argumentos Ver Pág 110. Asistentes (Generadores de macros, código y expresiones) Ver Pág 98 Ayuda contextual en el punto de inserción F1

B Base de datos, listar tablas, consultas, campos Ver Pág 143 Bloquear datos Ver Pág 143 Borrar todos los puntos de interrupción (CTRL+MAY+F9) ALT+D, B Buscar la siguiente aparición de texto seleccionado CTRL+F3 Buscar o Reemplazar, repetir con cuadro de diálogo cerrado, hacia atrás MAY+F3 Buscar o Reemplazar, repetir con cuadro de diálogo cerrado F3 Buscar registro desde Cuadro combinado/lista con macro Ver Pág 99 Buscar registros en Dynasets y Snapshots (Find) Ver. Pág 139 Buscar registros en Tablas (Seek) Ver Pág 140 Buscar (CTRL+B) ALT+E, B. Buscar siguiente (F3) ALT+E, U

C Cambiar entre los paneles superior e inferior F6 Campo, establecer valor con macro Ver Pág 99 Campos grandes, manipular Ver Pág 141 Clone, clonar (Copia de Dynaset) Ver Pág 141 Código de procedimiento, presentar (MAY+F2) ALT+V, F Código o macro, continuar ejecución F5 Código o macro, restablecer ejecución MAY+F5 Código o macro, detener la ejecución CTRL+INTERRUMPIR Código visible, seleccionar todo en la ventana Módulo CTRL+A Código, ejecución paso a paso Ver Pág 118 Código, ejecución Ver Pág 109 Código, ejecutar hasta punto de inserción y detener la ejecución CTRL+F8 Código, restablecer, reiniciar ALT+C, R Código, solución de errores Ver Pág 117 Código, suspender ejecución Ver Pág 117 Còdigo, ver módulo general de Formulario o Informe Señalar o activar Formulario o Informe y ALT+V, G.

(Informe con ratón). Abrir primera lista (Objeto) para ver sus objetos y la segunda (procedimientos) para ver los eventos de cada objeto.

Códigos con Formularios e Informes Ver Pág 131 Compilar módulos cargados ALT+D, D Compilar todos los módulos ALT+D, O Compilar y guardar todos los módulos ALT+D, U Completar palabra (CTRL+BARRA) ALT+E, O Condiciones de macro Ver Pág 91

Page 84: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

84 INFORMES - MENUS EN VISTA DISEÑO. Págs. 155

Condiciones de macro, abrir columna ALT+V, C Constantes Definición: Ver Pág 109. Ejemplos: Ver Pág 128 Constantes, lista (CTRL+MAY+J) ALT+E, S Consultas de acción, crear, modificar (variables QueryDef) Ver Pág 144 Consultas de parámetros Ver Pág 147 Consultas de selección (dynaset) Ver Pág 136 Continuar la ejecución de código o de macro F5 Control de errores durante ejecución Ver Pág 130 Control, hacer visible o no Ver Pág 100 Control, ir para comenzar edición Ver Pág 99 Control, tipos Ver Pág 135 Controles ActiveX ALT+H, C Cortar la línea actual y copiarla al Portapapeles CTRL+Y Crear macro Ver Pág 89 Cuadro de diálogo emergente modal, abrir con botón para solicitar información del usuario Ver Pág 101 Cuadro de diálogo Llamadas CTRL+L Cuadro de Lista, crear lista con código Ver Pág 132 Cuadro Objeto, enfoque CTRL+F2 Cuadro Procedimiento, enfoque CTRL+F2, TAB

D DAO (Data Access Object) Ver Pág 110 Datos, bloquear Ver Pág 143 Datos, tratamiento, manipulación Ver Pág 136 Definición de macro Ver Macros, Pág 88. Definición, presentar código de procedimiento (MAY+F2) ALT+V, F Depuración, generalidades Ver Pág 125 Depuración, panel Inmediato Ver Pág 117 Depuración, panel Inspección Ver Pág 117 Depuración, panel Locales Ver Pág 117 Depuración, ventana (CTRL+S) ALT+V, V. Ver Utilización, Pág 116. Depuración, ventana CTRL+G Desaparecer la lista ESC Deshacer CTRL+Z Detener la ejecución de código o de macro CTRL+INTERRUMPIR Do...Loop, instrucción Ver Pág 113 DoCmd, instrucción, ejecutar acciones y macros por código Ver Pág 125 Dynaset, variable Recorset Ver Pág 136

E Ejecución de código o de macro, continuar F5 Ejecución de código o de macro, restablecer MAY+F5 Ejecución de código Ver Pág 109 Ejecución de código, suspender Ver Pág 117 Ejecución, iniciar o continuar (F5) ALT+C, C Ejecución, terminar ALT+C, T Ejecutar acciones y macros por código, DoCmd Ver Pág 125 Ejecutar código hasta cursor (CTRL+F8) ALT+D, E Ejecutar directamente una macro Ver Pág 90 Ejecutar macro desde otra macro o desde procedimiento Ver Ejecutar macro o procedimiento de evento para un evento en formulario, informe o control Ver Ejecutar macro que pertenece a grupo de macros Ver Ejecutar un subprocedimiento sin parámetros en punto de inserción, desde la ventana Módulo F5 Ejemplo función Buscar archivo Ver Ejemplo función con argumento Ver Ejemplo función Invertir orden letras Ver Ejemplo función Primer día del mes siguiente Ver Ejemplo función Siglo Ver Ejemplos de macros Ver Ejemplos de Macros, Pág 98. Ejemplos y generalidades de Visual Basic Ver Elemento seleccionado, introducir en una lista CTRL+INTRO o TAB Elemento seleccionado, introducir y mover el cursor a la línea siguiente INTRO Eliminar registros Ver Eliminar todos los puntos de interrupción CTRL+MAY+F9 Enfoque en el cuadro Objeto CTRL+F2 Enfoque en el cuadro Procedimiento CTRL+F2, TAB Enumerar las constantes CTRL+MAYÚS+J Enumerar las propiedades y los métodos CTRL+J Errores de código, solucionar Ver Errores durante ejecución, controlar Ver Establecer la instrucción siguiente (CTRL+F9) ALT+D, N

Page 85: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 85

Estructuras de decisión y control Ver Evento en formulario, informe o control, ejecutar macro o procedimiento de evento Ver Evento, determinar cuándo ocurre Ver Eventos de controles Ver Eventos de datos Ver Eventos de enfoque Ver Eventos de error y sincronización Ver Eventos de filtro Ver Eventos de formularios Ver Eventos de impresión Ver Eventos de informes y secciones de informes Ver Eventos de teclado Ver Eventos de ventana Ver Eventos del ratón Ver Eventos, definición Ver Ver Procedimiento de evento. Eventos, propiedades Ver Examinador de objetos (F2) ALT+V, E. Ver Definición. Expresión de inspección, agregar Ver Expresión o variable, ver valor con código suspendido Ver Expresión seleccionada, crear Inspección instantánea MAY+F9 Expresión, definición Ver Pág 41 Expresiones.

F Fila actual, eliminar en macro ALT+E, M o seleccionar y Supr para varias. Fila de macro, insertar ALT+I, F Filas, mover Seleccionarlas y Clic y arrastrar desde selecctor o Seleccionar y Cortar y Pegar. Filas, seleccionar varias seguidas Clic en selector (primera columna izquierda() en primera (o desde

actual) y MAY+Clic en última. (Para Suprimir o Mover). Filtrar registros con macro Ver Filtrar registros Ver For each...Next, instrucción Ver For...Next, instrucción Ver Formulario, abrir con botón desde otro formulario Ver Formulario, ir al registro que se quiera al abrirlo Ver Formulario, mantener los registros coordinados con el formulario principal Ver Formulario, ver si está abierto Ver Funciones e Instrucciones, por tarea de programación Ver Funciones, referencia Ver

G Generadores (asistentes de macros, código y expresiones) Ver Generalidades y Ejemplos de Visual Basic Ver Grupo de informe, comenzar por página 1 Ver

H I If TypoOf, instrucción Ver If..Then...Else, instrucción Ver Imprimir informe con botón Ver Imprimir registro actual con botón Ver Imprimir uno (país, etc.) o todos con Cuadro de lista y macro Ver Información de la Base de datos (tablas, consultas, campos) Ver Información de parámetros (CTRL+MAY+I) ALT+E, A Información rápida (CTRL+I) ALT+E, I Información, solicitar al usuario con cuadro de diálogo Ver Informe a imprimir, seleccionar mediante cuadro de diálogo Ver Informe, comenzar cada grupo por página 1 Ver Informe, ocultar sección Ver Informe, registros a imprimir por página Ver Informe, totalizar por página Ver Inmediato, panel de depuración Ver Insertar archivo ALT+I, A Insertar módulo de clase ALT+I, M Insertar módulo ALT+I, D Insertar procedimiento ALT+I, P Inspección rápida (MAY+F9) ALT+D, C Inspección, agregar ALT+D, A Ver Pág 119. Inspección, modificar ALT+D, M Instancia, definición Ver Instrucción siguiente, establecer (CTRL+F9) ALT+D, N

Page 86: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

86 INFORMES - MENUS EN VISTA DISEÑO. Págs. 155

Instrucción siguiente, mostrar CTRL+D, S Instrucción, definición Ver Instrucciones condicionales y de bucle Ver Instrucciones y Funciones, por tarea de programación Ver Instrucciones, paso a paso (F8) ALT+D, R Instrucciones, referencia Ver Interrumpir ejecución de código o macro CTRL+INTERRUMPIR Interrupción y no interrupción, alternar en errores no tratados y pasar a siguiente instrucción ALT+F5 Interrupción y no interrupción, alternar en módulo clase y seguir la ejecución ALT+F8 Introducir el elemento seleccionado en una lista CTRL+INTRO o TAB Ir con macro a control, registro, página Ver Ir paso a paso Ver Paso a paso

J K L Línea, última visualizada anteriormente CTRL+MAY+F2 Lista de Cuadro de Lista, crear con código Ver Listar Formularios, controles, Propiedad Count Ver Llamadas, Cuadro de diálogo CTRL+L Llamadas, pila (CTRL+H) ALT+V, P Ver Pág 119.

M Macro Autoexec, se ejecuta automáticamente al abrir la Base de datos Ver Macro dentro de un grupo, ejecutar Ver Macro o procedimiento de evento, ejecutar para un evento en formulario, informe o control Ver Macro, agregar acción Ver Macro, convertir en Visual Basic ALT+H, M, V. Macro, crear Ver Macro, ejecutar Activa, en hoja macros ALT+C. En Diseño: ALT+E, C Ejecutar otra: ALT+H, M, M.

Desde Evento: Ficha Eventos desde Propiedades del Control y asociar al evento. Siempre ejecuta sólo la primera Macro del grupo. Para una en particular: Nombte del grupo, punto, Nombre de la Macro. Ej: Ma-cro1.VerSección. Ver Ejecutar Macro.

Macro, ejecutar al abrir Base de datos Ver Macro Autoxec. Macro, ejecutar desde otra macro o desde procedimiento Ver Macro, ejecutar directamente Ver Macro, mover en misma hoja Ver Filas, mover. Macros de menús Crear Menú a partir de Macro: ALT+ H, M, C. Crear Barra a partir de Macro: ALT+ H,

M, B. Crear Menú Contextual a partir de Macro: ALT+ H, M, A. Los Menús con Macro se mantienen por compatibilidad con versiones anteriores. Para nuevos Menús: Ver Menús, personalizar ALT+V, B.

Macros Ver Pág 88. Macros, condiciones Ver Macros, definición, cuándo utilizar Ver Macros, Pág 88. Macros, ejemplos Ver Ejemplos de Macros, Pág 98, Macros, ventana, saltar entre paneles F6 Marcadores ALT+E, M Ver Ejemplos. Matrices Ver Me, palabra clave Ver Menús con macros Ver Macros de menús. Método, definición Ver Métodos y Propiedades, lista (CTRL+J) ALT+E, M Métodos, por tarea de programación Ver Métodos, referencia Ver Modificación (actualización) de registros con QueryDef Ver Modificar inspección ALT+D, M Modificar registros Ver Módulo de clase, insertar ALT+I, M Módulo, insertar ALT+I, D Módulo, ventana Ver Módulos de clases Ver Módulos estándar Ver Módulos Ver Pág 101. Módulos, compilar Ver Compilar Módulos, definición, cuándo utilizar Ver Mostrar Instrucción siguiente CTRL+D, S

N Nombres de macro, abrir ALT+V, M

O

Page 87: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 87

Objeto, colección, definición Ver Objetos activos (Prop. Screen) Ver Objetos como argumentos Ver Objetos como variables Ver Objetos predefinidos Forms, Reports Ver. Screen, Parent, Form, Report, Dynaset, Bookmark: Ver

Objetos, examinador (F2) ALT+V, E Objetos, métodos Ver Ocultar o hacer visible un control Ver Ocultar sección de informe Ver Ordenar, clasificar registros Ver

P Palabra clave de Visual Basic, completar CTRL+BARRA Palabra clave Me Ver Palabra clave, procedimiento, variable, definición MAY+F2 Palabra completa (CTRL+BARRA) ALT+E, O Paneles de depuración Ver Depuración, panel Paneles, cambiar entre superior e inferior F6 Parámetros, consulta Ver Parámetros, Información (CTRL+MAY+I) ALT+E, A Parámetros, solicitar con macro Ver Paso a paso para salir (CTRL+MAY+F8) ALT+D, S Paso a paso por instrucciones (F8) ALT+D, R Paso a paso por procedimientos (MAY+F8) ALT+D, P Paso a paso, ejecución de código Ver Paso a paso, ejecutar macro ALT+C, P Pila de llamadas (CTRL+H) ALT+V, P Posición última, volver (CTRL+MAY+F2) ALT+V, M

Procedimiento anterior CTRL + Procedimiento de evento o macro, ejecutar para un evento en formulario, informe o control Ver Procedimiento de evento, crear Ver Procedimiento personalizado, crear Ver

Procedimiento siguiente CTRL + Procedimiento, insertar ALT+I, P Procedimiento, ir Paso a paso (un solo paso) F8 Procedimiento, presentar código (MAY+F2) ALT+V, F Procedimiento, salir CTRL+MAY+F8 Procedimiento, saltar MAY+F8 Procedimiento, variable o palabra clave, definición MAY+F2 Procedimientos Function Ver Procedimientos Sub Ver Generalidades: Ver Procedimientos, definición, clases Ver Procedimientos, paso a paso (MAY+F8) ALT+D, P Propiedad Count (Formularios e Informes) Ver Propiedad, definición Ver Propiedades de eventos Ver Propiedades y Métodos, lista (CTRL+J) ALT+E, M Punto de inserción, Ayuda contextual F1 Punto de inserción, ejecutar código hasta él y detener la ejecución CTRL+F8 Punto de interrupción para suspender ejecución Ver Punto de interrupción, alternar (F9) ALT+D, L Puntos de interrupción, eliminar todos (CTRL+MAY+F9) ALT+D, B

Q QueryDef, variables (crear, modificar consultas de acción) Ver

R Recorset, variables (Tabla, Dynaset, Snapshot) Ver Reemplazar texto (CTRL+L) ALT+E, Z Referencias, lista ALT+H, R Registro actual, imprimir con botón Ver Registros a imprimir, seleccionar mediante cuadro de diálogo Ver Registros a imprimir, seleccionar mediante parámetros Ver Registros, añadir Ver Registros, buscar en Dynasets y Snapshots (Find) Ver Registros, buscar en Tablas (Seek) Ver Registros, eliminar Ver Registros, filtrar Ver Registros, modificar Ver Registros, ordenar Ver Repetir Buscar o Reemplazar con cuadro de diálogo cerrado F3

Page 88: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

88 INFORMES - MENUS EN VISTA DISEÑO. Págs. 155

Repetir Buscar o Reemplazar con cuadro de diálogo cerrado, hacia atrás MAY+F3 Requerir entrada en formulario Ver Restablecer la ejecución de código o de macro MAY+F5 Restablecer, reiniciar código ALT+C, R

S Salir de un procedimiento CTRL+MAY+F8 Saltar un procedimiento MAY+F8 Sangría, aplicar (TAB). Anular (RETROCESO). ALT+E, A Secciones de ventana, cambiar entre superior e inferior F6 Secuencia de acciones en macros Ver Selección, buscar la siguiente aparición CTRL+F3 Selección, consultas (dynaset) Ver Seleccionar informe a imprimir mediante cuadro de diálogo Ver Seleccionar registros a imprimir mediante cuadro de diálogo Ver Seleccionar registros a imprimir mediante parámetros Ver Seleccionar todo el código visible en la ventana Módulo CTRL+A Select case, instrucción Ver Snapshot, variable Recorset Ver Solicitar información al usuario con cuadro de diálogo Ver Solución de errores de código Ver Suspender ejecución de código Ver

T Tabla, variable Recorset Ver Tecla, asignar acción o una serie de acciones Ver Terminar ejecución ALT+C, T Tipo de control Ver Transacciones Ver Tratamiento de datos, manipulación Ver

U Ultima posición, volver (CTRL+MAY+F2) ALT+V, M

V Validar con macro Ver Variable o expresión, ver valor con código suspendido Ver Variable, definición Ver Variable, procedimiento o palabra clave, definición MAY+F2 Variables de controles Ver Variables de Formularios e Informes Ver Variables de objetos Ver Variables QueryDef (crear, modificar consultas de acción) Ver Variables Recorset (Tabla, Dynaset, Snapshot) Ver Variables, presentación en panel Locales Ver Variables, resumen, declaración, tipos de datos, ByVal Ver Ventana Depuración (CTRL+S) ALT+V, V Ventana Macro o Módulo, abrir desde formulario o informe Ver Ventana macros, saltar entre paneles F6 Ventana módulo Ver Visualizar o no un control Ver Volver última posición (CTRL+MAY+F2) ALT+V, M

W With, instrucción Ver

X Y

Z

MACROS Una macro es un conjunto de una o más acciones que cada una realiza una operación determinada, tal como abrir

un formulario o imprimir un informe. Las macros pueden ayudar a automatizar las tareas comunes. Por ejemplo,

puede ejecutar una macro que imprima un informe cuando el usuario haga clic en un botón de comando.

Una macro puede ser una macro compuesta de una secuencia de acciones, o puede ser un grupo de macros.

También se puede usar una expresión condicional para determinar si se llevará a cabo una acción en algunos

casos cuando se ejecute la macro.

Page 89: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 89

Una secuencia de acciones.

Una macro puede estar compuesta de una serie de acciones. Access lleva a cabo estas acciones cada vez que se

ejecuta la macro.

Un grupo de macros:

Si tiene numerosas macros, agrupar las macros relacionadas en grupos de macros puede ayudar a administrar la

base de datos más fácilmente. Para mostrar los nombres de las macros de un grupo de macros, haga clic en

Nombres de macros en el menú Ver en la ventana Macro.

El nombre en la columna Nombre de macro identifica a cada macro. Cuando se ejecuta una macro en un grupo

de macros, Access lleva a cabo la acción de la columna acción y cualquier otra acción que siga inmediatamente,

cuya columna Nombre de macro esté en blanco.

Para ejecutar una macro en un grupo de macros, utilice el nombre del grupo de macros seguido de un punto y a

continuación el nombre de macro. En el ejemplo anterior, para hacer referencia a la macro Empleados en el gru-

po de macros Botones, escribiría Botones.Empleados.

Acciones condicionales.

Para mostrar la columna Condición, haga clic en Condiciones en el menú Ver en la ventana Macro.

F6 para saltar entre paneles de ventana Macro.

Para crear Macro que abra un objeto, arrastrarlo desde la ventana Database a la de Macro, las dos en Mosaico.

Macro Group: Invoice. Una Macro de Invoice: Tax. Para llamar sólo a Tax: Invoice.Tax

Ver columnas de Nombres y Condiciones en Menú Ver, o con sus botones.

Cuándo utilizar una macro Las macros son un método sencillo para llevar a cabo tareas sencillas como abrir y cerrar formularios, mostrar u

ocultar barras de herramientas y ejecutar informes. Permiten vincular fácil y rápidamente los objetos de la base

de datos creados, ya que no es necesario recordar mucha sintaxis; los argumentos de cada acción se muestran en

la parte inferior de la ventana Macro.

Además de la facilidad de uso, deberá utilizar macros para:

· Realizar asignaciones globales de teclas.

· Ejecutar una acción o una serie de acciones cuando se abre por primera vez una base de datos. Además,

puede usar el cuadro de diálogo Inicio para que se realicen determinadas operaciones cuando se abra una base de

datos, como, por ejemplo, que se abra un formulario.

MACROS - MENUS. MENU EDICION

Eliminar filas: Elimina la fila o filas seleccionadas. Para seleccionar una fila, haga clic en el selector de fila .

MENU VER

Nombres de macro: Alterna entre presentar y ocultar la columna Nombres de macro en la ventana Macro. Pre-

sente la columna Nombre de macro cuando defina un grupo de macros.

Condiciones: Alterna entre presentar y ocultar la columna Condiciones en la ventana Macro. Presente la colum-

na Condiciones cuando quiera establecer condiciones para una acción.

MENU INSERTAR

Filas: Crea una fila en blanco antes de la fila seleccionada. Para seleccionar una fila, haga clic en el selector de

fila.

MENU EJECUTAR

Ejecutar: Ejecuta la macro activa en la ventana Macro. Si la macro es un grupo de macros, Microsoft Access

ejecuta la primera macro del grupo. Si la primera línea está en blanco o contiene un comentario, la macro no se

ejecutará. También se accede a este comando por botón en Ficha Macro de la ventana Base de Datos, ejecutan-

do la macro seleccionada..

Paso a paso: Activa y desactiva el modo paso a paso. Cuando está activado el modo paso a paso, las acciones se

ejecutan una a una.

Crear una macro 1 En la ventana Base de datos, haga clic en la ficha Macros.

2 Haga clic en Nuevo.

3 En la columna Acción, haga clic en la flecha para presentar la lista de acciones.

4 Haga clic en la acción que desee utilizar.

5 Introduzca un comentario para la acción. Los comentarios son opcionales pero harán la macro más fácil

de entender y mantener.

6 En la parte inferior de la ventana, especifique los argumentos de la acción, si es que se requiere alguno.

7 Para agregar más acciones a la macro, muévase a otra fila de acción y repita los pasos 3 a 6. Access

lleva a cabo las acciones en el orden en el que se enumeren.

Sugerencia: Para crear rápidamente una macro que lleva a cabo una acción sobre un objeto de base de datos

específico, arrastre el objeto desde la ventana Base de datos hasta una fila de acción en la ventana Macros. Por

ejemplo, puede crear una macro que abra un formulario arrastrando el formulario a una fila de acción. Para hacer

esto, haga clic en Mosaico vertical en el menú Ventana para posicionar la ventana Macros y la ventana Base de

datos de forma que ambas sean visibles en su pantalla; a continuación haga clic en la ficha de la ventana Base de

Page 90: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

90 MACROS - MENUS. Págs. 155

datos correspondiente al tipo de objeto que desee arrastrar, y después haga clic en el objeto y arrástrelo hasta una

fila de acción. Arrastrar una macro agrega una acción que ejecuta la macro, mientras que arrastrar cualquier otro

objeto (tablas, consultas, formularios, informes o módulos) agrega una acción que abre el objeto.

Ejecutar una macro Cuando ejecuta una macro, Access comienza desde el principio de la macro y lleva a cabo todas las acciones en

la macro hasta que alcanza o bien otra macro (si la macro se encuentra en un grupo de macros) o el fin de la

macro.

Una macro puede ser ejecutada directamente, desde otra macro o un procedimiento de evento, o como respuesta

a un evento que se produce en un formulario, informe o control. Por ejemplo, puede agregar una macro a un

botón de comando de forma que la macro se ejecute cuando el usuario presiona el botón. También puede crear

un comando de menú personalizado o un botón de la barra de herramientas que ejecute una macro, asignar una

macro a una combinación de teclas, o ejecutar automáticamente una macro al abrir una base de datos.

Ejecutar directamente una macro

· Para ejecutar directamente una macro desde la ventana Macro, haga clic en Ejecutar en la barra de

herramientas.

· Para ejecutar una macro desde la ventana Base de datos, haga clic en la ficha Macros y después haga

doble clic en el nombre de la macro.

· Para ejecutar una macro desde la vista Diseño del formulario o desde la vista Diseño del informe, en el

menú Herramientas sitúe el puntero sobre Macro y haga clic en Ejecutar macro.

· Para ejecutar una macro desde cualquier parte de Access, en el menú Herramientas, haga clic en Ejecu-

tar macro. A continuación haga clic sobre una macro en el cuadro desplegable Nombre de la macro.

Nota: Por lo general, sólo se ejecuta una macro directamente cuando desea probarla. Puede entonces agregar la

macro a un formulario, informe o control, de forma que se ejecute como respuesta a un evento, o puede crear un

comando de menú personalizado que ejecute la macro.

Ejecutar una macro o un procedimiento de evento para un evento en un formulario, un informe o un control

Microsoft Access responde a muchos tipos de eventos en formularios, informes y controles, incluyendo clics del

mouse, cambios en los datos, así como aperturas o cierres de formularios o informes.

1 Abra el formulario o informe en la vista Diseño.

2 Cree una macro o un procedimiento de evento. (Un procedimiento de evento es un procedimiento que se

ejecuta automáticamente como respuesta a un evento iniciado por el usuario o por el código de programa o bien

activado por el sistema.). Así, por ejemplo, puede crear una macro o un procedimiento de evento que muestre un

mensaje cuando se haga clic en un botón de comando.

3 Establezca la propiedad de evento del formulario, informe o control apropiada al nombre de la macro o

a [Procedimiento de evento] si está utilizando un procedimiento de evento.

Por ejemplo, para utilizar una macro que muestre un mensaje cuando se hace clic en un botón de comando, esta-

blezca la propiedad AlHacerClic (OnClick) del botón de comando al nombre de la macro que muestra el mensa-

je. Para utilizar un procedimiento de evento, cree un procedimiento de evento Click para el botón de comando, y

establezca AlHacerClic (OnClick) a [Procedimiento de evento]

Ver Pág 94, Eventos.

Ejecutar una macro que pertenece a un grupo de macros.

· Especifique la macro como valor propiedad de evento en un formulario o informe o como argumento de

Nombre de macro de la acción EjecutarMacro. Refiérase a la macro utilizando esta sintaxis.

nombregrupomacros.nombremacro

Por ejemplo, el valor de propiedades de evento siguiente ejecuta una macro llamada Categorías en un grupo de

macros llamado Botones del Panel de control del formulario:

Botones del Panel de control del formulario.Categorías

· En el menú Herramientas, sitúe el puntero sobre Macro, haga clic en Ejecutar macro y seleccione la

macro de la lista Nombre de macro. Cuando los nombres de las macros aparecen en la lista, Access incluye una

entrada por cada macro en cada grupo de macros.

· Ejecute una macro que esté en un grupo de macros desde un procedimiento de Visual Basic para aplica-

ciones utilizando el método RunMacro del objeto DoCmd, con la sintaxis mostrada previamente para referirse a

la macro.

Ejecutar una macro desde otra macro o desde un procedimiento Visual Basic

Para ejecutar una macro desde otra macro o desde un procedimiento de Visual Basic, agregue la acción Ejecu-

tarMacro a su macro o procedimiento.

· Para agregar la acción EjecutarMacro a una macro, haga clic en EjecutarMacro en la lista de acciones en

una fila de acción que esté libre, y coloque en el argumento de Nombre de la macro el nombre de la macro que

desea ejecutar.

· Para agregar la acción EjecutarMacro a un procedimiento Visual Basic, agregue el método RunMacro

del objeto DoCmd a su procedimiento, y especifique el nombre de la macro que desea ejecutar; por ejemplo, el

siguiente método RunMacro ejecuta la macro Mi Macro:

DoCmd.RunMacro "Mi Macro"

Page 91: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 91

Abrir la ventana Macro o Módulo desde un formulario o informe 1 En la vista Diseño del formulario o en la vista Diseño del informe, lleve a cabo una de estas acciones:

· Haga doble clic en el selector de formulario o selector de informe para abrir la hoja de propiedades del

formulario o informe.

· Haga doble clic en el selector de sección para abrir la hoja de propiedades de la sección.

· Asegúrese de que un control está seleccionado, y haga clic en Propiedades en la barra de herramientas.

2 Haga clic en el botón Generar al lado de la propiedad de evento adecuada. Por ejemplo, si desea crear

una macro o procedimiento de evento que se ejecute al hacer clic en un botón de comando, haga clic en el botón

Generar al lado de la propiedad AlHacerClic (OnClick) del botón de comando.

3 Elija el Generador de macros para abrir la ventana Macro o haga clic en el Generador de código para

abrir la ventana Módulo.

Nota: Si desea ver todo el código detrás de un formulario o informe, elija Código del menú Ver.

Condiciones en una macro. En algunos casos, puede desear llevar a cabo una acción o serie de acciones en una macro solamente si se cum-

ple una condición en particular. Por ejemplo, si está utilizando una macro para validar los datos de un formula-

rio, puede desear presentar un mensaje en respuesta a un conjunto de valores introducidos en un registro y otro

mensaje en respuesta a otro conjunto diferente de valores. En casos como éstos, puede utilizar las condiciones

para controlar el flujo de la macro.

Una condición es una expresión lógica. La macro sigue las distintas rutas dependiendo de si la condición es

verdadera o falsa.

Introduzca condiciones en la columna Condición de la ventana Macros. Si se cumple una condición, Access

lleva a cabo la acción en esa fila. Puede hacer que Access lleve a cabo una serie de acciones si la condición es

verdadera introduciendo puntos suspensivos (...) en la columna Condición de las acciones que siguen inmedia-

tamente a la condición. Las acciones que sigan a condiciones en blanco se realizarán independientemente de la

expresión condicional.

Por ejemplo, la siguiente macro lleva a cabo la acciones MsgBox y DetenerMacro cuando no haya valor en el

campo País (cuando el valor es Nulo). Si no fuera porque la segunda acción detiene la Macro, también realizaría

la tercera y cuarta. Si hubiera valor (falso) sólo efectuaría las tercera y cuarta.

Condición Acción

IsNull([País]) MsgBox

... StopMacro

OpenForm

MoveSize.

Ver Ej. Validar.

Ejemplos de condiciones de macro

Utilice esta expresión Para llevar a cabo la acción si

[Ciudad]=‖Paris‖ Paris es el valor de Ciudad en el campo en el formulario desde el cual se ejecutó la macro.

DCont(―[IdPedido]‖, ―Pedidos‖)>35 Hay más de 35 entradas en el campo IdPedido de la tabla Pedidos.

DCont(―*‖, ―Detalles de pedidos‖, ―[IdPedido]=Forms![Pedidos]![IdPedido]")>3 Hay más de tres entra-

das en la tabla Detalles de pedidos para los cuales el campo IdPedido de la tabla coincide con el campo IdPedido

del formulario Pedidos.

[FechaEnvío] Entre #2-Feb-1995# y #2-Mar-1995# El valor del campo FechaEnvío del formulario desde el cual

se ejecuta la macro no es anterior al 2-Feb-1995 y no es posterior al 2-Mar-1995.

Forms![Productos]![UnidadesEnStock]<5 El valor del campo UnidadesEnStock del formulario Productos es

menor que cinco.

EsNulo([Nombre]) El valor Nombre del formulario desde el que se ejecuta la macro es Nulo(no tiene

valor). Esta expresión es equivalente a [Nombre] Es Nulo.

[País]=‖UK‖ Y Forms![Ventas Totales]![TotalPedidos]>100 El valor en el campo País del formulario desde el

que se ejecuta la macro es UK, y el valor del campo TotalPedidos del formulario Ventas Totales es mayor que

100.

[País] En (―Francia‖, ―Italia‖, ―España‖) y Len([CódigoPostal])<>5 El valor en el campo País del formulario

desde el cual se ejecuta la macro es Francia, Italia, o España, y el código postal no es de 5 caracteres de longitud.

CuadroMsj(―¿Confirmar cambios?‖,1)=1 Haga clic en Aceptar en el cuadro de diálogo que presenta la función

CuadroMsj. Si hace clic en Cancelar en el cuadro de diálogo, Access ignora la acción.

Sugerencia: Para hacer que Access ignore temporalmente una acción, introduzca Falso como condición. Ignorar

temporalmente una acción puede ser de utilidad cuando esté tratando de encontrar problemas en una macro. Ver Pág 98, Ejemplos de macros.

Agregar una acción a una macro 1 En la ventana Macros, haga clic en la primera fila en blanco de la columna Acción. Si desea insertar una

acción entre dos filas de acciones, haga clic en el selector de la fila de acción que está justo debajo de la fila

donde desea insertar la nueva acción, y haga clic en Insertar filas en la barra de herramientas.

Page 92: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

92 MACROS - MENUS. Págs. 155

2 En la columna Acción, haga clic en la flecha para presentar la lista de acciones.

3 Haga clic en la acción que desee utilizar.

4 Escriba un comentario para la acción. Los comentarios son opcionales.

5 En la parte inferior de la ventana, especifique los argumentos de la acción, si se requiere alguno.

Sugerencia: En el caso de muchos argumentos de acción cuyos valores establecidos son el nombre del objeto de

la base de datos, puede establecer el argumento arrastrando el objeto desde la ventana Base de datos al cuadro

del argumento NombreObjeto de la acción. Por ejemplo, puede establecer el argumento Nombre Objeto de la

acción SeleccionarObjeto al nombre de un formulario arrastrando el formulario al cuadro del argumento. Para

hacer esto, haga clic en Mosaico vertical del menú Ventana para posicionar la ventana Macros y la ventana Base

de datos de forma que ambas sean visibles en su pantalla; entonces, haga clic en la ficha de la ventana Base de

datos en el tipo de objeto que desee arrastrar, haga clic en el objeto y arrástrelo al cuadro del argumento. Al

arrastrar el objeto también se establece el argumento Tipo de objeto.

Acciones agrupadas por tarea Categoría Tarea Acción

Datos de formularios e informes

Restringe datos AplicarFiltro

Se mueve por los datos BuscarRegistro, BuscarSiguiente, IrAControl, IrAPágina, IrARegistro,

Ejecución Ejecuta un comando EjecutarComando

Sale de Access Salir

Ejecuta una macro, procedimiento o consulta AbrirConsulta, EjecutarCódigo, EjecutarMacro,

EjecutarSQL

Ejecuta otra aplicación EjecutarAplicación

Detiene la ejecución CancelarEvento, DetenerTodasMacros, DetenerMacro, Salir

Importar/exportar

Envía objetos Access a otras aplicaciones EnviarObjeto, SalidaHacia

Transfiere datos entre formatos de datos de Access y otros TransferirBaseDatos,

TransferirHojaCálculo, TransferirTexto

Manipulación de objetos

Copia, guarda o cambia el nombre de un objeto CambiarNombre, CopiarObjeto, Guardar

Elimina un objeto EliminarObjeto

Mueve o cambia el tamaño de una ventana DesplazarTamaño, Maximizar, Minimizar, Restaurar

Abre o cierra un objeto AbrirConsulta, AbrirFormulario, AbrirInforme, AbrirMódulo,

AbrirTabla, Cerrar

Imprime un objeto AbrirConsulta, AbrirFormulario, AbrirInforme, Imprimir

Selecciona un objeto SeleccionarObjeto

Establece el valor de un campo, control o propiedad EstablecerValor

Actualiza datos o la pantalla MostrarTodosRegistros, NuevaConsulta, RepintarObjeto

Diversos Crea una barra de menús personalizada, un menú contextual personalizado, una barra de menús glo-

bal, o menú contextual global AgregarMenú

Establece el estado de los elementos de menú en una barra de menús personalizada o en una barra de

menús global EstablecerElementoDelMenú

Muestra información por la pantalla CuadroMsj, Eco, EstablecerAdvertencias, RelojDeAre-

na

Genera pulsaciones de teclas EnviarTeclas

Muestra u oculta la barra de comandos incorporada o personalizada MostrarBarraDeHerramientas

Produce un aviso sonoro Bip

Establecer argumentos de acción en una macro Después de agregar una acción a una macro, establezca los argumentos de la acción en la parte inferior de la

ventana Macro. Estos argumentos dan a Access información adicional sobre cómo llevar a cabo la acción.

Estas son algunas sugerencias para el establecimiento de los argumentos de la acción:

· Puede introducir un valor en un cuadro de argumento o, en muchos casos, puede seleccionar un valor

establecido de una lista.

· En general, es una buena idea establecer los argumentos de la acción en el orden en el que están lista-

dos, porque las opciones de un argumento pueden determinar las opciones de los argumentos que le siguen.

· Si agrega una acción a su macro arrastrando un objeto de base de datos desde la ventana Base de datos,

Access establece de forma automática los argumentos apropiados para esa acción.

· Si una acción tiene un argumento que requiere el nombre de un objeto de la base de datos, puede esta-

blecer de forma automática el argumento y el tipo de objeto correspondiente arrastrando el objeto desde la ven-

tana Base de datos al cuadro del argumento.

Page 93: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 93

· Puede utilizar una expresión precedida de un signo de igual (=) para establecer los argumentos de cual-

quier acción. Puede utilizar una expresión para los siguientes argumentos.

Argumento Acción

Tipo de objeto Cerrar, EliminarObjeto, IrARegistro, SalidaHacia, CambiarNombre, RepintarObjeto,

Guardar; SeleccionarObjeto, EnviarObjeto, TransferirBaseDatos

Tipo del objeto de origen CopiarObjeto

Tipo de base de datos TransferirBaseDatos

Tipo de hoja de cálculo TransferirHojaCálculo

Nombre de especificación TransferirTexto

Nombre de la barra de herramientas MostrarBarraDeHerramientas

Formato de salida SalidaHacia, EnviarObjeto

Todos los argumentos EjecutarComando

Introducir una expresión en el argumento de una acción de macro · Escriba un signo de igual (=) seguido de la expresión. Por ejemplo, la siguiente expresión establece el

argumento de la acción al valor del control ListaDeSelecciónDeCompañías:

=[ListaDeSelecciónDeCompañías]

Existen dos excepciones: el argumento Expresión de la acción EstablecerValor, y el argumento Repetir Expre-

sión de la acción EjecutarMacro. Si precede una expresión en estos argumentos con el signo de igual, Access

evalúa la expresión dos veces, lo que puede producir resultados inesperados.

Sugerencia: También puede hacer clic en el botón Generar junto al cuadro de argumento para usar el Generador

de expresiones, el cual le guía por el proceso de creación de una expresión..

Asignar una acción o una serie de acciones a una tecla Puede asignar una acción o un conjunto de acciones a una tecla o una combinación de teclas específica creando

un grupo de macros denominado AsignarTeclas. Cuando presione la tecla o la combinación de teclas, Access

ejecutará la acción.

1 En la ventana de la base de datos, haga clic en la ficha Macros.

2 Haga clic en Nuevo.

3 Haga clic en Nombres de macro en la barra de herramientas.

4 En la columna Nombre de macro, escriba la tecla o la combinación de teclas a la que desea asignar la

acción o el conjunto de acciones.

5 Agregue la acción o el conjunto de acciones que desea que lleve a cabo la tecla o la combinación de

teclas. Por ejemplo, podría agregar una acción EjecutarMacro que ejecute la macro ImprimirRegistroActual al

presionar CTRL+R.

6 Repita los pasos 4 y 5 para cualquier otra asignación de teclas que desee realizar.

7 Guarde el grupo de macros con el nombre AsignarTeclas.

Las nuevas asignaciones de teclas tendrán efecto en cuanto guarde el grupo de macros y cada vez que abra la

base de datos.

Nota: Si asigna un conjunto de acciones a una combinación de teclas que utiliza Access (por ejemplo,

CTRL+C es la combinación de teclas para Copiar), las acciones que asigne a esa combinación de teclas susti-

tuirán a la asignación de Access.

Llevar a cabo una acción la primera vez que se abre la base de datos Puede utilizar una macro especial llamada AutoExec para ejecutar una acción o una serie de acciones cuando se

abre la base de datos por primera vez. Cuando se abre la base de datos, Access busca una macro con este nom-

bre y, si la encuentra, la ejecuta automáticamente.

1 Cree una macro que contenga las acciones que desea ejecutar cuando abra la base de datos.

2 Guarde la macro con el nombre AutoExec.

La próxima vez que abra la base de datos, Access ejecutará automáticamente esta macro.

Nota: Si no desea ejecutar la macro AutoExec cuando abre la base de datos, mantenga presionada la tecla

MAY cuando se abra la base de datos.

· También puede controlar cómo se inicia una base de datos o una aplicación estableciendo opciones en el

cuadro de diálogo Inicio (menú Herramientas).

Ejemplo:

Nombre de macro: Autoexec. (Se ejecuta automáticamente al abrir la Base de datos.

Action Comments

Echo Freeze screen (Echo off)

Hourglass Display an hourglass while macro is running

OpenForm Abre Formulario Principal (Botones: View Forms, Print Repts, View Daily Order Totals, Da-

tabase Window, Exit.)

A cada Botón de formulario principal en OnPush:

Macro grupo Principal:

Name Action

Page 94: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

94 Eventos Págs. 155

View Form OpenForm (Formularios)

Print Reports OpenForm (Informes)

Orders Totals OpenForm (Formulario diálogo para ver totales pedidos diarios).

Database Window SelectObject (Ventana de Base de datos)

Exit Quit (Salir de Access)

Ej.: Botón Print Repts.: prop. Auto Repeat: no, OnPush: Principal.Print Reports.

Eventos Un evento es una acción determinada que se produce en, o con, un objeto particular. Access puede responder a

una variedad de eventos: clics del ratón, cambios en los datos, formularios que se abren o se cierran, y muchos

otros. Los eventos son normalmente el resultado de una acción del usuario.

Usando un procedimiento de evento o una macro, se pueden agregar respuestas personalizadas a un evento que

se produzca en un formulario, informe, o control.

Suponga que desea que un formulario Detalles de producto se abra cuando haga clic en un botón de comando

Detalles de producto en un formulario Pedidos. Los siguientes ejemplos muestran cómo hacer ésto usando un

procedimiento de evento o usando una macro.

Responder al evento Al hacer clic usando un procedimiento de evento

Ver Pág 90. Ver Pág 105.

Cuando se crea un procedimiento de evento para un objeto, Access agrega una plantilla de procedimiento de

evento nombrada para el evento y el objeto al módulo de formulario o módulo de informe. Todo lo que necesita

hacer es agregar código que responda de la forma que desee cuando se produzca el evento en el formulario o

informe.

Responder al evento Al hacer clic usando una macro

Ver Pág 90

Para hacer que se ejecute una macro en respuesta a un evento, abra la hoja de propiedades para el formulario,

informe, o control. Busque la propiedad que corresponda al evento, y establézcala a la macro que desee ejecutar.

Determinar cuándo ocurre un evento Una sola acción, como puede ser pasar de un control a otro puede desencadenar varios eventos diferentes que

suceden en una determinada secuencia. El saber cuándo ocurren los eventos y en qué orden lo hacen es impor-

tante, porque esto afecta a cómo y cuándo se ejecutan sus macros o procedimientos de evento. Por ejemplo, si

tiene dos procedimientos de evento que deben ejecutarse en un orden determinado, querrá estar seguro de que los

eventos con los que están asociados suceden en ese orden.

Nota: Puede ver el orden en que ocurren los eventos en un formulario, abriendo el formulario MostrarEventos

en la aplicación de ejemplo Pedidos. Cuando ocurre un evento en el formulario MostrarEventos, por ejemplo,

cuando abre el formulario o mueve un registro, el formulario HistorialDeEventos relaciona los eventos en el

orden en el cual se producen.

Eventos de formularios: OnOpen (opening a Form)

OnCurrent (making a record the current (al cambiar))

OnInsert (inserting a new record)

BeforeUpdate and AfterUpdate (changing data in a Record)

OnDelete (deleting a record)

OnClose (closing a Form)

Eventos de controles: OnEnter (selecting a Control)

OnPush (pressing a Command Button)

BeforeUpdate and AfterUpdate (changing data in a Control)

OnDoubleClick (double-clicking a Control)

OnExit (leaving a Control)

Eventos de Informes: OnOpen (antes de empezar a imprimir, seleccionar registros con macro)

OnClose (cuando se cierra, por ejemplo preguntar por el usuario)

Eventos de Secciones de Informes: OnFormat (prior to layout for Print. Ej.: display or hide a control based on another control. Has access

to current record.

OnPrint (before the section is printed. Ej.: update page totals for the page on the page footer).

EVENTOS DE DATOS Los eventos de datos ocurren cuando se introducen, eliminan o cambian datos en un formulario o control, o

cuando el enfoque se mueve desde un registro a otro.

Evento Propiedad del evento Ocurrencia

Page 95: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 95

AfterDelConfirm

DespuésDeConfirmarEliminación (AfterDelConfirm) (formularios) Después de confirmar la eliminación de

los registros y los registros sean realmente eliminados o después de que la eliminación sea cancelada.

AfterInsert DespuésDeInsertar (AfterInsert) (formularios) Después de que se haya agregado un nue-

vo registro a la base de datos.

AfterUpdate

DespuésDeActualizar (AfterUpdate) (formularios, controles) Después de que un control o registro sea actualiza-

do con el dato cambiado. Este evento ocurre cuando el control o el registro pierde el enfoque, o se hace clic en

Guardar registro en el menú Registros. Este evento ocurre para los registros nuevos y los existentes.

BeforeDelConfirm

AntesDeConfirmarEliminación (BeforeDelConfirm) (formularios) Después de que uno o más registros hayan

sido eliminados, pero antes de que Access muestre un cuadro de diálogo pidiéndole que confirme o cancele la

eliminación. Este evento ocurre después del evento Delete.

BeforeInsert

AntesDeInsertar (BeforeInsert) (formularios) Cuando se escribe el primer carácter de un nuevo registro,

pero antes de que se haya agregado el registro a la base de datos.

BeforeUpdate AntesDeActualizar (BeforeUpdate) (formularios, controles) Antes de que un control o registro sea actualizado

con el dato modificado. Este evento ocurre cuando el control o registro pierde el enfoque o se haga clic en Guar-

dar registro en el menú Registros. Este evento ocurre para los registros nuevos y los existentes.

Change AlCambiar (OnChange) (controles) Cuando cambia el contenido de un cuadro de texto o la parte de

cuadro de texto de un cuadro combinado; por ejemplo, cuando se escribe un carácter en el control o se cambia la

propiedad Texto del control usando una macro o Visual Basic.

Current

AlActivarRegistro (OnCurrent) (formularios) Cuando el enfoque se mueve a un registro, haciéndolo el

registro activo o cuando se hace una NuevaConsulta al origen de datos de un formulario. Este evento ocurre

cuando se abre por primera vez un formulario, y en el momento en el que el enfoque abandona a un registro y se

mueve a otro. También ocurre cuando se realiza de nuevo una consulta al origen de datos de un formulario; por

ejemplo, cuando se hace clic en Quitar filtro u ordenar en el menú Registros o se utiliza la acción MostrarTo-

dosRegistros o la acción NuevaConsulta.

Delete AlEliminar (OnDelete) (formularios) Cuando se elimina un registro, pero antes de confirmar la elimina-

ción y de que sea realizada realmente.

NotInList AlNoEnLaLista (OnNotInList) (controles) Cuando se introduce un valor en un cuadro combinado que no está

en la lista del cuadro combinado.

Updated AlActualizar (OnUpdated) (controles) Cuando ha sido modificado el dato de un objeto OLE.

EVENTOS DE ENFOQUE Los eventos de enfoque ocurren cuando un formulario o control pierde o recibe el enfoque, o un formulario o

informe se convierte en activo o inactivo.

Evento Propiedad del evento Ocurrrencia

Activate AlActivar (OnActivate) (formularios, informes) Cuando un formulario o informe se convierte en la ventana

activa.

Deactivate AlDesactivar (OnDeactivate) (formularios, informes) Cuando una ventana diferente de Access se con-

vierte en la ventana activa, pero antes de que lo haga. El evento Deactivate no ocurre cuando el enfoque se mue-

ve a la ventana de otra aplicación, a un cuadro de diálogo o un formulario emergente.

Enter AlEntrar (OnEnter) (controles) Antes de que un control reciba el enfoque, bien desde un control en el mismo

formulario o cuando se abre el formulario. Este evento ocurre antes que el evento GotFocus.

Exit AlSalir (OnExit) (controles) Justamente antes de que un control pierda el enfoque hacia otro control en el

mismo formulario. Este evento ocurre antes del evento LostFocus.

GotFocus AlRecibirEnfoque (OnGotFocus) (formularios, controles) Cuando un control o un formulario con controles

no activos recibe el enfoque. Un formulario sólo puede recibir el enfoque si todos los controles visibles de un

formulario están desactivados o no hay controles en el formulario.

Page 96: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

96 Eventos Págs. 155

LostFocus AlPerderEnfoque (OnLostFocus) (formularios, controles) Cuando un formulario o control pierde el enfoque.

Un formulario sólo puede tener el enfoque si todos los controles visibles en un formulario están desactivados o

no hay controles en el formulario.

EVENTOS DE ERROR Y DE SINCRONIZACIÓN Los siguientes eventos se utilizan para el tratamiento de los errores y la sincronización de los datos en los formu-

larios o informes.

Evento Propiedad del evento Ocurrencia

Error AlOcurrirError (OnError) (formularios, informes) Cuando se produce un error en tiempo de ejecución en

Access mientras se esté en el formulario o informe. Esto incluye a los errores del motor de base de datos Jet,

aunque no los errores en tiempo de ejecución de Visual Basic. (Puesto que las macros no pueden determinar qué

error ha ocurrido, con este evento se utilizan normalmente procedimientos de evento de Visual Basic.)

Timer AlCronómetro (OnTimer) (formularios) Cuando pasa un intervalo especificado de tiempo, según se especifi-

que en la propiedad IntervaloDeCronómetro (TimerInterval) del formulario. Se puede utilizar el evento Timer

para mantener los datos sincronizados en un entorno multiusuario haciendo una nueva consulta o actualizando

los datos a intervalos especificados.

EVENTOS DE FILTRO Los eventos de filtro ocurren cuando se aplica o se crea un filtro en un formulario.

Evento Propiedad del evento Ocurrencia

ApplyFilter AlAplicarFiltro (OnApplyFilter) (formularios) Cuando se hace clic en Aplicar filtro u ordenar en el menú

Registros o se hace clic en el botón Aplicar filtro en la barra de herramientas. Esto se aplica al filtro que se haya

creado más recientemente (creado usando la característica Filtro por formulario o la ventana Filtro u orden avan-

zado).Cuando se hace clic en Filtro por selección después de haber apuntado a Filtro en el menú Registros o

haciendo clic en el botón Filtro por selección en la barra de comandos. Esto se aplica al filtro basado en la selec-

ción actual del formulario.Cuando se hace clic en Quitar filtro u ordenar en el menú Registros o se hace clic en el

botón Quitar filtro en la barra de comando. Esto elimina cualquier filtro (u ordenación) que se esté aplicando en

la actualidad al formulario.Cuando se cierra la ventana Filtro u orden avanzado o la ventana Filtro por formula-

rio.

Filter AlFiltrar (OnFilter) (formularios) Cuando se hace clic en Filtro por formulario después de apuntar a Filtro en el

menú Registros o se hace clic en el botón Filtro por formulario en la barra de comando. Esto abre la ventana

Filtro por Formulario, donde se puede crear rápidamente un filtro basado en los campos del formulario.Cuando

se hace clic en Filtro u orden avanzado después de apuntar a Filtro en el menú Registros. Esto abre la ventana

Filtro u orden avanzado, donde se pueden crear filtros complejos para el formulario.

EVENTOS DE IMPRESIÓN Los eventos de impresión ocurren cuando se imprime un informe o se le da formato para que se imprima.

Evento Propiedad del evento Ocurrencia

Format

AlDarFormato (OnFormat) (informes) Cuando Access determina qué datos van en la sección de un infor-

me, pero antes de que Access dé formato a la sección para vista preliminar o impresión. Su macro o procedi-

miento de evento puede utilizar los datos del registro activo para hacerle cambios al diseño de la página..

NoData

AlNoDatos (OnNoData) (informes) Después de que Access dé formato a un informe que no tiene datos

para que se imprima (el informe es dependiente de un recordset en blanco), pero antes de que se imprima el in-

forme. Este evento se puede utilizar para cancelar la impresión de un informe en blanco.

Page AlPaginar (OnPage) (informes) Después de que Access dé formato a una página para que se imprima, pero

antes de que se imprima.

Print AlImprimir (OnPrint) (informes) Después de que Access dé formato a los datos de una sección del informe,

pero antes de que se imprima la sección.

Retreat

AlRetirarse (OnRetreat) (informes) Cuando Access debe "retroceder" a un punto pasado una o más secciones del

informe para realizar múltiples pases para dar formato. Esto ocurre después del evento Format de la sección,

aunque antes del evento Print. El evento Retreat de cada sección ocurre mientras que Access retrocede pasada la

sección. Esto le permite deshacer cualquier cambio que haya hecho durante el evento Format para la sección.

EVENTOS DEL RATÓN Los eventos del ratón ocurren cuando ocurre una acción del ratón, como por ejemplo presionar o hacer clic en un

botón del ratón.

Page 97: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 97

Evento Propiedad del evento Ocurrencia

Click AlHacerClic (OnClick) (formularios, controles) Para un control, este evento ocurre cuando se presiona y

luego se suelta (se hace clic) en el el botón primario del ratón sobre un control.Para un formulario, este evento

ocurre cuando se hace clic en un selector de registro o en un área fuera de una sección o control.

DblClick AlHacerDobleClic (OnDblClick) (formularios, controles) Cuando se presiona y suelta (se hace clic) dos

veces con el botón primario del ratón en un control o su etiqueta.Para un formulario, este evento ocurre cuando

se hace doble clic en un área en blanco o selector de registro en el formulario.

MouseDown AlBajarRatón (OnMouseDown) (formularios, controles) Cuando se presiona un botón del ratón mientras

que el puntero está en un un formulario o control.La cancelación del evento RatónDown usando la acción Cance-

larEvento en un macro evita que se muestre el menú contextual cuando se presione el botón secundario del ratón.

MouseMove AlMoverRatón (OnMouseMove) (formularios, controles) Cuando se libera un botón presionado del mous7e

mientras el puntero está en un formulario, sección de formulario, o control.

MouseUp AlSubirRatón (OnMouseUp) (formularios, controles) Cuando se mueve el puntero del ratón sobre un

formulario o control.

EVENTOS DE TECLADO Los eventos de teclado ocurren cuando se escribe en un teclado o cuando se envían pulsaciones usando la acción

EnviarTeclas o la instrucción SendKeys.

Evento Propiedad del evento Ocurre

KeyDown AlBajarTecla (OnKeyDown) (formularios, controles) Cuando se presiona cualquier tecla en el teclado

mientras un control o formulario tiene el enfoque. Un formulario sólo puede tener el enfoque si están desactiva-

dos todos los controles visibles en el formulario o no hay controles en el formulario.El evento KeyDown ocurre

también si se envía una pulsación a un formulario o control usando la acción EnviarTeclas en una macro o la

instrucción SendKeys en Visual Basic.Un formulario recibe también todos los eventos KeyDown (incluso los de

los controles) antes de que ocurran para los controles si se establece la propiedad TeclaDePresentaciónPreliminar

(KeyPreview) del formulario a Sí.Si se mantiene presionada una tecla, el evento KeyDown ocurrirá repetidamen-

te.

KeyPress AlPresionarTecla (OnKeyPress) (formularios, controles) Cuando se presiona o suelta una tecla o combina-

ción de teclas que produce un carácter ANSI estándar mientras un control o formulario tiene el enfoque. Un

formulario sólo puede tener el enfoque si todos los controles visibles en el formulario están desactivados o no

hay controles en el formulario.Por ejemplo, el evento KeyPress se puede utilizar para responder a pulsaciones de

teclas introducidas en un cuadro de texto o cuadro combinado. Para las pulsaciones no reconocidas por Key-

Press, como las teclas de función o de desplazamiento, utilice los eventos KeyDown y KeyUp.El evento Key-

Press también ocurre si se envía una pulsación que produzca un carácter ANSI estándar en un formulario o con-

trol usando la acción EnviarTeclas en una macro o la instrucción SendKeys en Visual Basic.Un formulario reci-

be también todos los eventos KeyPress (incluso los de los controles) antes de que ocurran para los controles si se

establece la propiedad TeclaDePresentaciónPreliminar (KeyPreview) del formulario a Sí.Si se mantiene presio-

nada una tecla, el evento KeyPress ocurrirá repetidamente.

KeyUp AlSubirTecla (OnKeyUp) (formularios, controles) Cuando suelta una tecla presionada mientras un control o

formulario tiene el enfoque. El objeto con el enfoque recibe todas las pulsaciones. Un formulario sólo puede

tener el enfoque si todos los controles visibles en el formulario están desactivados o no hay controles en el for-

mulario.El evento KeyUp también ocurre si se envía una pulsación a un formulario o control usando la acción

EnviarTeclas en una macro o la instrucción SendKeys en Visual Basic.Un formulario recibe también todos los

eventos KeyUp (incluso los de los controles) antes de que ocurran para los controles si se establece la propiedad

TeclaDePresentaciónPreliminar (KeyPreview) del formulario a Sí.Si se mantiene presionada una tecla, el evento

KeyUp ocurre después de que hayan ocurrido todos los eventos KeyDown y KeyPress.

EVENTOS DE VENTANA Los eventos de ventana ocurren cuando se abre, se ajusta el tamaño o cierra un formulario o informe.

Evento Propiedad del evento Ocurrencia

Close AlCerrar (OnClose) (formularios, informes) Cuando se cierra un formulario o informe y se elimina de la pantalla.

Load

AlCargar (OnLoad) (formularios) Cuando se abre un formulario y se muestran sus registros. Este evento ocurre

antes del evento Current, aunque después que el evento Open.

Page 98: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

98 Generadores Págs. 155

Open AlAbrir (OnOpen) (formularios, informes) Cuando se abre un formulario pero antes de que se muestre el primer

registro.Cuando se abre un informe pero antes de que se imprima.

Resize AlCambiarTamaño (OnResize) (formularios) Cuando cambia el tamaño de un formulario. Este evento

también ocurre cuando se muestra un formulario por primera vez.

Unload AlDescargar (OnUnload) (formularios) Cuando se cierra un formulario y sus registros son transferidos, pero

antes de que sea eliminado de la pantalla. Este evento ocurre antes que el evento Close.

Propiedades de evento Las propiedades de evento hacen que una macro o el procedimiento de evento asociado de Visual Basic se ejecu-

ten cuando tiene lugar un evento determinado. Por ejemplo, si escribe el nombre de una macro en la propiedad

AlHacerClic (OnClick) de un botón de comando, esa macro se ejecuta cuando se hace clic en el botón de co-

mando.

Valores

Para ejecutar una macro, escriba el nombre de la macro. Puede seleccionar una macro existente en la lista. Si la

macro se encuentra en un grupo de macros, aparecerá en la lista bajo el nombre del grupo de macros, como

nombreGrupoMacro.nombreMacro.

Para ejecutar el procedimiento de evento asociado al evento, seleccione [Procedimiento de evento] en la lista.

Nota: Aunque el uso de un procedimiento de evento es el método recomendado para ejecutar código de Visual

Basic en respuesta a un evento, también es posible ejecutar una función definida por el usuario cuando tiene

lugar un evento. Para ejecutar una función definida por el usuario, incluya un signo igual (=) antes del nombre de

la función y paréntesis después de ella, como por ejemplo =nombreFunción( ).

Puede establecer las propiedades de evento en la hoja de propiedades de un objeto, en una macro, o utilizando

Visual Basic. Observe que no puede establecer ninguna propiedad de evento mientras da formato o imprime un

formulario o un informe.

Ejemplos

Para ejecutar Use la sintaxis Ejemplo:

Macro "nombreMacro" Button1.OnClick = "miMacro"

Procedimiento de evento "[Procedimiento de evento]" Button1.OnClick = "[Procedimiento de evento]"

Función definida por el usuario "=nombreFunción( )" Button1.OnClick = "=miFunción ()"

Generadores Puede usar generadores para ayudarle a establecer una propiedad de evento. Para utilizarlos, haga clic en el

botón Generar situado a la derecha del cuadro de propiedades o haga clic con el botón secundario del ratón sobre

el cuadro de propiedades y a continuación haga clic en Generar del menú contextual. En el cuadro de diálogo

Elegir generador, seleccione:

· El Generador de macros para crear y especificar una macro para esta propiedad de evento. También

puede usar el Generador de macros para editar una macro ya especificada por la propiedad.

· El Generador de código para crear y especificar un procedimiento de evento para esta propiedad de

evento. También puede usar el Generador de código para editar un procedimiento de evento ya especificado por

la propiedad.

· El Generador de expresiones para seleccionar y especificar una función definida por el usuario para

esta propiedad de evento.

En Visual Basic, establezca la propiedad a una expresión de cadena.

EJEMPLOS DE MACROS. Ver Ejemplo, Pág. 72.

Abrir un Formulario con un botón desde otro Formulario

Arrastrar el Formulario a abrir (subformulario) a ventana acción de Macro. Guardar macro. Arrastrar Macro

desde ventana Base de datos a Formulario en diseño desde la que se quiere abrir el subformulario. Crea botón.

Al abrir formulario ir al registro que se quiera

Utilizar 'Where condition' en los argumentos de OpenForm: Ej.: [Supplier ID]=Forms![Suppliers]![Supplier ID]

(va al mismo Supplier ID de Formulario principal).

Para mantener los reg. correspondientes en Subformulario al mover reg. de Formulario:

En OnCurrent (prop. de Formulario principal) nombre de macro que tendrá:

Condición Acción

IsLoaded("Product List") OpenForm (con'Where')

'Where' es el del ejemplo de arriba. IsLoaded es el subformulario sólo si ya esta abierto. Ver ej. de form: Suppli-

ers. Review Products. Para función IsLoaded() Ver Pág 115.

Otro Ej.: Ejecute una acción AbrirFormulario en una macro que se ejecuta en respuesta al evento OnCurrent del

formulario Proveedor. Puede hacer que el formulario Lista de productos muestre los registros cuyo valor en el

campo IdProveedor en la tabla base coincida con el valor del campo IdProveedor del formulario. Establezca el

argumento de la Condición WHERE de la acción como se indica: [IdProvee-

Page 99: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 99

dor]=Forms![Proveedores]![IdProveedor]. Después de crear la macro, establezca la propiedad AlActivarRegistro

(OnCurrent) del formulario Proveedores al nombre de la macro.

Utilizar acción EstablecerValor (SetValue) para dar valor a campo

Ej.: Poner Supplier ID a Subformulario con valor ID de formulario principal al crear producto. Macro Attached

to Add Products button of Suppliers Form. Actions: Echo, OpenForm, SetValue. Properties of SetValue: Item:

Forms![Add Products]![Supplier ID]. Expression: [Supplier ID]

Acciones de navegación

GoToControl (enter only the control name), GoToPage (move to page and to its first control) ,GoToRecord (to a

record or a new one, to the same control as in the previous record). Ej.: Enfocar en un Control para comenzar

edición.

Para imprimir reg. actual

Para cualquier tabla: macro asociada a botón de formulario con:

Acción: DoMenuItem. Arguments: Menu Bar: Form. Menu Name: Edit. Command: Select Record (current).

Siguiente acción: Print.

En Access 97, la acción EjecutarComando reemplaza a la acción EjecutarElementoMenú (DoMenuItem).

Para filtrar:

Adjuntar macro a OnPush de botón para buscar país con ApplyFilter action. Argumento Filter Name para apli-

car un filtro guardado como consulta o condición Where para, por ej.: [Ship Country]=‖France‖.

Ej. para Teléfonos: Crear botones para cada letra, y en OnPush de cada uno nombre de macro según letra (Gru-

poTeléfono.A). Crear Grupo Macros (GrupoTeléfono) con cada Nombre Macro igual a letra: A . Acción: Apply

filter. En 'Where cond.': [Company Name] Like "A*" (asociado a botón 'A')

Buscar reg. desde Cuadro Combinado:

Ej: Cuadro comb. Buscar Otro Proveedor. Macro: Poner nombre macro en AfterUpdate prop. del control Cuadro

comb.: Acción: GoToControl. Arg. Control Name: [Company Name] (Nombre con el Campo a buscar del

Formulario). Acción: FindRecord. Arg. FindWhat: =['Nombre de Control Comb.'], que ya tendrá el Proveedor a

buscar por acción anterior. Arg. Seach In: Current Field , que es [Company Name] que quedó enfocado en

GoToControl.

Validar:

Macro en BeforeUpdate de Propiedades del Formulario:

Para condiciones en mismo campo:

Condition Action

[Country] In ("France","Italy","Spain") and Len([Postal Code])<> 5 MsgBox (deben ser 5 caracteres)

... CancelEvent (no guarda)

[Country]In ("Australia", "Singapore") and Len([Postal Code])<>4 MsgBox

... CancelEvent

(siempre realizar esta acción) GoToControl (vuelve)

Requerir entrada:

Macro en BeforeUpdate de Formulario:

Para diferentes campos:

[First Name] Is Null MsgBox

... CancelEvent

... GoToControl

... StopMacro (ya no sigue)

[Last Name]Is Null MsgBox

... CancelEvent

... GoToControl

Imprimir informe mediante botón:

Crear macro arrastrando Report (Invoice, un registro) a Macro. Action: OpenReport. En Prop: 'Where cond.':

[Order ID]=Forms![Order Review]![Order ID]. Prop. View: Print Preview (ó Print: inmediato). Adjuntar a

OnPush de botón para imprimir.

Imprimir sólo uno (país, etc) o todos mediante Control Cuadro Lista:

Crear control cuadro lista (Select Country) con RowSource a Consulta Country List (países por orden alfabéti-

co) y AfterUpdate a macro con acción OpenReport y en prop. Where Cond.: =IIf(Forms![Print Reports Dia-

log]![Select Country] IsNull, "","[Country Name]=Forms![Print Reports Dialog]![Select Country]" (si nada,

imprime todos, las dos comillas juntas)

Para seleccionar con parámetros registros a imprimir

(Start Date y End Date): en 'Where': [Order Date] Between Forms![Print Reports Dialog]![Start Date] And

Forms![Print Reports Dialog]![End Date] o en Filter Name poner el nombre de consulta con parámetros.

Escoger Informe a imprimir mediante cuadro de diálogo

Por medio de grupo de opciones control [Report to Print] dentro de Formulario diálogo modal (Pop-Up) Print

Reports Dialog.: (Modal: se puede mover, pero no cambiar tamaño. Queda al frente de cualquier otra ventana y

no se puede acceder a otra mientras esté abierto. Se utiliza para pedir información)

Page 100: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

100 Generadores Págs. 155

Report to Print: (Grupo) (Botones)

Dos macros iguales a adjuntar cada una a cada OnPush de cada botón. (la primera con Print Preview en argu-

mento de OpenReport y la 2da con el argumento Print.):

Condition Action

SetValue (para esconder el Pop-Up Form)

[Report to Print]=1 OpenReport (basado en parámetros –Fecha)

[Report to Print]=2 OpenReport (basado en Lista de Categorias)

[Report to Print]=3 OpenReport (pide criterios- Mailing labels)

Close (el Pop-Up Form)

Después de escoger el grupo de opciones, se escoge entre botones.

En OpenReport de 1 se basa en Consulta de Parámetros. Pregunta automáticamente los parámetros de la consulta

al ejecutarse OpenReport basado en la consulta.

En OpenReport de 2 se basa en el valor de una Lista. Ver ―Imprimir sólo uno o todos‖ arriba. El cuadro de

Category to Print se hace visible por macro adjunta a OnOpen y AfterUpdate del grupo si está seleccionada la

opción 2, y oculta si no (propiedad Visible a si/no).

En OpenReport de 3 abre otro Form. Emergente preguntando qué país a imprimir y después la acción ApplyFil-

ter. Estas accionaes se ejecutan antes por macro adjunta a OnOpen del Informe. Ver más adelante ―Seleccionar

registros al abrir Informe‖.

Ocultar sección de informe.

Una sección se puede ocultar con macro adjunta a su OnFormat con Set Value a la propiedad PrintSection.

Hacer visible o no un control.

Ej.: Exceeded Goal! (Control texto):

[Total for Salesperson]>5000 SetValue Prop. Item: [Exceeded Goal].Visible. Prop. Expression: Yes

Not [Total for Salesperson]>5000 SetValue " No

Poner macro en propiedad OnFormat de su sección.

Comenzar un grupo de informe (país) por pág. 1:

Crear Text Control en Page Footer con ControlSource: =[Country]&" - "& Page.

Crear macro con SetValue, Item: Page, Expr.: 1. En sección grupo Country Footer, prop. Force New Page:

After Section. En sección grupo Country Header, prop. OnFormat: nombre macro.

Para cortar una página (Sólo las 10 primeras líneas en la primera).

Text Box "Counter"(Prop.: Visible: No, Control Source: =1, Running Sum : Over All (suma 1 cada vez).) en

Detail Section. Colocar un Break Control al fin de Detail. Hacer 2 macros en un grupo de macro. 1ra. (hide):

SetValue of Page Break Visible: No and attached to OnFormat prop. of Page Header section. 2da. (show): Con-

dition to check value of hidden control: [Counter]=10 Action Set Value: Item: [Hidden Page Break].Visible.

Expression: Yes). Attach to OnFormat prop of Detail Section. Mejor en condición: [Counter]=10 And Format-

Count=1. Con FormatCount=1 evita vuelva a repetir nueva pagina si quedó un espacio después del Page Break.

Para que rompa nueva página en todas después de cada 10 líneas: [Counter]Mod 10 = 0 en condición.

Totalizar por página:

[Page Total] de una columna [Sale Amount]. 2 macros en una macro grupo. 1ra: SetValue. Item: [Page Total],

Expr.: [Page Total]+[Sale Amount]. Attached to OnPrint prop. (mejor para totales que OnFormat) of Detail

section. 2da.: SetValue. Item: [Page Total], Expr.: =0. Attached to OnPrint (mejor que OnFormat) prop of Page

Header. El [Page Total] estaría en Page Footer section.

Seleccionar registros con cuadro de diálogo al abrir Informe

Para abrir formulario de diálogo modal para requerir criterios utilizar prop. OnOpen (AlAbrir) del Informe. Para

definir formulario como modal poner arg. Window Mode a Dialog de acción OpenForm . Queda al frente de

Sales by Date

Sales by Category

Customer Mailing Labels

Print Preview

Print

Category to print:

Beverages

Condiments

Page 101: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 101

cualquier otra ventana y no se puede acceder a otra mientras esté abierto. Se puede esconder (Visible No) pero

no cerrar para tener acceso a sus datos. Si no se utiliza Modal, la macro no se suspende.

Print labels for:

Macro grupo (Country Filter) en OnOpen de Report. Nombre primera macro: Open, Acción: OpenForm,

Prop.:View: Form, Data Mode: Edit, Window mode: Dialog. Suspende la ejecución.

Siguiente línea: Condición (Not IsLoaded(―Country Filter Dialog‖). (Para función IsLoaded() Ver Pág 115).

Acción: CancelEvent (se seleccionó Botón Cancel).

Siguiente línea: Condición: : ... Acción: Stop Macro. Siguiente línea: Condición: IsLoaded(―Country Filter

Dialog‖) and Forms![Country Filter Dialog]![Print Labels]=2. Acción: Select Object. (OK, seleccionar Informe

por país).

Siguiente línea: Condición: ... Acción: Apply Filter, Prop. Where: [Country]=Forms![Country Filter Dia-

log]![Country].

Siguiente línea: Nombre macro: OK (attached to OnPush of OK button en formulario). Acción: SetValue. (Visi

ble no)Oculta formulario y devuelve ejecución a macro Open.

Siguiente línea: Nombre macro: Cancel (attached to OnPush of Cancel button en formulario). Acción: Close.

Cierra formulario y devuelve ejecución a macro Open.

Siguiente línea. Nombre macro: Close. Acción: Close (Formulario).

Propiedad OnClose del Informe a macro Close.

Pedir fecha de día (diálogo emergente modal) para mostrar cantidad e importe de sus pedidos.

A Pop-up form is a moveable form, fixed in size, that you can use to display or collect information.

Can be Modeless: With access to other objects while open. Modal: no access.

Ej.: Daily Order Totals abre el Order Date Dialog Form (Pop-up). Tiene un control unbound [Order Date], un

botón : View Totals, y otro botón: Cancel. Prop: Pop Up (Emergente): Yes, Modal: Yes.

Macro: Order Date Dialog (Attached to the View Totals and Cancel buttons):

Name Action Com.

View Totals. SetValue Hide the Form (Item: Visible, Expression: No)

OpenForm Open Daily Order Total Form

Close Close pop-up form

Cancel Close " "

Arg. de OpenForm: Name: Daily Order Totals (con fecha, Cantidad e Importe), View: Form, Where: [Order

Date]=Forms![Order Date Dialog]![Order Date], Data Mode: Read Only, Window Mode: Normal.

Si quisiera ver siempre los de ayer: en Where: [Order Date]=Date()-1. No se necesitaría el Diálogo, sólo un

botón en Formulario Principal con OnPush a Open Form.

MODULOS (Visual Basic) Un módulo es una colección de declaraciones, instrucciones y procedimientos almacenados juntos como una

unidad con nombre. Access tiene dos tipos de módulos: módulos estándar y módulos de clase. Los módulos de

formulario y de informe son módulos de clases que contienen código que es local para el formulario o informe.

A menos que se declare explícitamente privado para el módulo en el que aparecen, los procedimientos de los

módulos estándar se reconocen y pueden ser llamados por procedimientos de otros módulos de la misma base de

datos o en bases de datos de referencia. Cada procedimiento en un módulo puede ser un procedimiento Function

o un procedimiento Sub.

Cuándo utilizar Módulos de Visual Basic Utilice Visual Basic en lugar de macros cuando desee:

· Facilitar el mantenimiento de la base de datos. Puesto que las macros son objetos independientes de los

formularios y los informes que las utilizan, puede resultar difícil mantener una base de datos que contenga mu-

All countries

Specific country

[Enter Canada, UK or USA]

OK Cancel

Page 102: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

102 MENUS - MODULOS. Págs. 155

chas macros que responden a eventos de formularios e informes. Por contraste, los procedimientos de evento de

Visual Basic se incorporan a la definición del formulario o el informe. Si mueve un formulario o un informe de

una base de datos a otra, se moverán con él procedimientos de evento incorporados en el formulario o el informe.

· Cree sus propias funciones. Access incluye muchas funciones incorporadas, como la función Interés

(IPmt), la cual calcula el pago de intereses. Puede utilizar estas funciones para realizar cálculos sin necesidad de

crear expresiones complicadas. Mediante Visual Basic, puede crear sus propias funciones para realizar cálculos

que superen la capacidad de una expresión o reemplacen expresiones complejas. Además, puede utilizar las

funciones que cree en expresiones para aplicar una operación común a más de un objeto.

· Enmascarar mensajes de error. Cuando ocurre algo inesperado mientras trabaja el usuario con la base de

datos y Access muestra un mensaje de error, el mensaje puede resultar bastante desconcertante para el usuario,

especialmente si no conoce Access. Con Visual Basic, puede detectar el error cuando se produce y mostrar su

propio mensaje o realizar alguna acción.

· Crear o manipular objetos. En la mayoría de los casos, observará que es más fácil crear y modificar un

objeto en la vista Diseño de ese objeto. Sin embargo, en algunas situaciones, es posible que desee manipular la

definición de un objeto en código. Utilizando Visual Basic, puede manipular todos los objetos de una base de

datos, así como la base de datos propiamente dicha.

· Realizar acciones a nivel de sistema. Puede ejecutar la acción EjecutarAplicación en una macro para

ejecutar otra aplicación basada en Windows o en MS-DOS desde su aplicación, en cambio una macro no sirve

para hacer mucho más fuera de Access. Con Visual Basic, puede comprobar si hay un archivo en el sistema,

emplear Automatización o intercambio dinámico de datos (DDE) para comunicar con otras aplicaciones basadas

en Windows como Excel, y llamar a funciones de bibliotecas de vínculos dinámicos (DLL) de Windows.

· Manipular registros uno a uno. Puede emplear Visual Basic para explorar una serie de registros uno a

uno y realizar una operación en cada registro. Por contraste, las macros trabajan con conjuntos de registros com-

pletos.

· Pasar argumentos a los procedimientos de Visual Basic. Puede establecer argumentos para acciones de

macro en la parte inferior de la ventana Macro cuando crea la macro, pero no puede cambiarlos cuando se ejecu-

ta la macro. Sin embargo, con Visual Basic puede pasar argumentos a su código en el momento que se ejecuta o

utilizar variables para argumentos, algo que no puede hacer en macros y que proporciona una gran flexibilidad

en la forma de ejecutar los procedimientos de Visual Basic.

MENUS - MODULOS. MENU EDICION

Buscar (CTRL+B): Busca una cadena de caracteres; por ejemplo, el apellido de un empleado en una hoja de

datos o formulario, o una palabra clave de Visual Basic en la ventana Módulo.

Buscar siguiente (F3): Busca la siguiente aparición de una cadena introducida en el cuadro de diálogo Buscar.

Reemplazar (CTRL+L): Busca una cadena de caracteres, como por ejemplo, el apellido de un empleado en una

hoja de datos o formulario, o una palabra clave de Visual Basic en la ventana Módulo, y la reemplaza por otra

cadena.

Aplicar (TAB)/Anular (RETROCESO o MAY+TAB) sangría: Desplaza el código seleccionado o la línea en

que está el punto de inserción cuatro espacios a la derecha, de forma predeterminada. Se utiliza para dar formato

y alinear bloques de código. Para cambiar este desplazamiento predeterminado, cambie la opción Ancho de tabu-

lación en la ficha Módulo del cuadro de diálogo Opciones.

Lista de propiedades y métodos: (CTRL+J): Muestra todas las propiedades y métodos de la instrucción que

contiene el punto de inserción. Utilice esta opción si prefiere crear instrucciones explícitamente (en lugar de

automáticamente) o bien para editar instrucciones existentes.

Lista de constantes: (CTRL+MAY+J): Muestra todas las constantes de la instrucción que contiene el punto de

inserción. Utilice esta opción si prefiere crear instrucciones explícitamente (en lugar de automáticamente) o bien

para editar instrucciones existentes.

Información rápida: (CTRL+I): Muestra información acerca de la sintaxis de la variable, constante o proce-

dimiento situado en el punto de inserción. Utilice esta opción si prefiere crear instrucciones explícitamente (en

lugar de automáticamente) o bien para editar instrucciones existentes.

Información de parámetros: (CTRL+MAY+I): Muestra todos los parámetros para la instrucción que contiene

el punto de inserción. Utilice esta opción si prefiere crear instrucciones explícitamente (en lugar de automática-

mente) o bien para editar instrucciones existentes.

Palabra completa: (CTRL+BARRA): Completa la escritura de un fragmento de palabra de una propiedad, un

método o una constante. Muestra todas las opciones posibles si el fragmento de palabra no es exclusivo.

Marcador: Alterna entre agregar o eliminar un marcador (mostrado como un rectángulo azul en la barra indica-

dora de margen) en la línea de texto actual de la ventana Módulo. Utilice los marcadores para designar líneas de

código importantes en módulos largos y para desplazarse entre ellos.

MENU VER

Definición (MAY+F2): Presenta el código de procedimiento del nombre de procedimiento que se indica en el

punto de inserción activo de la ventana Módulo. SI el procedimiento está definido en un biblioteca de vínculos

dinámicos (..dll), Access muestra la instrucción Declare utilizada para definir el punto de entrada .dll.

Page 103: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 103

Última posición (CTRL+MAY+F2): Vuelve a la última línea del procedimiento anterior que estuvo viendo en

la ventana Módulo.

Examinador de objetos (F2): Presenta todos los métodos y propiedades de la base de datos activa, de otras

bases de datos disponibles, y de las aplicaciones disponibles que soportan Visual Basic. Se utiliza para ver e

insertar la sintaxis de un método o una propiedad seleccionados. Ver Pág 116.

Ventana de depuración (CTRL+S): Presenta la ventana Depuración para permitir la prueba y depuración del

código. Ver Utilización, Pag 116.

Pila de llamadas (CTRL+H): Presenta una lista de las llamadas a procedimientos activas, comenzando por el

llamado más recientemente, de forma que pueda seguir la secuencia de llamadas. Access sólo habilita este botón

y comando cuando la ventana Módulo o la ventana Depurar están abiertas y la ejecución del código está suspen-

dida. Ver Pág 119.

MENU INSERTAR

Procedimiento: Inserta una instrucción de declaración de procedimiento después del punto de inserción en el

módulo activo, o al final de un procedimiento si el punto de inserción está dentro de un procedimiento.

Módulo: Inserta un nuevo módulo en la base de datos activa y presenta su sección Declaraciones en la ventana

Módulo.

Módulo de clase: Inserta un módulo de clase que no está asociado con un formulario o informe en la base de

datos activa y muestra su sección Declaraciones en la ventana Módulo.

Archivo: Inserta código de un archivo de texto en el módulo activo antes de la línea que contiene el punto de

inserción.

MENU DEPURAR

Compilar los módulos cargados: Compila todos los procedimientos de los módulos abiertos. Se utiliza para

tratar errores de tiempo de compilación y errores de sintaxis.

Compilar todos los módulos: Compila todos los procedimientos de todos los módulos de la base de datos acti-

va, tanto si están cargados como si no lo están.

Compilar y guardar todos los módulos: Compila y guarda todos los módulos en la base de datos. Si cambia el

nombre del proyecto, su base de datos no estará ya compilada. Debe cerrar y volver a abrir la base de datos antes

de volver a ejecutar el comando Compilar y guardar todos los módulos.

Paso a paso por instrucciones: (F8): Ejecuta una instrucción cada vez, incluyendo las instrucciones dentro de

los procedimientos a los que se ha llamado.

Paso a paso por procedimientos: (MAY+F8): Ejecuta una instrucción cada vez, tratando a cada procedimiento

llamado como un solo paso.

Paso a paso para salir: (CTRL+MAY+F8): Ejecuta todas las líneas de código y los procedimientos anidados

en el modo de interrupción comenzando por la instrucción ejecutable actual y, a continuación, devuelve la ejecu-

ción a la siguiente instrucción ejecutable en el procedimiento anterior del árbol de llamadas. Utilice esta opción

para evitar ir paso a paso por cada línea de código en procedimientos llamados.

Ejecutar hasta el cursor: (CTRL+F8): Ejecuta el procedimiento desde la instrucción ejecutable activa hasta la

línea seleccionada o el punto de inserción (que debe estar dentro del mismo procedimiento) y vuelve a colocarse

en modo interrupción. Se utiliza para evitar los pasos que no son necesarios a través de cada línea de código.

Agregar inspección: Crea una expresión de inspección en la expresión seleccionada (por ejemplo, una variable,

una propiedad o una llamada a una función) en la ventana Módulo, de forma que se pueda examinar sus valores

en el panel Inspección de la ventana Depuración. Ver Pág 119.

Modificar inspección: Modifica o elimina una expresión de inspección en la expresión seleccionada (por ejem-

plo, una variable, una propiedad o una llamada a una función).

Inspección rápida (MAY+F9): Presenta el valor de una expresión seleccionada (por ejemplo una variable,

propiedad, o una llamada a una función). Opcionalmente, se puede agregar la expresión al panel de Inspección

de la ventana Depurar para continuar examinando su valor.

Alternar punto de interrupción (F9): Alterna entre establecer y quitar un punto de interrupción. Access sus-

pende la ejecución del código y entra en modo de interrupción cuando alcanza una línea de código que contiene

un punto de interrupción. El establecimiento de un punto de interrupción pone la línea en negrita y resaltada.

Borrar todos los puntos de interrupción (CTRL+MAY+F9): Elimina todos los puntos de interrupción en

todos los procedimientos, de todos los módulos de la base de datos activa.

Establecer la instrucción siguiente (CTRL+F9): Cambia la secuencia de ejecución del código, de forma que la

instrucción en la que está el punto de inserción es la siguiente a ejecutar. La instrucción a ejecutar debe estar

dentro del procedimiento actualmente en ejecución. Se utiliza durante la depuración, para volver a ejecutar una

instrucción o para saltar las instrucciones que no se desea ejecutar.

Mostrar la instrucción siguiente: Muestra la siguiente instrucción ejecutable. Se utiliza cuando se examinan

otras instrucciones durante la depuración, para volver a la posición original.

MENU EJECUTAR

Iniciar o continuar (F5): Continua la ejecución del código después de que haya sido suspendida, a menos que la

suspensión impida que el código continúe ejecutándose (como, por ejemplo, en el caso de un error de división

por cero). También ejecuta un procedimiento seleccionado que no tiene argumentos.

Page 104: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

104 Procedimientos Págs. 155

Terminar: Termina la ejecución de los procedimientos Visual Basic y borra todas las variables privadas, aunque

conserva todas las variables públicas. Se utiliza para reinicializar los procedimientos de un módulo que se ha

modificado antes de volver a ejecutarlo.

Restablecer: Termina la ejecución de los procedimientos de Visual Basic y borra todas las variables públicas y

privadas. Se utiliza para reinicializar todo el código de un módulo que haya cambiado antes de volverlo a ejecu-

tar.

MENU HERRAMIENTAS

Referencias: Muestra una lista de las referencias disponibles de bibliotecas de objetos y bases de datos. Se utili-

za para hacer que los procedimientos de otras bases de datos se puedan llamar desde la base de datos activa, o

para cambiar el orden en el que Microsoft Access busca en las bibliotecas de objetos y en las bases de datos para

resolver las referencias.

Controles ActiveX: Registra o elimina controles ActiveX en la base de datos de registro de Windows (que se

utiliza para registrar información acerca de las aplicaciones, por ejemplo el nombre de archivo y la ruta de acce-

so). El registro determina si los controles ActiveX están disponibles o no para ser utilizados.

Ventana Módulo Se componde del Cuadro objeto y del Cuadro Procedimiento, sección Declaraciones y sección Procedimientos,

botones Ver Procedimiento y Ver módulo completo (al lado barra desplazamientio horizontal.).

Por ej. , para ver o agregar un procedimiento de formulario, elija uno de los objetos del formulario del Cuadro

objeto y luego elija un evento del Cuadro Procedimiento. Los nombres de los eventos que ya tienen procedi-

mientos están en negrita.

Para agregar un procedimiento personalizado a un módulo estándar, debajo de la seccion Declaraciones escriba

Sub o Function y el nombre del procedimiento y sus argumentos, y después presione INTRO. Después escriba el

código que desse para el procedimiento.

Módulos de clases Los módulos de formularios y los módulos de informes son módulos de clases que están asociados con un for-

mulario o informe determinado. Los módulos de formularios y de informes contienen a menudo procedimientos

de evento que se ejecutan en respuesta a un evento en un formulario o informe. Puede usar los procedimientos de

evento para controlar el comportamiento de los formularios e informes, y sus respuestas a las acciones de los

usuarios, tal como hacer clic con el ratón en un botón de comando.

Cuando se crea el primer procedimiento de evento para un formulario o informe, Access crea automáticamente

un módulo de formulario o un módulo de informe. Para ver el módulo para un formulario o informe, haga clic en

Código en la barra de herramientas en la vista Diseño de informe o de formulario.

Los procedimientos en los módulos de formularios y de informes pueden llamar a procedimientos que haya

agregado a los módulos estándar.

En Access 95, los módulos de clase sólo existen en asociación con un formulario o informe. En Access 97, los

módulos de clase pueden existir también con independencia de un formulario o informe, y este tipo de módulo

de clase se enumera en la ficha Módulos de la ventana Base de datos. Puede usar un módulo de clase en la ficha

Módulos para crear una definición para un objeto personalizado.

Módulos estándar Los módulos estándar contienen procedimientos generales que no están asociados con ningún otro objeto y pro-

cedimientos usados con frecuencia que pueden ser ejecutados desde cualquier parte de la base de datos.

La lista de módulos estándar de la base de datos se puede ver haciendo clic en la ficha Módulos de la ventana

Base de datos. Los formularios, informes y módulos estándar se enumeran también en el Examinador de objetos.

Procedimientos Un procedimiento es una unidad de código de Visual Basic para aplicaciones. Un procedimiento contiene una

serie de instrucciones y métodos que realizan una operación o calculan un valor. Por ejemplo, el siguiente proce-

dimiento de evento usa el método OpenForm para abrir el formulario Pedidos:

Private Sub AbrirPedidos_Click()

DoCmd.OpenForm "Pedidos"

End Sub

Hay dos tipos de procedimientos: Procedimientos Sub y Procedimientos Function.

Creación de procedimiento personalizado Al extender la base de datos para que incluya los procedimientos de Visual Basic para aplicaciones, puede per-

sonalizar la forma en la que las tablas, formularios, informes y consultas de la base de datos trabajan juntos. Hay

varios tipos de procedimientos. Puede crear un procedimiento de evento agregando código a las plantillas prede-

finidas de un módulo de formulario o un módulo de informe. También puede crear sus propios procedimientos

Function o procedimientos Sub en módulos estándar o en módulos de clase (que incluyen los módulos de formu-

larios e informes).

Puede llamar a procedimientos en un módulo estándar o en módulo de clase desde expresiones, desde otros pro-

cedimientos, procedimientos de evento, procedimientos de otros módulos y macros. Los procedimientos de

Page 105: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 105

evento se ejecutan automáticamente en respuesta a eventos, como por ejemplo clics del ratón, que se producen

en un formulario, informe o control.

Para procedimiento de evento, ver a continuación.

Para procedimiento Sub personalizado, Ver Pág 105.

Para procedimiento Function personalizado, Ver Pág 106.

Crear un procedimiento de evento Access hace que sea fácil ejecutar código en respuesta a una acción desarrollada por el usuario. Cuando se esta-

blece una propiedad del evento para un formulario, informe o control a [Procedimiento de evento], Access crea

la plantilla del procedimiento de evento. Todo lo que tiene que hacer es agregar el código que desee ejecutar en

respuesta a un evento determinado en el formulario, informe o control. Por ejemplo, puede hacer que se ejecute

código cuando un usuario hace clic en un botón de comando o cambia los datos.

1 Abra un formulario o informe en la vista Diseño de informe o en la vista Diseño del formulario.

2 Muestra la hoja de propiedades del formulario, informe o una sección o control del formulario o infor-

me.

3 Elija la ficha Eventos.

4 Haga clic en la propiedad de evento del evento que desea que active el procedimiento. Por ejemplo, para

mostrar el procedimiento de evento para el evento Change, haga clic en la propiedad Al cambiar.

5 Haga clic en Generar próximo al cuadro de la propiedad para mostrar el cuadro de diálogo Elegir gene-

rador.

6 Haga doble clic en Generador de código para mostrar las instrucciones Sub y End Sub del procedimien-

to de evento en el módulo de formulario o módulo de informe. Estas instrucciones definen o declaran, el proce-

dimiento de evento.

Access declara procedimientos de evento de forma automática para cada objeto de un módulo de formulario o

informe, usando la palabra clave Private para indicar que al procedimiento sólo pueden tener acceso otros proce-

dimientos de ese módulo.

7 Agregue el código al procedimiento de evento que desee ejecutar cuando se produzca el evento. Por

ejemplo, para producir un sonido a través del altavoz de la máquina cuando cambien los datos del cuadro de

texto NombreCompañía, agregue una instrucción Beep al procedimiento de evento NombreCompañía_Change,

como sigue:

Private Sub NombreCompañía_Change()

Beep

End Sub

El procedimiento de evento se ejecuta cada vez que se produce el evento Change para el objeto.

Ver Pág 90, Ejecutar Macro o Procedimiento de Evento. Ver Pág 94, Eventos.

Procedimientos Sub Realizan una operación o una serie de operaciones pero no devuelven un valor. Puede crear sus propios proce-

dimientos Sub o usar las plantillas de procedimientos de evento que Access crea por usted.

Cada formulario o informe de la base de datos tiene un módulo de formulario o un módulo de informe incorpo-

rado que contiene plantillas de procedimientos de evento. Puede agregar código que se ejecute en respuesta a los

eventos que se produzcan en el formulario, en el informe o en los controles del formulario o informe. Cuando

Access reconoce que se ha producido un evento en un formulario, informe o control, ejecuta de forma automáti-

ca el procedimiento de evento nombrado para el objeto o evento. Por ejemplo, puede escribir un procedimiento

de evento que establece el enfoque a un cuadro de texto Nombre esposo cuando el usuario selecciona la casilla

de verificación Casado.

Sugerencia: Muchos de los asistentes (por ejemplo, el Asistente para botones de comando) que crean objetos

crean también procedimientos de evento para el objeto. Puede mirar estos procedimientos de evento para ver

ejemplos de cómo funcionan estos procedimientos.

Escribir un procedimiento Sub

Un procedimiento Sub es una serie de instrucciones Visual Basic, encerradas entre un par de instrucciones Sub y

End Sub, que realizan acciones específicas pero no devuelven ningún valor. Un procedimiento Sub puede acep-

tar argumentos, como constantes, variables o expresiones que le pasa el procedimiento que ha efectuado la lla-

mada. Si un procedimiento Sub no tiene argumentos, la instrucción Sub debe incluir un par de paréntesis vacío.

El siguiente procedimiento Sub dispone de comentarios explicativos en cada línea.

' Declara un procedimiento llamado ObtenInformacion

' Este procedimiento Sub no acepta argumentos

Sub ObtenInformacion()

' Declara una variable de cadena llamada respuesta

Dim respuesta As String

' Asigna el valor que devuelve la funcion InputBox a la varia-

ble respuesta

respuesta = InputBox(Prompt:="¿Cómo se llama?")

Page 106: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

106 Procedimientos Págs. 155

If respuesta = Empty Then

' Llama a la función MsgBox

MsgBox Prompt:="No ha escrito su nombre."

Else

' Función MsgBox concatenada con la variable respuesta

MsgBox Prompt:="Su nombre es " & respuesta

End If

' Fin del procedimiento Sub

End Sub

Crear un procedimiento Sub personalizado

1 Abra un nuevo módulo.

· Para abrir un nuevo módulo estándar, haga clic en la ficha Módulos de la ventana Base de datos y haga

clic en Nuevo. Para abrir un módulo estándar existente, haga clic en la ficha Módulos, seleccione el módulo que

desea abrir y haga clic en Diseño.

· Para abrir un módulo de formulario o un módulo de informe, abra el formulario o informe en la vista

Diseño y haga clic en Código en la barra de herramientas.

· Para abrir un nuevo módulo de clase que no está asociado con un formulario o informe, en la ventana

Base de datos haga clic en Módulo de clase en el menú Insertar

. Para abrir un módulo de clase existente, haga clic en la ficha Módulos en la ventana Base de datos, seleccione

el módulo que desea abrir y haga clic en Diseño.

2 Declare el procedimiento escribiendo la instrucción Sub.

3 Escriba un nombre de procedimiento, seguido inmediatamente de los argumentos entre paréntesis. Por

ejemplo, la siguiente declaración del procedimiento Sub MostrarEvento especifica (EventName As String) como

un argumento:

Sub MostrarEvento(EventName As String)

4 Agregue el código Visual Basic para aplicaciones que realice la operación que desea que realice el pro-

cedimiento.

En este ejemplo se utiliza la instrucción Sub para declarar el nombre, argumentos y código que forman el cuerpo

del procedimiento Sub.

' Definición del procedimiento Sub.

' Sub con dos argumentos.

Sub SubAreaPC(Largo, Ancho)

Dim Area As Double ' Declara la variable local.

If Largo = 0 Or Ancho = 0 Then

' Si cualquier argumento = 0.

Exit Sub ' Salir inmediatamente de Sub.

End If

Area = Largo * Ancho ' Calcula el área del rectángulo.

Debug.Print Area ' Imprime Area en la ventana de depuración.

End Sub

Procedimientos Function Llamados a menudo simplemente funciones. Devuelven un valor, tal como el resultado de un cálculo. Visual

Basic incluye muchas funciones incorporadas; por ejemplo, la función Now devuelve la fecha y hora actual.

Además de estas funciones incorporadas, puede crear sus propias funciones personalizadas.

Puesto que las funciones devuelven valores, puede usarlas en expresiones. Puede usar funciones en expresiones

en muchos lugares de Access, incluyendo en una instrucción o método de Visual Basic, en muchos valores de

propiedades o en una expresión de criterios en un filtro o consulta.

Éste es un ejemplo de un procedimiento Function, PrimerDíaDelMesSiguiente, que devuelve la fecha del primer

día del mes siguiente a la fecha actual:

Function PrimerDíaDelMesSiguiente()

PrimerDíaDelMesSiguiente = _

DateSerial(Year(Now), Month(Now) + 1, 1)

End Function

Esta función personalizada consiste en una única instrucción de asignación que asigna el resultado de una expre-

sión (en el lado derecho del signo igual [=]) al nombre de la función, PrimerDíaDelMesSiguiente (en el lado

izquierdo del signo igual). La función calcula el resultado usando las funciones incorporadas de Visual Basic

DateSerial, Year, Now y Month.

Una vez haya creado esta función, puede usarla en una expresión prácticamente en cualquier parte de Access.

Por ejemplo, podría especificar que un cuadro de texto muestre el primer día del mes que sigue a la fecha actual

como el valor predeterminado estableciendo la propiedad ValorPredeterminado (DefaultValue) del control del

cuadro de texto a la siguiente expresión en la hoja de propiedades:

Page 107: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 107

=PrimerDíaDelMesSiguiente()

Nota: Para usar una función como valor de una propiedad, la función debe estar en el módulo del formulario o

del informe, o en un módulo estándar. No se puede usar una función en un módulo de clase que no esté asociada

con un formulario o informe como valor de propiedad de formulario o informe.

Los procedimientos Function y Sub pueden aceptar argumentos.

Escribir un procedimiento Function

Un procedimiento Function es una serie de instrucciones de Visual Basic encerradas entre dos instrucciones

Function y End Function. Un procedimiento Function es similar a un procedimiento Sub, aunque una función

puede devolver además un valor. Un procedimiento Function acepta argumentos, como pueden ser constantes,

variables o expresiones que le pasa el procedimiento que efectúa la llamada. Si un procedimiento Function no

tiene argumentos, la instrucción Function debe incluir un par de paréntesis vacíos. Una función devuelve un

valor asignándolo a su nombre en una o más instrucciones del procedimiento.

En el siguiente ejemplo, la función Celsius calcula grados centígrados a partir de grados Fahrenheit. Cuando se

llama a la función desde el procedimiento Principal, se le pasa una variable que contiene el valor del argumento.

El resultado de los cálculos se devuelve al procedimiento que efectúo la llamada y se presenta en un cuadro de

mensaje.

Sub Principal()

temp = Application.InputBox(Texto:= _

"Por favor, introduzca la temperatura en grados F.", Tipo:=1)

MsgBox "La temperatura es " & Celsius(temp) & " grados C."

End Sub

Function Celsius(GradosF)

Celsius = (GradosF - 32) * 5 / 9

End Function

Crear una función personalizada

1 Abra un nuevo módulo.

· Para abrir un nuevo módulo estándar, haga clic en la ficha Módulos en la ventana Base de datos y haga

clic en Nuevo. Para abrir un módulo estándar existente, haga clic en la ficha Módulos, seleccione el módulo que

desea abrir y haga clic en Diseño.

· Para abrir un módulo de formulario o un módulo de informe, abra el formulario o informe en la vista

Diseño y haga clic en Código en la barra de herramientas.

· Para abrir un nuevo módulo de clase que no esté asociado con un formulario o informe, en la ventana

Base de datos haga clic en Módulo de clase en el menú Insertar

. Para abrir un módulo de clase existente, haga clic en la ficha Módulos en la ventana Base de datos, seleccione

el módulo que desee abrir y haga clic en Diseño.

2 Declare la función escribiendo la instrucción Function.

3 Escriba un nombre de función, seguido inmediatamente por los argumentos de la función entre parénte-

sis. Por ejemplo, la siguiente declaración de la función EstáCargado especifica cadNombreFormulario como

argumento:

Function EstáCargado(cadNombreFormulario As String) As Boolean

4 Agregue el código Visual Basic para aplicaciones que realice la operación o cálculo que desea que re-

alice la función.

En este ejemplo se utiliza la instrucción Function para declarar el nombre, los argumentos y el código que for-

man el cuerpo de un procedimiento Function. El último ejemplo utiliza tipos forzados, argumentos Optional

inicializados.

' La siguiente función definida por el usuario devuelve

' la raíz cuadrada del argumento que se le pasa.

Function CalculaRaizCuadrada(ArgNumerico As Double) As Double

If ArgNumerico < 0 Then ' Se evalúa el argumento.

Exit Function ' Salida hacia el procedimiento que llamó a la

función.

Else

CalculaRaizCuadrada = Sqr(ArgNumerico) ' Devuelve la raíz

cuadrada.

End If

End Function

El uso de la palabra clave ParamArray permite que una función acepte un número variable de argumentos. En la

siguiente definición, PrimerArg se transfiere por valor.

Function CalcSum(ByVal PrimerArg As Integer, ParamArray OtrosArgs())

Dim ValorDevuelto

Page 108: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

108 Objetos, propiedades, métodos y eventos Págs. 155

' Si se invoca la función como:

ValorDevuelto = CalcSum(4, 3 ,2 ,1)

' Las variables locales obtienen los valores

' siguientes: PrimerArg = 4,

' OtrosArgs(1) = 3, OtrosArgs(2) = 2, y así

' sucesivamente, asumiendo que el límite inferior

' predeterminado para matrices es igual a 1.

'Los argumentos Optional ahora pueden tener valores predeterminados

y tipos distintos de Variant.

' Si los argumentos de una función se definen como:

Function MiFunc(MiCad As String, Optional MiArg1 As _ Integer = 5,

Optional MiArg2_ = "Pepa")

Dim RetVal

' La función puede ser invocada de las formas

' siguientes:

RetVal = MiFunc("Hola", 2, "Mundo") ' Se proveen los 3 argumentos.

RetVal = MiFunc("Prueba", , 5) ' Se omite el segundo argumento.

' Los argumentos uno y tres utilizan argumentos con nombre.

RetVal = MiFunc(MiCad:="Hola ", MiArg1:=7)

Objetos, propiedades, métodos y eventos Método

Es toda acción que puede realizar un objeto. Por ejemplo, Add es un método del objeto ComboBox ya que

sirve para añadir un nuevo elemento a un cuadro combinado.

El siguiente procedimiento utiliza el método Add para añadir un nuevo elemento a un ComboBox.

Sub AñadeElemen(nuevoElemento as String)

Combo1.Add nuevoElemento

End Sub

Propiedad

Es un atributo de un objeto que define una de las características del objeto, tal como su tamaño, color o locali-

zación en la pantalla, o un aspecto de su comportamiento, por ejemplo si está visible o activado. Para cambiar las

características de un objeto, se cambia el valor de sus propiedades

Para dar valor a una propiedad, hay que colocar un punto detrás de la referencia a un objeto, después el nombre

de la propiedad y finalmente el signo igual (=) y el nuevo valor de la propiedad. Por ejemplo, el siguiente proce-

dimiento cambia el título de un formulario de Visual Basic dando un valor a la propiedad Caption.

Sub CambiaNombre(nuevoTitulo)

miForm.Caption = nuevoTitulo

End Sub

Hay propiedades a las que no se puede dar valor. El tema de ayuda de cada propiedad indica si es posible leer y

dar valores a la propiedad (lectura/escritura), leer sólo el valor de la propiedad (sólo lectura) o sólo dar valor a la

propiedad (sólo escritura).

Se puede obtener información sobre un objeto devolviendo el valor de una de sus propiedades. El siguiente pro-

cedimiento utiliza un cuadro de diálogo para presentar el título que aparece en la parte superior del formulario

activo en ese momento.

Sub NombreFormEs()

formNonmbre = Screen.ActiveForm.Caption

MsgBox formNombre

End Sub

Objeto

Representa un elemento de una aplicación, como una hoja de cálculo, una celda, un diagrama, un formulario o

un informe. En código de Visual Basic, un objeto debe identificarse antes de se pueda aplicar uno de los métodos

del objeto o cambiar el valor de una de sus propiedades.

Una colección es un objeto que contiene varios objetos que normalmente, pero no siempre, son del mismo

tipo. En Excel, por ejemplo, el objeto Workbooks contiene todos los objetos Workbook abiertos. En Visual

Basic, la colección Forms contiene todos los objetos Form existentes en una aplicación.

Los elementos de una colección se pueden identificar mediante su número o su nombre. Por ejemplo, en el si-

guiente procedimiento, Libro(1) identifica al primer objeto Workbook abierto.

Sub CierraPrimero()

Libro(1).Close

End Sub

El siguiente procedimiento utiliza un nombre especificado como cadena para identificar un objeto Form.

Page 109: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 109

Sub CierraForm()

Forms("MiForm.frm").Close

End Sub

También es posible operar al mismo tiempo sobre toda una colección de objetos siempre que los objetos compar-

tan métodos comunes. Por ejemplo, el siguiente procedimiento cierra todos los formularios abiertos.

Sub CierraTodos()

Forms.Close

End Sub

Evento

es toda acción que puede ser reconocida por un objeto, como puede ser el clic del ratón o la pulsación de una

tecla y para la que es posible escribir código como respuesta. Los eventos pueden ocurrir como resultado de una

acción del usuario o del código de l programa, también pueden ser originados por el sistema.

Ver Pág 94, Eventos.

Ejecución de código El código Visual Basic para aplicaciones se ejecuta en Access ejecutando un procedimiento Sub o un procedi-

miento Function. Los procedimientos contienen una serie de instrucciones y de métodos que realizan una opera-

ción o calculan un valor. Los procedimientos se almacenan en unidades llamadas módulos. Sin embargo, un

módulo no se ejecuta; en su lugar, se llama a los procedimientos desde expresiones, otros procedimientos o ma-

cros. Los procedimientos de evento de los módulos de formularios o informes se ejecutan también en respuesta a

las acciones de los usuarios.

Estas son las formas de ejecutar código Visual Basic en Microsoft Access:

· Cree un procedimiento de evento. Cuando el usuario realice una acción que provoque ese evento, se

ejecuta el procedimiento de evento. Por ejemplo, puede agregar código al procedimiento de evento Click de un

botón de comando para que abra un formulario cuando el usuario haga clic en el botón.

· Use una función en una expresión o en el panel Inmediato de la ventana Depuración. Por ejemplo,

puede usar una función en una expresión que defina un campo calculado en un formulario, informe o consulta.

Las expresiones se pueden usar como valores de las propiedades en las consultas y filtros, en macros y acciones,

en instrucciones y métodos de Visual Basic o en las instrucciones SQL.

· Llame a un procedimiento Sub en otro procedimiento o en el panel Inmediato de la ventana De-

puración. Si ejecuta cierto código con frecuencia, puede ponerlo en un procedimiento Sub. En lugar de repetir

en cada procedimiento el código Visual Basic que realiza la operación, lo escribe una vez en el procedimiento

común y luego llama al procedimiento común cada vez que desee realizar la operación.

· Haga clic en el comando Iniciar o continuar en el menú Ejecutar de la ventana Módulo para eje-

cutar un procedimiento que no requiere argumentos. En la ventana Módulo, sitúe el cursor en el procedi-

miento que desee ejecutar. Luego haga clic en Iniciar o continuar en el menú Ejecutar.

· Lleve a cabo la acción EjecutarCódigo en una macro. Puede usar la acción EjecutarCódigo para

ejecutar una función incorporada de Visual Basic o una función que haya creado. Para ejecutar un procedimiento

Sub o un procedimiento de evento, cree una función que llame al procedimiento Sub o procedimiento de evento

y luego use la acción EjecutarCódigo para ejecutar la función.

Definiciones varias Instrucción

Una unidad sintácticamente completa que expresa un tipo de acción, declaración o definición. Normalmente una

instrucción tiene una sola línea aunque es posible utilizar dos puntos (:) para poner más de una instrucción en

una línea. También se puede utilizar un carácter de continuación de línea (_) para continuar una sola línea lógica

en una segunda línea física.

Variable

Un lugar de almacenamiento con nombre que puede contener cierto tipo de datos que puede ser modificado du-

rante la ejecución del programa. Cada variable tiene un nombre único que la identifica dentro de su nivel de

ámbito. Puede especificar un tipo de datos o no.

Nombres de variable deben comenzar con un carácter alfabético, deben ser únicos dentro del mismo ámbito, no

deben contener más de 255 caracteres y no pueden contener un punto o carácter de declaración de tipo.

Variable a nivel de módulo: Una variable que se declara en la sección de declaraciones de un módulo utilizan-

do la palabra clave Private. Estas variables están disponibles para todos los procedimientos del módulo.

Constante

Un elemento con nombre que mantiene un valor constante a través de la ejecución de un programa. Las constan-

tes pueden ser cadenas o literales numéricos, otras constantes o cualquier combinación que incluya operadores

aritméticos o lógicos exceptuando Is y la exponenciación. Cada aplicación principal puede definir su propio

conjunto de constantes. El usuario puede definir constantes adicionales con la instrucción Const. Puede utilizar

constantes en cualquier lugar del código en lugar de valores reales.

Constante intrínseca: Una constante suministrada por Microsoft Access, Visual Basic para aplicaciones, o

Microsoft DAO. Estas constantes están disponibles en el Examinador de objetos haciendo clic en <globales> en

cada una de estas bibliotecas.

Page 110: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

110 Argumentos Págs. 155

Palabra clave Me

Se comporta como una variable declarada de forma implícita. Está disponible automáticamente para todos los

procedimientos en un módulo de clase. Cuando una clase puede tener más de una instancia, Me proporciona una

forma de referirse a una instancia específica de la clase donde se está ejecutando el código. El uso de Me es

especialmente útil cuando se desea pasar información sobre la instancia que se está ejecutando actualmente a un

procedimiento de otro módulo. Por ejemplo, suponga que tiene el procedimiento siguiente en un módulo:

Sub CambiaColorFormulario (NombreFormulario As Form)

NombreFormulario.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)

End Sub

Puede llamar a este procedimiento y pasar la instancia actual de la clase Form como un argumento utilizando la

siguiente instrucción:

CambiaColorFormulario Me

DAO (Data Access Objects) Objetos de acceso a datos

Los objetos que representan la estructura de la base de datos y los datos que contiene. Desde Visual Basic puede

utilizar objetos DAO para crear o cambiar tablas y consultas, la seguridad de la base de datos, o el acceso a los

datos desde orígenes de datos externos. También puede utilizar objetos DAO para trabajar con los datos almace-

nados en la base de datos desde código.

Instancia

Un objeto creado desde la clase que contiene su definición. Por ejemplo, varias instancias de una clase de formu-

lario comparten el mismo código y se cargan con los mismos controles con los que fue diseñada la clase de for-

mulario. Una clase es como una plantilla y una instancia individual de una clase como el objeto creado desde esa

plantilla.

Argumentos Un argumento ofrece información adicional a un procedimiento, instrucción o método. Cuando se crea un

procedimiento Function o procedimiento Sub, se declaran argumentos si desea poder suministrar información al

procedimiento cuando se le llama.

Cuando se llama a un procedimiento que tenga argumentos, se especifican los argumentos que se desea pasarle.

También se pueden especificar argumentos para muchas instrucciones y métodos.

Comprender los argumentos con nombre y opcionales

Cuando se hace una llamada a un procedimiento Sub o Function, se pueden incluir argumentos de forma posi-

cional, es decir, en el orden en que aparecen en la definición del procedimiento, o se pueden incluir los argumen-

tos con su nombre sin respetar ningún orden.

Por ejemplo, el siguiente procedimiento Sub acepta tres argumentos:

Sub PasaArgs(strNombre As String, intEdad As Integer, dteNacimiento

As Date)

Debug.Print strNombre, intEdad, dteNacimiento

End Sub

Al llamar este procedimiento se pueden incluir sus argumentos en la posición correcta, todos separados por co-

mas, tal y como muestra el siguiente ejemplo:

PasaArgs "María", 26, #21-2-69#

También se puede hacer una llamada a este procedimiento e incluir argumentos con nombre, separados por co-

mas.

PasaArgs intEdad:=26, dteNacimiento:=#21/2/69#, strNombre:="Maria"

Un argumento nominativo está formado por el nombre del argumento seguido por dos puntos y un signo igual

(:=), todo ello seguido por el valor del argumento.

Los argumentos con nombre son muy útiles cuando se llama a procedimientos con argumentos opcionales. Si se

usan argumentos con nombre no será necesario incluir sucesivas comas para sustituir argumentos posicionales

ausentes. Al usar argumentos con nombre es más fácil controlar qué argumentos se pasan y cuáles se omiten.

Los argumentos opcionales van precedidos por la palabra clave Optional en la definición del procedimiento. En

la definición del procedimiento se puede especificar también un valor predefinido para el argumento opcional.

Por ejemplo:

Sub ArgsOpcionales(strProvincia As String, Optional strPais As

String = "MÉXICO")

. . .

End Sub

Cuando se hace una llamada a un procedimiento con un argumento opcional, se puede optar por especificar o no

el argumento opcional. Si no se especifica, se usará el valor predefinido si existe. Si no se ha especificado tam-

poco un valor predefinido, el argumento tendrá el valor de inicialización que le corresponda a una variable del

mismo tipo.

El siguiente procedimiento incluye un argumento opcional, la variable varPais. La función IsMissing determina

si se ha pasado o no un argumento opcional al procedimiento.

Page 111: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 111

Sub ArgsOpcionales(strProvincia As String, Optional intRegion As In-

teger, _

Optional strPais As String = "MÉXICO")

If IsMissing(intRegion) AND IsMissing(strPais) Then

Debug.Print strProvincia

ElseIf IsMissing(strPais) Then

Debug.Print strProvincia, intRegion

ElseIf IsMissing(intRegion) Then

Debug.Print strProvincia, strPais

Else

Debug.Print strProvincia, intRegion, strPais

End If

End Sub

Este procedimiento se puede llamar empleando argumentos con nombre tal y como muestran los siguientes

ejemplos.

ArgsOpcionales strPais:="MÉXICO", strProvincia:="SE"

ArgsOpcionales strProvincia:= "SE", intRegion:=5

Especificar argumentos cuando use un procedimiento, instrucción o método en código Visual Basic

Especifique los argumentos inmediatamente después del nombre del procedimiento, instrucción o método. Para

un procedimiento Function o un método que devuelva un valor, encierre los argumentos entre paréntesis. Si

especifica más de un argumento, sepárelos con una coma.

Por ejemplo, el siguiente método Close del objeto DoCmd cierra el formulario Agregar productos. Acepta dos

argumentos, acForm y "Agregar productos":

DoCmd.Close acForm, "Agregar productos"

Puesto que el método Close no devuelve un valor, los argumentos no se incluyen entre paréntesis.

Sugerencia: Puede usar el Examinador de objetos para pegar sintaxis de métodos o propiedades, incluyendo

argumentos, en el código de Visual Basic para aplicaciones. El Examinador de objetos pega los argumentos con

nombre que puede especificar en cualquier orden. Puede usar estos argumentos con nombre o substituirlos con

argumentos estándar.

Estructuras de decisión y control Mediante el uso de instrucciones condicionales y instrucciones de bucle (también conocidas como estructuras de

control) es posible escribir código de Visual Basic que tome decisiones y repita determinadas acciones. Otra

estructura de control útil, la instrucción With, permite ejecutar una serie de instrucciones sin necesidad de recali-

ficar un objeto.

Utilizar instrucciones condicionales para tomar decisiones

· If...Then...Else: Salto a una instrucción cuando una condición es True o False

· Select Case: Selección de la instrucción a ejecutar en función de un conjunto de condiciones

Utilizar bucles para repetir código

· Do...Loop: Seguir en el bucle mientras o hasta una condición sea True

· For...Next: Utilizar un contador para ejecutar las instrucciones un número determinado de veces.

· For Each...Next: Repetición del grupo de instrucciones para cada uno de los objetos de una colección

Ejecutar varias instrucciones sobre el mismo objeto

· With: Ejecutar una serie de instrucciones sobre el mismo objeto

If...Then...Else (Instrucción) Ejecuta condicionalmente un grupo de instrucciones, dependiendo del valor de una expresión.

If condición Then [instrucciones]-[Else instrucciones_else]

Puede utilizar la siguiente sintaxis en formato de bloque:

If condición Then

[instrucciones]

[ElseIf condición-n Then

[instrucciones_elseif] .. (Opcional. Una o más instrucciones ejecutadas si la condición-n asociada es True.)

[Else

[instrucciones_else]] (Opcional. Una o más instrucciones ejecutadas si ninguna de las expresiones anterio-

res condición o condición-n es True.)

End If

Una instrucción con formato de bloque If debe ser la primera de la línea. Las partes Else, ElseIf y End If, de la

instrucción, solamente pueden ir precedidas de un número de línea o por una etiqueta de línea. El bloque If debe

terminar con una instrucción End If.

Las cláusulas Else y ElseIf son opcionales. Puede tener en un bloque ElseIf, tantas cláusulas If como desee, pero

ninguna puede aparecer después de una cláusula Else. Las instrucciones de bloque If se pueden anidar; es decir,

unas pueden contener a otras.

Page 112: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

112 Estructuras de decisión y control Págs. 155

Cuando se ejecuta un bloque If (Sintaxis 2), se prueba condición. Si condición es True, se ejecutan las instruc-

ciones que están a continuación de Then. Si condición es False, se evalúan una a una las condiciones ElseIf (si

existen). Cuando se encuentra una condición True se ejecutan las instrucciones que siguen inmediatamente a la

instrucción Then asociada. Si ninguna de las condiciones ElseIf es True (o si no hay cláusulas ElseIf), se ejecu-

tan las instrucciones que siguen a Else. Después de la ejecución de las instrucciones que siguen a Then o Else, la

ejecución continúa con la instrucción que sigue a End If.

Select Case puede ser más útil cuando se evalúa una única expresión que tiene varias acciones posibles. Sin

embargo, la cláusula TypeOf nombre_objeto Is tipo_objeto no se puede utilizar en una instrucción Select Case.

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Dim Número, Dígitos, MiCadena

Número = 53 ' Inicializa variable.

If Número < 10 Then

Dígitos = 1

ElseIf Número < 100 Then

' La condición es True, por lo que se ejecuta la siguiente instruc-

ción.

Dígitos = 2

Else

Dígitos = 3

End If

' Asigna un valor con la sintaxis de una línea.

If Dígitos = 1 Then MiCadena = "Una" Else MiCadena = "Más de una"

If Anydate < Now Then Anyate=Now 'sólo una línea de código

If Anydate < Now Then Anydate=Now : Notify=True

Ej. DueDate(AnyDate) para devolver sólo día hábil:

Function DueDate(AnyDate)

Dim Result

If Not IsNull(AnyDate) Then

result=DateSerial(Year(Anydate),Month(Anydate)+1,1

If Weekday(Result)=1 Then 'Domingo americano

DueDate=Result+1

ElseIf Weekday(Result)=7 Then 'Sábado americano

DueDate=Result+2

Else DueDate=Result

End If

Else

Result=Null

End If

End Function

Puede utilizar If TypeOf para determinar si el control que se pasa a un procedimiento es un cuadro de texto.

Sub ControlProcessor(MiControl As Control)

If TypeOf MiControl Is CommandButton Then

Debug.Print "Ha pasado un " & TypeName(MiControl)

ElseIf TypeOf MiControl Is CheckBox Then

Debug.Print "Ha pasado un " & TypeName(MiControl)

ElseIf TypeOf MiControl Is TextBox Then

Debug.Print "Ha pasado un " & TypeName(MiControl)

End If

End Sub

Select Case (Instrucción) Ejecuta uno de varios grupos de instrucciones, dependiendo del valor de una expresión.

Page 113: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 113

Select Case expresión_prueba

[Case lista_expresion-n

[instrucciones-n]] ...

[Case Else

[instrucciones_else]]

End Select

Se pueden utilizar expresiones múltiples o intervalos en cada cláusula Case. Por ejemplo, la línea siguiente es

válida:

Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber

También puede especificar intervalos y expresiones múltiples para cadenas de caracteres. En el siguiente ejem-

plo, Case coincide con las cadenas que son exactamente iguales a todo, cadenas que están entre nueces y sopa en

orden alfabético y el valor actual de ElemPrueba:

Case "iguales a todo", "nueces" To "sopa", ElemPrueba

Las instrucciones Select Case se pueden anidar. Cada instrucción Select Case debe tener su correspondiente

instrucción End Select.

Dim Número

Número = 8 ' Inicializa variable.

Select Case Número ' Evalúa Número.

Case 1 To 5 ' Número entre 1 y 5.

Debug.Print "Entre 1 y 5"

'Es la única cláusula Case cuyo valor es True.

Case 6, 7, 8 ' Número entre 6 y 8.

Debug.Print "Entre 6 y 8"

Case Is > 8 And Número < 11 ' Número es 9 ó 10.

Debug.Print "Mayor que 8"

Case Else ' Otros valores.

Debug.Print "No está entre 1 y 10"

End Select

Ej. Anterior de If, pero pasar a Jueves si es Viernes (numeración americana):

function duedate(anydate)

dim result

If not is null(anydate) then

result=dateserial(year(anydate),month(anydate)+1,1

select case weekday(result)

case 1: duedate=result+1

case 7: duedate=result+2

case 6: duedate=result-1

case else

duedate=result

end select

else

result=null

end if

end function

Do...Loop (Instrucción) Repite un bloque de instrucciones cuando una condición es True o hasta que una condición se convierta en True.

Do [{While | Until} condición]

[instrucciones]

[Exit Do]

[instrucciones]

Loop

O bien, puede utilizar esta sintaxis:

Do

[instrucciones]

[Exit Do]

[instrucciones]

Loop [{While | Until} condición]

Page 114: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

114 Estructuras de decisión y control Págs. 155

Cuando se utiliza con instrucciones anidadas Do…Loop, la instrucción Exit Do transfiere control al bucle que

está anidado un nivel por encima del bucle donde ocurre.

Dim Comprobar, Contador

Comprobar = True: Contador = 0 ' Inicializa variables.

Do ' Bucle externo.

Do While Contador < 20 ' Bucle interno.

Contador = Contador + 1 ' Incrementa el contador.

If Contador = 10 Then ' Si la condición es verdadera.

Comprobar = False ' Establece el valor a False.

Exit Do ' Sale del bucle interno.

End If

Loop

Loop Until Comprobar = False ' Sale inmediatamente del bucle ex-

terno.

Opciones:

do do while condición do

instrucciones instrucciones instrucciones

do until condición- loop loop while condición

Do while not es igual a Do until

For...Next (Instrucción) Utilizar un contador para ejecutar las instrucciones un número determinado de veces.

For contador = principio To fin [Step incremento]

[instrucciones]

[Exit For]

[instrucciones]

Next [contador]

Contador. Requerido. Variable numérica que se utiliza como contador de bucle. La variable no puede ser

de tipo Boolean, ni ningún elemento de matriz.

Principio Requerido. Valor inicial del contador.

Fin Requerido. Valor final del contador.

Incremento Opcional. Cantidad en la que cambia el contador cada vez que se ejecuta el bucle. Si no se

especifica, el valor predeterminado de incremento es uno.

Instrucciones Opcional. Una o más instrucciones entre For y Next que se ejecutan un número especificado de

veces.

El argumento incremento puede ser positivo o negativo. El valor del argumento incremento determina la manera

en que se procesa el bucle, como se muestra a continuación:

Valor El bucle se ejecuta si

Positivo ó 0 contador <= fin

Negativo contador >= fin

Una vez que se inicia el bucle y se han ejecutado todas las instrucciones en el bucle, incremento se suma a con-

tador

Una cambio en el valor de contador mientras está dentro de un bucle hace difícil su lectura y depuración.

For I = 1 To 10

For J = 1 To 10

For K = 1 To 10

...

Next K

Next J

Next I

Si omite un contador en una instrucción Next, la ejecución continúa como si se hubiera incluido. Se produce un

error si se encuentra una instrucción Next antes de su instrucción For correspondiente.

Dim Palabras, Caracteres, MiCadena

For Palabras = 10 To 1 Step -1 ' Establece 10 repeticiones.

For Caracteres = 0 To 9 ' Establece 10 repeticiones.

MiCadena = MiCadena & Caracteres ' Agrega un número a la cadena.

Next Caracteres ' Incrementa el contador

MiCadena = MiCadena & " " ' Agrega un espacio.

Next Palabras

Page 115: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 115

function isloaded(myformname)

dim i

isloaded=false

for i=0 to forms.count - 1

'la propiedad "count" va de 0 a n-1 (-1 no 'es incremento, que

es 1)

if forms(i).formname=myformname then

isloaded=true

exit for 'también se podría: exit function

end if

next

end function

Para salir cuando se quiera de una proc Sub o Function: Exit Sub o Exit Function.

For Each...Next (Instrucción) Repite un grupo de instrucciones para cada elemento de una matriz o de una colección.

For Each elemento In grupo

[instrucciones]

[Exit For]

[instrucciones]

Next [elemento]

Elemento Requerido. Variable que se utiliza para iterar por los elementos del conjunto o matriz. Para

conjuntos, elemento solamente puede ser una variable Variant, una variable de objeto genérica o cualquier varia-

ble de objeto específica. Para matrices, elemento solamente puede ser una variable tipo Variant.

Grupo Requerido. Nombre de un conjunto de objetos o de una matriz (excepto una matriz de tipos definidos

por el usuario).

La entrada al bloque For Each se produce si hay al menos un elemento en grupo. Una vez que se ha entrado en el

bucle, todas las instrucciones en el bucle se ejecutan para el primer elemento en grupo. Después, mientras haya

más elementos en grupo, las instrucciones en el bucle continúan ejecutándose para cada elemento. Cuando no

hay más elementos en el grupo, se sale del bucle y la ejecución continúa con la instrucción que sigue a la ins-

trucción Next.

No se puede utilizar la instrucción For Each...Next con una matriz de tipos definidos por el usuario porque un

tipo Variant no puede contener un tipo definido por el usuario.

En este ejemplo se utiliza la instrucción For Each...Next para buscar la cadena "Hola" en la propiedad Text de

todos los elementos de una colección. En el ejemplo, MiObjeto es un objeto relacionado con texto y es un ele-

mento de la colección MiColección. Ambos son nombres genéricos utilizados sólo a modo de ilustración.

Dim Found, MiObjeto, MiColección

Found = False ' Inicializa variable.

For Each MiObjeto In MiColección ' Itera por cada elemento.

If MiObjeto.Text = "Hola" Then ' Si Texto es igual "Hola".

Found = True ' Establece como Verdadero.

Exit For ' Sale del bucle.

End If

Next

With (Instrucción) Ejecuta una serie de instrucciones sobre un único objeto o sobre un tipo definido por el usuario.

With objeto

[instrucciones]

End With

La instrucción With permite realizar una serie de instrucciones sobre un objeto especificado sin volver a calificar

el nombre del objeto.

With MyLabel

.Height = 2000

.Width = 2000

.Caption = "Esta es mi etiqueta"

End With

Una vez que se ha entrado en un bloque With no es posible cambiar el objeto. Por tanto, no puede utilizar una

única instrucción With para varios objetos.

Page 116: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

116 Examinador de objetos Págs. 155

Importante: No salte hacia dentro o hacia fuera de bloques With. Puede tener errores y comportamientos inespe-

rados si se ejecutan instrucciones en bloques With, sin que se ejecuten las instrucciones With o End With.

With MiObjeto

.Height = 100 ' Idéntico a MiObjeto.Height = 100.

.Caption = "Hola" 'Idéntico a MiObjeto.Caption = "Hola".

With .Font

.Color = Red ' Idéntico a MiObjeto.Font.Color = Red.

.Bold = True ' Idéntico a MiObjeto.Font.Bold = True.

End With

End With

Examinador de objetos Un cuadro de diálogo que muestra información acerca de objetos, propiedades, métodos y constantes del proyec-

to actual y de las bibliotecas de objetos a las que se ha hecho referencia. Puede usar el Examinador de objetos

para buscar un elemento específico, ver su definición, obtener ayuda sobre el mismo, o pegarlo en un módulo.

Puede usar el Examinador de objetos para ver y explorar entre los objetos disponibles en Access y demás apli-

caciones que sean compatibles con Visual Basic para aplicaciones, así como los métodos y propiedades de cada

objeto. Cuando localice un método o propiedad en el Examinador de objetos, puede pegarlo en el módulo activo.

Localizar un método o propiedad en el Examinador de objetos

1 Abra cualquier módulo.

2 Haga clic en Examinador de objetos en la barra de herramientas.

3 En el cuadro Proyecto/Biblioteca (el cuadro superior izquierdo), haga clic en Access o en otra bibliote-

ca.

4 En el cuadro Clases, haga clic en el objeto en el que esté interesado.

5 En el cuadro Miembros de, haga clic en el método o propiedad que desee.

Nota

· Para obtener Ayuda sobre la clase, método o propiedad que seleccione, haga clic en Ayuda en el Exa-

minador de objetos.

· Para ver objetos proporcionados por la Librería de objetos de Access 8.0, tales como objetos barra de

comandos, debe establecer una referencia a esta biblioteca. En la ventana Módulo, haga clic en Referencias en el

menú Herramientas y seleccione la casilla de verificación Office 8.0 Object library.

Use el Examinador de objetos para pegar una sintaxis de método o propiedad en un módulo

1 Seleccione el método o propiedad en el Examinador de objetos.

2 En la sección inferior del Examinador de objetos, seleccione la sintaxis que desee pegar.

3 Haga clic en Copiar a portapapeles en el Examinador de objetos.

4 Haga clic en el módulo en el que desee pegar el nombre.

5 Haga clic en Pegar en la barra de herramientas.

Access pega la sintaxis del método o propiedad en el módulo.

Nota Después de pegar la sintaxis para procedimientos Sub, es necesario eliminar los paréntesis que rodean los

marcadores de posición en la sintaxis.

Depuración de código Ventana Depuración

Ventana para depurar el código de Visual Basic. Tiene dos fichas: una para el panel Inspección para hacer un

seguimiento de los valores de una o más expresiones seleccionadas y la otra para el panel Locales para hacer un

seguimiento de las variables locales y sus valores. En la parte inferior de ambas fichas aparece un panel Ejecutar

para ejecutar líneas individuales de código.

La ventana Depuración en Microsoft Access 97 consiste en tres paneles: un panel Inmediato que funciona de

forma muy parecida a la ventana Inmediata de las versiones anteriores de Microsoft Access, un panel Locales

que muestra todas las variables en el marco de la pila actual junto con sus valores, y un panel Inspección. Puede

cambiar entre los paneles de Locales y de Inspección haciendo clic en la ficha Locales o en la ficha Inspección

de la ventana Depuración. El panel Inmediato permanece visible independientemente de la ficha que se elija.

Para ver la ventana Depuración, abra un módulo y haga clic en la ventana Depuración en la barra de herramien-

tas. También puede abrir la ventana Depuración haciendo clic en la ventana Depuración en el menú Ver o pre-

sionando CTRL+S cuando trabaje en cualquier parte de Microsoft Access.

Otras características de la ventana Depuración: La nueva ventana Depuración proporciona información de

forma automática acerca del estado del código. Cuando no haya código en ejecución, la barra de estado de la

parte superior de la ventana Depuración muestra "<Preparado>". Una vez comienza la ejecución del código, la

barra de estado muestra el nombre de la base de datos actual, el módulo en el que reside el procedimiento que se

está ejecutando, y el nombre del propio procedimiento. Puede ver la ventana Llamadas desde la ventana Depura-

ción haciendo clic en el botón Generar .

Page 117: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 117

Panel Locales

El panel Locales muestra una lista de variables en tres columnas: Expresión, Valor y Tipo. Algunas variables,

como los tipos, matrices y objetos definidos por el usuario, pueden contener información jerárquica. Estas varia-

bles tienen un botón expandir/contraer a la izquierda de los nombres de la variable para controlar la presentación

de la información jerárquica. Cuando el panel Locales está visible, se actualiza automáticamente cuando el modo

de ejecución cambia desde el modo de ejecución al modo de interrupción. Esto ocurre cuando la ejecución al-

canza un punto de interrupción o cuando empieza a ir paso a paso a través del código.

La primera variable en la lista es una variables de modulo especial. Para un módulo de clase, esta es la variable

definida por el sistema Me. Esto es una referencia de objeto a la instancia actual de la clase definida por el

módulo actual. Puesto que esta variable es una referencia de objeto, puede ser expandida para mostrar todas las

propiedades y datos de los miembros de la instancia de clase actual. Para los módulos estándar, la primera varia-

ble es el nombre del módulo actual y también puede ser expandida para mostrar todas las variables a nivel del

módulo del módulo actual. Puede cambiar el valor de una variable en el panel Locales, pero no puede cambiar

sus valores Expresión o Tipo. Ver Pág 119

Panel Inspección

El panel Inspección permite ver el valor de una expresión o de una variable mientras se ejecuta el código. Para

establecer una expresión de inspección, haga clic en Agregar inspección en el menú Depurar. El panel Inspec-

ción ha sido mejorado para proporcionar las siguientes funcionalidades:

· Expandir/contraer la información jerárquica.

· Cambiar el tamaño de los encabezados de columna.

· Modificar los valores en el momento.

Panel Inmediato

Puede ejecutar cualquier procedimiento Sub o Function, incluyendo los procedimientos de evento, en el panel

Inmediato.

Para ejecutar un procedimiento definido dentro de un módulo de clase desde el panel Inmediato, debe cualificar

el procedimiento con el nombre del módulo de clase, a menos que se encuentre en el modo de interrupción de-

ntro de ese módulo. Si se encuentra en el modo de interrupción, no es necesario que cualifique el procedimiento,

porque ese módulo se encuentra actualmente dentro del alcance.

El siguiente ejemplo, cuando se escribe en el panel Inmediato de la ventana Depuración, ejecuta un procedimien-

to ListaNombres que ha sido definido en el módulo de clase asociado con un formulario Empleados:

Form_Empleados.ListaNombres

El siguiente ejemplo ejecuta el procedimiento de evento Clic para un botón de comando llamado PersonalInfo de

un formulario Empleados:

Form_Empleados.PersonalInfo_Clic

Ver Pág 118, Usar el panel Inmediato.

Solución de errores en código La depuración es un proceso que se utiliza para buscar y resolver errores o bugs, en el código de Visual Basic

para aplicaciones. Hay tres tipos de errores que puede encontrar mientras se ejecuta el código:

· Los errores en tiempo de compilación se producen como resultado de un código construido incorrec-

tamente. Puede que se haya olvidado de igualar los pares de instrucciones (como por ejemplo If y End If o For y

Next) o puede tener un error de programación que viole las reglas de Visual Basic (tal como una palabra mal

escrita, la falta de un separador o un error de no coincidencia de tipos).

Los errores en tiempo de compilación incluyen también los errores de sintaxis, que son errores gramaticales o de

puntuación. Estos incluyen paréntesis que no coinciden o un número incorrecto de argumentos pasados a una

función.

· Los errores en tiempo de ejecución se producen después de que la aplicación inicie su ejecución. En-

tre los ejemplos de errores en tiempo de ejecución se incluyen las operaciones ilegales, tal como dividir por cero

o escribir a un archivo que no existe.

· Los errores lógicos se producen cuando la aplicación no realiza lo que se pretendía y produce resulta-

dos incorrectos.

Para ayudarle a aislar los tres tipos de errores y para controlar cómo se ejecuta el código, Visual Basic propor-

ciona herramientas de depuración que permiten ir paso a paso por el código de línea en línea, examinar o contro-

lar los valores de las expresiones y variables y hacer el seguimiento de las llamadas de los procedimientos.

Nota Para utilizar la mayoría de las herramientas de depuración de Microsoft Access, es necesario suspender la

ejecución del código.

Usar un punto de interrupción para suspender la ejecución de código Cuando se suspende la ejecución de código de Visual Basic para aplicaciones, el código sigue ejecutándose,

aunque está detenido entre instrucciones en ejecución. Mientras está suspendida la ejecución del código puede

realizar tareas de depuración tal como comprobar los valores actuales d las variables y ejecutar cada línea de

código de línea en línea. Para hacer que Visual Basic detenga la ejecución del código, se pueden establecer pun-

tos de interrupción.

Page 118: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

118 Depuración de código Págs. 155

1 En la ventana Módulo, mueva el punto de inserción a la línea de código que todavía no es un punto de

interrupción o declaración.

2 Haga clic en Alternar punto de interrupción en la barra de herramientas.

Para borrar un punto de interrupción, mueva el punto de inserción a la línea de código en la que se ha establecido

el punto de interrupción y luego haga clic en Alternar punto de interrupción en la barra de herramientas. Para

reiniciar la ejecución del código, haga clic en Iniciar o continuar en el menú Ejecutar.

Nota También puede suspender la ejecución del código agregando una instrucción Stop a un procedimiento o

presionando CTRL+INTERRUMPIR mientras el código está en ejecución.

Modo de interrupción

Suspensión temporal de la ejecución de un programa mientras se encuentra en el entorno de desarrollo. En el

modo de interrupción, se puede examinar, depurar, restablecer, ir paso a paso o continuar con la ejecución del

programa. Al modo de interrupción se tiene acceso: mediante la búsqueda de un punto de interrupción durante la

ejecución del programa; presionando CTRL+INTER durante la ejecución del programa; encontrando una ins-

trucción Stop o un error en tiempo de ejecución no detectable durante la ejecución del programa; agregando una

expresión de inspección Modo de interrupción cuando sea verdadero (la ejecución se detiene cuando el valor de

la expresión de inspección cambia y da como resultado True); agregando una expresión de inspección Modo de

interrupción cuando haya cambiado (la ejecución se detiene cuando cambie el valor de la expresión de inspec-

ción).

Ir paso a paso por el código Al ir paso a paso por el código de Visual Basic para aplicaciones puede ayudar a identificar donde se está produ-

ciendo un error. Puede ver si cada línea de código produce los resultados esperados.

1 Suspenda la ejecución del código.

Access muestra la línea de código en la que se suspende la ejecución.

2 Haga unas de las siguientes cosas:

· Para ir paso a paso por cada línea del código y dentro del código a un procedimiento llamado por otro

procedimiento, haga clic en Paso a paso por instrucciones en la barra de herramientas.

· Para ir paso a paso por cada línea de código pero ejecutar como una unidad cada procedimiento al que

se llame, haga clic en Paso a paso por procedimientos en la barra de herramientas.

· Para ejecutar el código que precede a la línea actual de código y luego detenerse para poder ir paso a

paso por cada línea del código, haga clic en Ejecutar hasta el cursor en el menú Depurar.

· Para ejecutar el resto del procedimiento actual y luego a la siguiente línea de código del procedimiento

anterior del árbol de llamadas, haga clic en Paso a paso para salir en la barra de herramientas.

Nota: Puede usar Paso a paso por instrucciones sin suspender la ejecución del código. En la ventana Módulo,

sitúe el cursor en el procedimiento por el que desea ir paso a paso y haga clic en Paso a paso por instrucciones

en la barra de herramientas.

Se puede alternar entre estos tipos de ejecuciones paso a paso. El tipo de ejecución paso a paso que lleve a cabo

depende de las partes del código que desee analizar.

Arbol de llamada

Todos los módulos que pueden ser llamados por el procedimiento en el módulo en el cual el código se está eje-

cutando actualmente.

Usar el panel Inmediato Use el panel Inmediato en la ventana Depurar para comprobar los resultados de una línea de código de Visual

Basic para aplicaciones. Puede usar el panel Inmediato para comprobar el valor de un control, campo o propie-

dad; para mostrar el resultado de una expresión; o para asignar un nuevo valor a una variable, campo o propie-

dad. El panel Inmediato es una especie de ventana de borrador en la que se evalúan inmediatamente las instruc-

ciones, métodos y procedimientos Sub.

1 Si desea usar el panel Inmediato en un cierto punto durante la ejecución del código, suspenda la ejecu-

ción del código en ese punto.

2 Haga clic en Ventana de depuración en la barra de herramientas.

3 Escriba en la ventana una instrucción, método, llamada de procedimiento Function o Sub y luego pre-

sione ENTRAR.

Sugerencias:

· Puede ver los resultados de una expresión en el panel Inmediato introduciendo el método Print

del objeto Debug, seguido por la expresión. Puede usar un signo de interrogación (?) como abreviación del

método Print. Por ejemplo, Visual Basic muestra el valor devuelto por la función personalizada PrimerDíaDel-

MesSiguiente si introduce algunas de las dos líneas siguientes en el panel Inmediato:

Debug.Print PrimerDíaDelMesSiguiente()

? PrimerDíaDelMesSiguiente()

También puede agregar el método Print del objeto Debug al código de Visual Basic para mostrar los valores o

los resultados de las expresiones del panel Inmediato mientras se ejecuta el código. Cuando el código haya fina-

lizado la ejecución, puede mirar los resultados.

· En Microsoft Access puede mostrar el panel Inmediato en cualquier momento presionando CTRL+G.

Page 119: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 119

Establecimiento de una expresión de inspección en el código Cuando se suspende la ejecución de código de Visual Basic para aplicaciones, puede observar los valores de las

expresiones de inspección en el panel Inspección de la ventana Depuración. También puede realizar una inspec-

ción rápida para ver el valor de una expresión que no haya sido especificada como una expresión de inspección.

Agregar una expresión de inspección al panel Inspección

1 Abra un procedimiento en la ventana Módulo.

2 En el menú Depurar, haga clic en Agregar inspección.

3 Si ya seleccionó una expresión en la ventana Módulo, se mostrará de forma automática en el cuadro de

diálogo. Si no se muestra ninguna expresión, escriba la expresión que desee evaluar. La expresión puede ser una

variable, una propiedad, una llamada de función o cualquier otra expresión válida.

En lugar de escribir la expresión, puede seleccionar una expresión en la ventana Módulo y arrastrarla al panel

Inspección.

4 Para seleccionar el intervalo en el que se evaluará la expresión, seleccione un contexto de módulo y de

procedimiento bajo Contexto.

Nota Seleccione el alcance mínimo que se ajuste a sus necesidades. Si se seleccionan todos los procedimientos

o todos los módulos podría ralentizar la ejecución del código.

5 Para definir la forma en la que el sistema debe responder a la expresión de inspección, seleccione una

opción bajo Tipo de inspección.

· Para mostrar el valor de la expresión de inspección, haga clic en Expresión de inspección.

· Para detener la ejecución si la expresión se evalúa a True, haga clic en Modo de interrupción cuando el

valor sea Verdadero.

· Para detener la ejecución si cambia el valor de la expresión, haga clic en Modo de interrupción cuando

el valor cambie.

Cuando ejecuta el código, el panel Inspección muestra el valor de la expresión que se hubiera establecido. Para

modificar una expresión de inspección, seleccione la expresión en el panel Inspección y luego haga clic en Mo-

dificar inspección en el menú Herramientas. Para eliminar la expresión de inspección, haga clic en Eliminar en el

cuadro de diálogo Modificar inspección.

Realizar una inspección rápida mientras se depura código

1 Suspenda la ejecución del código Visual Basic para aplicaciones.

2 Seleccione la expresión cuyo valor desea ver.

3 Haga clic en Inspección rápida en la barra de herramientas.

Access muestra el cuadro de diálogo Inspección rápida, en el que puede ver la expresión y el valor actual de la

expresión. Haga clic en Agregar en el cuadro de diálogo para agregar la expresión a la lista de expresiones de

inspección del panel Inspección de la ventana Depurar.

Seguimiento de llamadas de procedimientos mientras se depura código Cuando se suspende la ejecución de código de Visual Basic para aplicaciones mientras se depura el código, pue-

de usar el cuadro de diálogo Llamadas para ver una lista de los procedimientos que hayan sido iniciados pero no

completados.

1 Suspenda la ejecución del código de Visual Basic.

2 Haga clic en Pila de llamadas en la barra de herramientas.

Access muestra el último procedimiento llamado en la parte superior de la lista, seguido del procedimiento lla-

mado anteriormente y así sucesivamente. Para mostrar la instrucción que llama al siguiente procedimiento de la

lista, haga clic en Mostrar.

Presentación del valor de las variables en el panel Locales 1 Suspenda la ejecución del código de Visual Basic para aplicaciones.

2 Haga clic en la Ventana de depuración en la barra de herramientas.

En la parte superior de la ventana Depurar, en la ficha Locales, Microsoft Access muestra de forma automática el

nombre, valor actual y tipo de todas las variables y objetos del procedimiento activo. Los valores del panel Loca-

les se actualizan cada vez que suspende la ejecución del código. Puede cambiar el valor de una variable en el

panel Locales seleccionando el valor existente e introduciendo el nuevo valor.

Mostrar el valor de una variable o expresión en la ventana Módulo cuando el código está

suspendido 1 En el menú Herramientas, haga clic en Opciones.

2 Haga clic la ficha Módulo.

3 Bajo Opciones del código, asegúrese que está seleccionada la casilla de verificación Sugerencias de

datos automáticas.

Cuando la casilla de verificación Sugerencias de datos automáticas está seleccionada, puede comprobar el valor

de una variable o una expresión mientras el código está suspendido. Sitúe el puntero del mouse sobre una varia-

ble o expresión para que se muestre su valor actual.

Page 120: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

120 Referencia de funciones Págs. 155

Referencia de funciones En la siguiente referencia se enumeran todas las funciones en orden alfabético. Un doble asterisco (**) indica

que la función se agregó para Access 97.

A–C

Abs (VBA) Comando (Command)

AgregFecha (DateAdd) (VBA) CompCadena (StrComp) (VBA)

Ahora (Now) (VBA) Conmutador (Switch) (VBA)

Amortiz (DDB) (VBA) ConvCadena (StrConv) (VBA)

Año (Year) (VBA) Cos (VBA)

ArcTg (Atn) (VBA) CreateControl

Array (VBA) CreateForm

Cad (Str) (VBA) CreateGroupLevel

Cadena (String) (VBA) CreateObject (VBA)

Car (Chr) (VBA) CreateReport

CBool (VBA) CreateReportControl

CByte (VBA) Cronómetro (Timer) (VBA)

CCadena (CStr) (VBA) CSimple (CSng) (VBA)

CDec (VBA) CuadroEntr (InputBox) (VBA)

CDoble (CDbl) (VBA) CuadroMsj (MsgBox) (VBA)

CEntero (Cint) (VBA) Cuenta (Count) (DAO)

CFecha (Cdate) (VBA) CurrentDb

CLargo (CLng) (VBA) CVariante (Cvar) (VBA)

CMoneda (Ccur) (VBA) CVErr (VBA)

CodeDb CVFecha (CVDate) (VBA)

CódiogoCar (Asc) (VBA)

D–H

DBúsq (Dlookup) Elegir (Choose) (VBA)

DCont (Dcount) EnCad (InStr) (VBA)

DDE Ent (Int) (VBA)

DDEEnviar (DDESend) Entorno (Environ) (VBA)

DDEIniciar (DDEInitiate) Entrada (Input) (VBA)

DDEPedido (DDERequest) EOF (VBA)

DDesvEst (DStDev) Error (VBA)

DDesvEstP (DStDevP) EsFecha (IsDate) (VBA)

Der (Right) (VBA) EsNulo (IsNull) (VBA)

DesvEst (StDev) (DAO) EsNum (IsNumeric) (VBA)

DesvEstP (StDevP) (DAO) Espacio (Space) (VBA)

Día (Day) (VBA) EsVacío (IsEmpty) (VBA)

DíaSemana (Weekday) (VBA) Eval

DifFecha (DateDiff) (VBA) Exp (VBA)

Dir (VBA) Fecha (Date) (VBA)

DirAct (CurDir) (VBA) FileAttr (VBA)

DMáx (Dmax) Formato (Format) (VBA)

DMín (Dmin) FreeFile (VBA)

DoEvents (VBA) GetObject (VBA)

DPrim (DFirst) GUIDFromString**

DProm (DAvg) Hex (VBA)

DSuma (DSum) Hora (Hour) (VBA)

DÚltimo (DLast) HoraActual (Time) (VBA)

DVar HoraFechaArch (FileDateTime) (VBA)

DVarP HyperlinkPart

I–R

IMEStatus (VBA) MIRR (VBA)

Interés (IPmt) (VBA) NPer (VBA)

IRR (VBA) NPV (VBA)

IsArray (VBA) NúmAleat (Rnd) (VBA)

IsError (VBA) Nz

IsMissing (VBA) ObtenerAtributo (GetAttr) (VBA)

IsObject (VBA) ObtenerValor (GetSetting) (VBA)

Izq (Left) (VBA) ObtenerValores (GetAllSettings) (VBA)

LBound (VBA) Oct (VBA)

Ln (Log) (VBA) Pago (Pmt) (VBA)

Page 121: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 121

LoadPicture ParcFecha (DatePart) (VBA)

Loc (VBA) Partición (Partition) (VBA)

LOF (VBA) Ppago (PPmt) (VBA)

LongArch (FileLen) (VBA) Primero (First) (DAO)

Longitud (Len) (VBA) Promedio (Avg) (DAO)

Máx (Max) (DAO) QBColor (VBA)

Mayús (Ucase) (VBA) Raíz2 (Sqr) (VBA)

Medio (Mid) (VBA) Recortar (Trim) (VBA)

Mes (Month) (VBA) RecortarDer (Rtrim) (VBA)

Mín (Min) (DAO) RecortarIzq (Ltrim) (VBA)

Minús (Lcase) (VBA) RGB (VBA)

Minuto (Minute) (VBA)

S–Z

Seek (VBA) Tab (VBA)

Segundo (Second) (VBA) Tasa (Rate) (VBA)

Sen (Sin) (VBA) Tg (Tan) (VBA)

SerieFecha (DateSerial) (VBA) TypeName (VBA)

SerieHora (TimeSerial) (VBA) Ubound (VBA)

Shell (VBA) Último (Last) (DAO)

Signo (Sgn) (VBA) UsuarioActual (CurrentUser)

Silnm (IIf) (VBA) VA (PV) (VBA)

SinDec (Fix) (VBA) Val (VBA)

SLN (VBA) ValorFecha (DateValue) (VBA)

Spc (VBA) ValorHora (TimeValue) (VBA)

StringFromGUID** Var (DAO)

Suma (Sum) (DAO) VarP (DAO)

SYD (VBA) VarType (VBA)

SysCmd VF (FV) (VBA)

Referencia de instrucciones (Excepto las instrucciones SQL).

A–M

AppActivate (VBA) DeleteControl

Beep (VBA) DeleteReportControl

Call (VBA) DeleteSetting (VBA)

ChDir (VBA) Dim (VBA)

ChDrive (VBA) Do...Loop (VBA)

Close (VBA) End (VBA)

Const (VBA) Erase (VBA)

Date (VBA) Error (VBA)

DDE Exit (VBA)

DDEExecute FileCopy (VBA)

DDEPoke For Each...Next (VBA)

DDETerminate For...Next (VBA)

DDETerminateAll Function (VBA)

Declare (VBA) Get (VBA)

DefBool (VBA) GoSub...Return (VBA)

DefByte (VBA) GoTo (VBA)

DefCur (VBA) If...Then...Else (VBA)

DefDate (VBA) Input # (VBA)

DefDbl (VBA) Kill (VBA)

DefInt (VBA) Let (VBA)

DefLng (VBA) Line Input # (VBA)

DefObj (VBA) Lock (VBA)

DefSng (VBA) Lset (VBA)

DefStr (VBA) Mid (VBA)

DefType (VBA) MidB (VBA)

DefVar (VBA) MkDir (VBA)

N–Z

Name (VBA) Resume (VBA)

On Error (VBA) Return (VBA)

On...GoSub (VBA) RmDir (VBA)

On...GoTo (VBA) RSet (VBA)

Open (VBA) SaveSetting (VBA)

Option Base (VBA) Seek (VBA)

Option Compare (VBA) SelectCase (VBA)

Option Explicit (VBA) SendKeys (VBA)

Option Private (VBA) Set (VBA)

Print # (VBA) SetAttr (VBA)

Private (VBA) Static (VBA)

Property Get (VBA) Stop (VBA)

Property Let (VBA) Sub (VBA)

Property Set (VBA) Time (VBA)

Public (VBA) Type (VBA)

Put (VBA) Unlock (VBA)

Randomize (VBA) While...Wend (VBA)

ReDim (VBA) Width # (VBA)

Rem (VBA) With (VBA)

Reset (VBA) Write # (VBA)

Page 122: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

122 Funciones e Instrucciones por tarea de programación. Págs. 155

Funciones e Instrucciones por tarea de programación. Task type Description Function/Statement Arrays Declare and initialize array variables Dim, Global, ReDim, Static

Create Array (Function)

Reinitialize array variables Erase, ReDim

Find the limits of an array LBound, UBound

Change the defaault lower limit for array Option Base

Control of Pro-

gram flow

Create loops Do...Loop, Exit Do, Exit For, For...Next,

While...Wend

Handle errors On Error, Resume

Make decisions Choose, If...Then...Else, IIf, Select Case,

Switch

Exit or pause the program DoEvents, End, Stop

Conversion ANSI value to string Chr

String to ANSI value Asc

Number to string Format, Str

String to number Val

One numeric data type to another CCur, CDbl, CInt, CLng, CSng, Fix, Int

Decimal number to other radix string Hex, Oct

Date to serial number DateSerial, DateValue

Serial number to date Day, Month, Now, Weekday, Year

Time to serial number TimeSerial, TimeValue

Serial number to time Hour, Minute, Now, Second

Date/Time Get the current date or time Date, Now, Time

Set the date or time Date, Time

Time a process Timer

SQL dates DateAdd, DateDiff, DatePart

Domain Perform domain aggregate financial opera-

tions DAvg, DCount, DFirst, DLast, DMax,

DMin, DStDev, DStDevP, DSum, DVar,

DVarP

Dynamic data

exchange (DDE)

Use Access Basic as a DDE client DDEExecute, DDEInitiate

Use Access Basic to send data to a DDE

server DDEPoke, DDESend

Use Access Basic to request data from a

DDE server DDE, DDERequest

Terminate a DDE conversation DDETerminate, DDETerminateAll

Error handling Trap errors while a program is running On Error, Resume

Get error-status data Err, Erl

Get error messages Error

Simulate run-time errors Error

Inspecion of vari-

ables

Determine if a variable is a Date IsDate

Determine if a variable is a Empty IsEmpty

Determine is a variable is Null IsNull

Determine if a variable is numeric IsNumeric

Determine the underlying data type of a

Variant VarType

File input/ouput Access or create a file Open

Close a file Close, Reset

Write to a file Print #, Put, Write #

Control output appearance Spc, Tab, Width #

Read from a file Get, Input, Input #, Line Input #

Get information about a file EOF, FileAttr, FreeFile, Loc, LOF, Seek

Set or determine the read/write position in a

file Seek

Manage disk drives or directories ChDrive,ChDir, CurDir, MkDir, RmDir

Manage files Dir, Kill, Lock...Unlock, Name

Financial Perform financial operations DDB, FV, IPmt, IRR, MIRR, NPer, NPV,

Pmt, PPmt, PV, Rate, SLN, SYD

Graphics on

printed reports

Work with colors QBColor, RGB

Page 123: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 123

Draw a shape Circle, Line, PSet

Find the size of text TexHeight, TextWidth

Change the coordinate system Scale

Print trext Print

Object manipula-

tion

Display a dialog box InputBox, MsgBox

Math Perform general calculations Exp, Log, Sqr

Trigonometric functions Atn, Cos, Sin, Tan

Convert a number Fix, Int

Get the absolute value of a number Abs

Get the sign of an expression Sgn

Generate random numbers Randomize, Rnd

Operators Arithmetic *, +, -, \, /, ^, Mod

Comparison <, <=, >, >=, =, <>

Concatenation &

Logical And, Eqv, Imp, Not, Or, Xor

Pattern matching Like

SQL Is, In, Between...And

Procedures Define a procedure Function, Sub

Call a procedure Call

Exit a procedure Exit Function, Exit Sub

Daclare a reference to an external procedure

(DLL) Declare

Recorsets Ver Métodos por tarea de programación.

SQL Perform an SQL aggregate financial opera-

tion Avg, Count, First, Last, Min, Max, StDev,

StDevP, Sum, Var, VarP

Strings Format a string Format

Create a string of repeating characters Space, String

Work with ANSI values Asc, Chr

Manupulate a string InStr, Left, LTrim, Mid, Right, RTrim

Convert to lowercase or uppercase letters LCase, UCase

Left or right align a string LSet, RSet

Find the length of a string Len

Compare two strings StrComp

Variables and

constants

Declare a variable or constant Const, Dim, Global, Static

Set de default data type Deftype

Creat a user-defined type Type

Assign a variable to a recordset object Set

Miscellaneous Run another program AppActivate, Shell

Handle events DoEvents

Generate keystrokes SendKeys

Get command-line arguments Command

Find environment Environ

Sound a beep Beep

Evaluate an expression Eval

Determine a number‘s position in a range Partition

Referencia de métodos A–C

AccessError** Clone (DAO)

Add (VBA) Close (DAO)

Add (colección Pages)** Close

AddFromFile (objeto Module)**

CloseCurrentDatabase

AddFromFile (colección References)**

CommitTrans (DAO)

AddFromGUID** CompactDatabase (DAO)

AddFromString** CopyObject

AddNew (DAO) CopyQueryDef (DAO)

AddToFavorites** CreateDatabase (DAO)

N–Q

NewCurrentDatabase OpenReport

NewPassword (DAO) OpenTable

NextRecordSet (DAO) OutputTo

OpenConnection (DAO) PopulatePartial (DAO)

OpenCurrentDatabase Print (VBA)

OpenDatabase (DAO) Print

OpenForm PrintOut

OpenModule Pset

OpenQuery Quit (objeto DoCmd)

OpenRecordset (DAO) Quit (objeto Application)

R

Page 124: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

124 Métodos por tarea de programación (Recorsets). Págs. 155

Append (DAO) CreateEventProc**

AppendChunk (DAO) CreateField (DAO)

ApplyFilter CreateGroup (DAO)

Beep CreateIndex (DAO)

BeginTrans (DAO) CreateProperty (DAO)

BuildCriteria CreateQueryDef (DAO)

Cancel (DAO) CreateRelation (DAO)

CancelEvent CreateTableDef (DAO)

CancelUpdate (DAO) CreateUser (DAO)

Circle CreateWorkspace (DAO)

Clear (VBA)

D–F

DefaultControl FillCache (DAO)

DefaultWorkspaceClone Find**

Delete (DAO) FindFirst (DAO)

DeleteLines** FindLast (DAO)

DeleteObject FindNext (DAO)

DoMenuItem FindNext

Dropdown FindPrevious (DAO)

Echo (objeto DoCmd) FindRecord

Echo (objeto Application) Follow**

Edit (DAO) FollowHyperlink**

Execute (DAO)

G–M

GetChunk (DAO) Item (VBA)

GetOption Line

GetRows (DAO) MakeReplica (DAO)

GoToControl Maximize

GoToPage (objeto DoCmd) Minimize

GoToPage (objeto Form) Move (DAO)

GoToRecord MoveFirst (DAO)

Hourglass MoveLast (DAO)

Idle (DAO) MoveNext (DAO)

InsertLines** MovePrevious (DAO)

InsertText** MoveSize

Raise (VBA) RepaintObject

Recalc RepairDatabase (DAO)

Refresh (DAO) ReplaceLine**

Refresh Requery (DAO)

RefreshDatabaseWindow** Requery (objeto DoCmd)

RefreshLink (DAO) Requery (objeto Control o Form)

RefreshTitleBar Restore

RegisterDatabase (DAO) Rollback (DAO)

Remove (VBA) Run

Remove (colección Pages)** RunCommand**

Remove (colección References)** RunMacro

Rename RunSQL

Repaint

S–Z

Save ShowToolbar

Scale SizeToFit

Seek (DAO) Synchronize (DAO)

SelectObject TextHeight

SendObject TextWidth

SetFocus TransferDatabase

SetMenuItem TransferSpreadsheet

SetOption (DAO) TransferText

SetOption Undo

SetWarnings Update (DAO)

ShowAllRecords

Métodos por tarea de programación (Recorsets). Task Type Description Method OLE objects Manipulate OLE objects AppendChunk, Get Chunk

Record manipulation Add or delete a record AddNew, Delete

Make changes Edit

Save changes Update

Record positioning Move to a specific record FindFirst, FindLast, FindNext, Find-

Previous, Seek

Move to a relative record MoveFirst, MoveLast, MoveNext,

MovePrevious

Recordset manipulation Creat a recordset Clone

Close a recordset Close

Return information about a recordset ListFields, ListIndexes, ListParameters,

ListTables.

GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Procedures: Function: Return a value that can be used in a expression.

" Sub: Can't be used in an expression.

A module has a Declaration Section (default: Option Compare Database) and 1 or more Procedures in a logical

group.

Cada Módulo tiene ventana diferente y la ventana se puede dividir para ver varios de sus Procedures.

CTRL+ a previous procedure. CTRL+ next procedure. New upper line: CTRL+N. Cortar línea para pegar:

CTRL+Y.

Punto de inserción en palabra reservada: su Help con F1. También puntero de Ayuda con MAY+F1 para

Page 125: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 125

ayuda local.

F2 lista de Módulos y sus procedures. MAY+F2 va al procedure seleccionado.

Para sangría insertar/quitar: TAB o MAY-TAB.

Función Primer dia del mes siguiente actual:

Function DueDate()

DueDate=DateSerial(Year(Now),Month(Now)+1,1)

End Function

Utilización: Default value de campo (Vencimiento) =DueDate()

Control Source en Formulario: =DueDate()

Criterio de Consulta: <=DueDate()

Función para incluir un argumento (por ej.: especificar una fecha):

Function DueDate(anydate)

DueDate=DateSerial(Year(anydate),Month(anydate)+1,1)

End Function

Ahora dentro del paréntesis se puede especificar una fecha: =DueDate([Order Date])

Más de un argumento, separar con comas, y no son opcionales.

Comenzar comentarios en cualquier línea con apóstrofe: '

Ejecutar Acciones y Macros: DoCmd nombre acción/macro [arg]

Para realizar acciones de macros desde código en Access 97, use el objeto DoCmd y sus métodos.

DoCmd Echo False, "Screen Updating Off" (Echo tiene dos argumen-

tos)

DoCmd Close 2, "Add Products" (dos argumentos, Formulario , Add

Products)

Los arg. se separan con comas (2 significa tipo objeto Formulario según orden de acción Close en una macro,

siendo 0 Tabla, 1 Consulta, 2 Formulario, 3 Informe, 4 Macro y 5 Módulo).

Pueden ser opcionales, pero poniendo comas: DoCmd MoveSize ,,5000,3000

docmd openform "customers"

docmd openreport "catalog"

docmd close a_form, "customers"

docmd close a_report, "catalog"

Ver Pág 131.

Acciones de macro que no tienen métodos DoCmd equivalentes:

AgregarMenú No tiene equivalente

CuadroMsj Función MsgBox

EjecutarAplicación Función Shell

EjecutarCódigo Llamada a procedimiento (instrucción Call)

EnviarTeclas Instrucción SendKeys

EstablecerValor Instrucción de asignación (instrucción Let)

DetenerTodasMacros Instrucciones Stop o End

DetenerMacro Instrucciones Exit Sub o Exit Function

Sub Procedures: Se crean igual que Function.

No lleva variables ni retorna valor.

Sub SizeIt(DocWidth,DocHeight)

DoCmd MoveSize ,,DocWidth,DocHeight

End Sub

Utilizar: SizeIt 5000,3000 (No necesario primeras comas)

Al llamar a una Sub los argmentos NO se ponen entre paréntisis.

Private. Anteponer a Sub o Function para utilizar sólo en el mismo módulo.

Salir de Sub proc. y Function: Exit Sub o Exit Function

Depuración:

Utilizar Option Explicit en la Sección Declaraciones de cada módulo, para declarar las variables y evitar errores

de definición.

Parar: poner un 'Stop' (instrucción) donde se quiera o poniendo un Punto interrupción (botón 'mano' –F9 toggle-,

se elimina al cerrar) en la línea en que se esté, que quedará encuadrada y donde se parará. En negrita indica Pun-

to de interrupción, encuadrado significa instrucción actual o próxima a realizar.

Page 126: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

126 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

En una misma línea se pueden poner más de una instrucción, separando con dos puntos (:), pero el Punto inte-

rrupción sólo en la primera.

Borrar todos los puntos de interrupción: CTRL+MAY+F9.

Para iniciar ejecución o seguir, F5.

Paso a paso: F8.

Paso a paso por procedimiento: los saltos a procedimientos como si fueran una instrucción, a mismo nivel es

Paso a Paso.

Ejecutar hasta cursor (hacia delante o atrás) CTRL+F8

Para recomenzar donde se quiera después de parada (atrás o delante): ir a donde se quiera continuar y F5.

Panel inmediato: (Ventana de Depuración) CTRL+S para saber inmediatamente resultado de expresiones y valo-

res de campos, controles, propiedades. Sólo evalúa una línea de código (usar los : (dos puntos)). Hay que poner

antes 'Print' (-o ?). Anteponer también Debug si se está fuera del Panel inmediato.

Debug.Print DueDate(Now) Respuesta: 23-3-98 (Desde la venta módulo)

El signo de interrogación es idéntico a 'Print' siempre.

Desde Panel inmediato: ?weekday(duedate(now)) Respuesta: 6 (viernes, siempre america-

no).

Si son proc. Sub no lleva Print ó ? porque no devuelve valor: sizeit 5000,3000

Para probar el For... Next completo: for I=1 to 20 : 2*I : next I

? forms! [sales reps].recordsource

Mostrar valores: Debug.? [items] [;]

function duedate(anydate)

'this function calculates and returns the date of the first day

of the month 'following the supplied date.

debug.? "Year "; year(anydate); ", Month "; month(anydate)

duedate=dateserial(year(anydate), month(anydate)+1,1)

end function

En ventana de depuración: ? duedate(now)

Respuesta: Year 1997, Month 11

1/12/97

No es necesario para ejecución, pero la ventana Panel inmediato debe estar abierta para ver respuesta.

Las instrucciones con punto de interrupción muestran valor de su argumento en la ventana Panel inmediato.

Línea Duedate de arriba mostraría, con ?Anydate Respuesta: 1/12/97

Sólo muestra variables de la proc. vigente (o que sea Global).

También se usa para dar valores de prueba:

forms![sales reps]!title="Sales Executive" (control)

forms![sales reps]!title.visible=false (propiedad)

maxrows=50 (variable)

INTRO en la línea de instrucción la vuelve a ejecutar (después de editarla). Moverse con las flechas. Con

INTRO (ejecutar) borra las 2da y 3ra líneas. Poner ; (punto y coma) al final de línea de INTRO para no borrar

3ra.

Variables

Se crean autom. con un nuevo nombre, pero mejor Dim YearVar, MonthVar.

Con Dim o sólo con nombre: válido sólo para proc. mientras en ejecución.

Declaración variables:

Function DueDate(AnyDate) 'obligatorio especificar alguna fecha.

Ej. de 'arriba seria fecha actual

Dim YearVar, MonthVar 'esta línea es opcional. En dos formas

'variables sólo para este proc.

YearVar=Year(AnyDate)

MonthVar=Month(AnyDate)+1

DueDate=DateSerial(YearVar,MonthVar,1)

End Function

ó

Function DueDate(AnyDate)

DueDate=DateSerial(Year(AnyDate),Month(Anydate)+1,1)

End Function

Por Default, todas las Variables son Variant (Num/fecha/texto). Si se sabe que sólo será de un tipo, mejor

declarar el tipo. (Dim A as integer)

Page 127: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 127

Variables y Tipos de Datos:

Option Explicit en Declarations of a Module no permite crear variables sin Dim o Global.

Dim en procedimiento: local al procedimiento. (Se puede repetir nombre en otros y serán independientes)

Dim en Declar. de Module: sólo en ese módulo.

Global en Declar. de Module: global, todos los módulos y procedimientos. Conveniente declarar en un solo

módulo.

Con mismo nombre, tienen preferencias las variables más locales.

Nombres de Procedimiento siempre son Globales, a menos que se declaren Private, que sólo estarán disponible

a su módulo.

Al salir de una proc. con var. locales, éstas quedan a 0. Para no borrarlas así, declararla Static en vez de Dim.

Function RunningTotal(num)

Static Accumulate

Accumulate=Accumulate+num : RunningTotal=Accumulate

End Function

Para declarar todas las variables Static en procedimiento, no importa si declaradas después Dim:

Static Function RunningTotal(num)

Variable type by Default: Variant (num/texto/fecha):

X="17" : X=X-15 : X="U" & X Valor de X: "U2"

Con isnumeric() y isdate() se sabe si son sólo num. o fecha para operaciones.:

if isnumeric(x) and isnumeric(y) then

z=x*y : else : z = null : end if

function century() 'fecha actual

t=now : if t>=#1-1-2001# then : century=21

else : century=20 : end if

end function

function century(anydate)

if isdate(anydate) then century ((year(anydate)-1)\100)+1

else : century=null : end if

end function

Para saber si Variant no tiene valor (ni null, ni 0, ni "", antes de asignarle algo, es IsEmpty()):

if isempty(x) then z=0

Sólo tipo Variant puede ser Null (Z=Null) (If IsNull(Z)). Variant numérico es tipo Double.

Integer: entero -32000 hasta +32000

Long: entero -2147 mill a +2147 mill.

Single: decimales grande: 4 bytes

Double: decimales muy grande: 8 bytes

Currency, String

dim a as integer, amt as double

dim yourname as string, fechacobro 'sin especificar en Va-

riant,aquífecha.

dim test, b as single, amount

Más rápido y menos memoria utilizando tipo apropiado.

Convertir a Integer o Long siempre redondea.

String: S="database" S=left(s,4) 'dá "data"

dim empname as string*50 'dá 50 caracteres fijos, no

'importa largo nombre

Option Compare (binary, database, text) en el módulo determina resultado de comparaciones entre tipos.

Binary es default.

Tipo campo Compatible Acces Basic

Autonumérico Long

Fecha/hora Double

Yes/no Integer

Etc.

function reverse (S as string, n as integer)

‘reverses the frst n characters in S.

dim temp as string, i as integer

Page 128: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

128 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

if n > len(s) then n=len(s)

for i=n to 1 step -1

temp=temp+mid(s,i,1)

next

reverse=temp+right(s,len(s)-n)

end function

(Ver también Objetos como argumentos)

Los argumentos de procedures admiten definir el tipo, pero si se definen siempre serán de ese tipo y ni admitiría

cambio a Variant. Un arreglo es anteponer ByVal en definiciones que no sean Variant.

function reverse (s as string, byval n as integer) 'n podría intro-

ducirse

'tipo Variant.

Sin no tuviera ByVal arriba, lo siguiente daría error: n="4" : debug.? reverse(v,n) 'e-

rror

Otro arreglo, convertir en expresión poniendo entre paréntesis: debug.? reverse(v,(n)). Se eva-

luará la expresión y pasará el tipo requerido. Con () es la forma más sencilla de convertir variable en expresión.

Las funciones devuelven por default el tipo Variant. Si no tiene valor (Ni Null, 0, ―‖) da Empty Variant. Para

definir la devolución de otro tipo (para rapidez de Access):

Function reverse (S as string, byval n as integer) as string 'sin

valor, sería ""

Matrices (Arrays)

Conjunto de elementos que tienen el mismo tipo de datos y que están ordenados secuencialmente. Cada elemento

de una matriz posee un número de índice único que lo identifica. Los cambios efectuados a un elemento de una

matriz no afectan a los demás elementos.

Se crean igual que Variables. (Ver Función Array)

Declaration Section de Module: dim counters (1 to 15) as integer

dim sums (100 to 120) as string

Para Global, cambiar Dim por Global. Cambiar a Static para dentro de una procedure.

Todos los elementos poner a 5 (los 15):

static counters (1 to 15) as integer

dim I as integer

for I=1 to 15 : counters(I)=5 : next

De varias dimensiones (ej. valorar cada uno según su localización):

dim I as integer, j as integer

static matrixa (1 to 10, 1 to 15) as double '150 elementos

for i=1 to 10

for j=1 to 15

matrixa(i,j)=i*10+j

next j

next i

Para Dynamic Arrays (tamaño autom. según utilización) ver ReDim en Ayuda..

Constantes.

A diferencia de Variables, son datos fijos.

const pi=3.1416, max_planets=9

const word_pop =6E+=9, pi2=pi*2

En uso: static solarsystem(1 to max_planets) 'array

if numpeople > word_pop then exit sub

const release_date = #30-11-97#

Declarar para toda la aplicación: Global const en Declaraciones de módulo.

Variables de objeto

dim femploy as form, cbirth as control

set femploy=forms!employees

set cbirth=femploy![birth date]

Tipos: database, form, report, control, querydef, table, dynaset, snapshot.

Dynaset es tabla o resultado de consulta, actualizable. Snapshot igual, pero no actualizable.

Table, Dynaset y Snapshot son Recordset variables.

Tipos especiales: Screen (formulario, informe o control actual) y Debug (imprimir Panel inmediato).

Los objetos deben estar abiertos. Con Set se hace referencia al objeto real.

dim x as control, y as control

set x=forms!employees!age

Page 129: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 129

set y=x : x=x*2 'variable de control y también queda *2

dim anyform as form, anycontrol as control

set anyform=forms![customers]

set anycontrol=anyform![Cust ID]

dim visvar, salcontrol as control

set salcontrol=forms!Employees!salary

visvar=salcontrol.visible 'asigna el valor de la propiedad Visible.

Después:

visvar=false 'o true, no ver o ver.

Sería lo mismo que:

Forms!employees!salary.visible=false

Variable con el nombre del objeto (poner entre ()):

dim someform, formvar as form

someform=inputbox("What form?")

set formvar=forms(someform)

Lo siguiente es equivalente:

set formvar=forms("employees") 'entre comillas es nombre

literal.

set formvar=forms!employees

The Count property (Forms and Reports) returns the number of each control (0 to n-1).

Listar Controles de un formalario:

dim formvar as form, somecontrol

set formvar=forms!employees

for somecontrol=0 to formvar.count –1

'la propiedad Count va de 0 a n-1 (-1 no es incremento,

que es 1)

debug.? formvar(somecontrol)

next somecontrol

Listar Formularios. Ver si está cargado un formulario.

function isloaded(myformname) 'para ver si está cargado un formula-

rio

dim i

isloaded=false

for i=0 to forms.count -1

if forms(i)!formname=myforname then isloaded=true : exit func-

tion

next

end function

Objetos predefinidos

Forms and Reports are predifined objects that contains all the open forms and reports in a database. Each form

and report also has a predefined object called Dynaset, which contains all the fields in the dynaset underly-

ing the form or report.

debug.? forms![my form].Dynaset![Field 1]

Con dynaset se utiliza el punto porque es objeto definido por Access. El ! se utilizado sólo con objetos creados.

Subformulario (objeto Form): Poner Visible a SubForm en control Container de Form TopForm:

debug.? forms!topform!container.form!subform.visible Ver Pág 134.

Métodos de Objetos.

Method is a special statement or function that operates on a specific object. Objects have members, properties

and methods.

Sintaxis: object.method[(arglist)]

Las propiedades y los métodos utilizan el punto. Los métodos se distinguen porque usualmente tienen argumen-

tos.

Ej métodos: createdynaset y movenext

dim mydb as database, results as dynaset

Page 130: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

130 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

set mydb=currentdb()

set results = mydb.createdynaset("Final Query")

do until results.eof : results.movenext : loop

' No arguments in movenext method, don't return value.

Print en realidad en un método de Debug, al igual que lo puede ser de Reports.

Objectos como argumentos en Procedimientos.

Una función solo devuelve tipos básicos como Variant o Integer, pero un procedemiento tanto function como sub

puede aceptar objetos como argumento. Para pasar un control como argumento, definirlo:

sub flipvisitibility (c as control)

c.visible=not c.visible

end sub

También Variant admite Controles como argumento:

function reverse(s as variant, byval n as integer) 'reverses the

first n

'characters in S.

dim temp as string, i as integer

if n > len(s) then n = len(s)

for i = n to 1 step - 1

temp= temp + mid(s, i, 1)

next

reverse= temp + right(s, len(s) - n)

end function

Llamar:

debug.? reverse(forms!customers![company name],6)

Control de Errores durante ejecución.

True: -1, False: 0

function fileexists(filename)

dim msg

on error goto checkerror

fileexists=(dir(filename) <> "") 'use Dir to see if file exists

exit function

checkerror:

const mb_esclaim=48, mb_stop=16, mb_ok_cancel=1, button_ok=1

' constantes de tipos de mensajes.

if err=71 then 'disk not ready

msg="Put a floppy disk in the drive and close the drive door."

'display message box with an exclamation mark icon and with OK

and

'Cancel buttons.

if msgbox(msg, mb-exclaim + mb-ok-cancel)=button-ok then

resume 'vuelve misma instrucción de error

else

resume next 'siguiente al error

end if

elseif err= 68 then 'device unavailable

msg="This drive or path does not exist: "+ filename

msgbox msg, mb-exclaim

resume next

else

msg="Unanticipated error number"+str(err)+ " occurred: "+ error

'display message box with stop sign icon and OK button

msgbox msg, mb_stop

stop

end if

resume 'vuelve a la línea del error.

end function

Page 131: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 131

On Error sigue activo hasta Exit Sub/Function o End Sub/Function (o On Error Goto 0).

Resume va a la línea del error, con Resume Next, a la siguiente.

Resume line vuelve a número de línea o a etiqueta de línea.

function divide (number, denom)

const mb-exclaim=48

const err-div0=11, err-overflow=6, err-illfunc=5

on error goto mathhandler

divide=numer/denom

exit function

mathhandler:

if err=err_div0 or err=err_overflow or err=err_illfunc then

divide=null

else

msgbox "Unanticipated error "& err & ": " & error, mb-exclaim

end if

resume next

end function

function verifyfile()

dim nl, prompt, msg, filespec

nl=chr(13) & chr(10) 'carriage return-linefeed combination (new

line)

prompt="Enter file specification to check:"

starthere:

filespect="*.*" 'start with default

msg=msg & nl & prompt 'let the user modify the default

filespect=inputbox(msg, "file Search", filespec,100,100)

if filespec="" then exit function 'user enters nothing

on error goto handler

verifyfile= dir(filespec)

exit function

handler:

select case err

case 64, 52 'invalid, bad filename

msg="Your file spec was invalid. Try another."

case 71 'drive door open

msg="Close the disk drive door and try again."

case 68

msg="The drive you spec was not found. Try again."

case else

error err 'statament (error err) para errores no contempla-

dos. También se 'puede utilizar un procedimiento propio

de último recurso, o un Stop.

end select

resume starthere

end function

Para inhabilitar la captura de errores en cualquier momento: On Error goto 0

Códigos con Formularios e Informes

En propiedad OnPush =RemoveIt(0) (sin = sería macro, no función)

La propiedad de evento sólo admite llamada a funciones, ignorando valor devuelto. Nunca a Sub.

En diseño se puede cambiar cualquier propiedad. En otra vista sólo:

Enabled: si un control puede estar enfocado en vista formulario.

Locked: si permite cambios en los datos en vista formulario.

Visible: muestra o esconde un control o sección.

Updating Forms:

DoCmd para ejecutar casi cualquier acción.

Para realizar acciones de macros desde código en Access 97, use el objeto DoCmd y sus métodos.

Page 132: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

132 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

docmd repaintobject a_form,"myform" 'para forzar actualización

inmediata de propiedad. También se utiliza para mensaje inmediato,

como "Processing" o"Please wait" en un Cuadro de Texto.

Mostrar inmediatamente cambios (Requery, display most current data):

docmd requery "mycontrol"

Records refreshed in a multiuser environment:

docmd domenuitem a_formbar, a_recordsmenu, a_refresh

En Access 97, la acción EjecutarComando reemplaza a la acción EjecutarElementoMenú (DoMenuItem).

Crear listas para Cuadro de Lista/Combinado:

Function functioname(fld as control,id,row,col,code)

Argument Description

fld A control var that refers to the list box or combo box being filled.

id A unique value that identifies the control being filled; useful when you want to use the

same list function for more than one list box of combo box and distinguish between them.

row The row being filled in the list box (0-based).

col The column being filled in the list box (0-based).

code (código) A value that specifies the kind of info being requested.

Se utilizan llamadas repetidas a la función con diferentes code, según necesario.

Puesto que Access llama a una función definida por el usuario varias veces para insertar elementos en una lista, a

menudo es necesario preservar la información de una llamada a otra. La mejor forma de hacer esto es utilizar

variables Static.

Access llama repetidamente a la función definida por el usuario utilizando valores diferentes en el argumento

código para especificar la información que necesita. El argumento código puede utilizar las siguientes constantes

intrínsecas (propias objetos Access)..

Constante Significado Valor devuelto por la función

acLBInitialize Inicializar No-cero si la función puede rellenar la lista; False (0) o Null en caso

contrario.

AcLBOpen Abrir Valor de Id. no-cero si la función puede rellenar la lista; False o Null

en caso contrario.

acLBGetRowCount Número de filas Número de filas en la lista (puede ser cero); -1 si desconocido.

AcLBGetColumnCount Número de columnas Número de columnas en la lista (no puede ser cero); debe

coincidir con la configuración de la hoja de propiedades.

acLBGetColumnWidth Ancho de la columna Ancho (en twips) de la columna especificada por el

argumento col; -1 para utilizar el ancho predeterminado.

AcLBGetValue Entrada de lista Entrada de la lista para ser mostrada en la fila y columna especificda

por los argumentos fila y col.

acLBGetFormat Cadena de formato Cadena de formato para ser utilizada para dar formato a la

entrada de la lista mostrada en la fila y columna especificada por los argumentos fila y

col; o -1 para utilizar el formato predeterminado.

acLBEnd Fin (la última llamada a una función definida por el usuario siempre utiliza este valor)

Nada.

La siguiente función definida por el usuario devuelve una lista de los siguientes cuatro Lunes que siguen a la

fecha de hoy. Para llamar a esta función desde un control cuadro de lista, introduzca ListarLunes como el

valor de la propiedad TipoDeOrigenDeLaFila (RowSourceType), sin paréntesis ni argumentos ni el signo

=, y deje en blanco el valor de la propiedad OrigenDeLaFila (RowSource).

Function ListarLunes(fld As Control,id As Variant,fila As Vari-

ant,col As Variant,código As Variant) As Variant

Dim intOffset As Integer

Select Case código

Case acLBInitialize ' Inicializar.

ListarLunes = True

Case acLBOpen ' Abrir.

ListarLunes = Timer ' Generar Id única para

control.

Case acLBGetRowCount ' Obtener número de filas.

ListarLunes = 4

Case acLBGetColumnCount ' Obtener número de co-

lumnas.

ListarLunes = 1

Page 133: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 133

Case acLBGetColumnWidth ' Obtener ancho de colum-

na.

ListarLunes = -1 ' -1 fuerza el uso de ancho prede-

terminada.

Case acLBGetValue ' Obtener los datos.

intOffset = Abs((9 - Weekday(Now))Mod 7)

ListarLunes = Format(Now() + intOffset + 7 *

fila,"mmmm d")

End Select

End Function

El siguiente ejemplo utiliza una matriz estática para almacenar los nombres de las bases de datos en el directorio

actual. Para llamar a esta función, introduzca ListMDBs como el valor de la propiedad TipoDeOrigenDeLaFila

(RowSourceType) y deje en blanco el valor de la propiedad OrigenDeLaFila (RowSource).

Function ListarMDBs(fld As Control, id As Variant, fila As Variant,

col As Variant, código As Variant) As Variant

Static dbs(127)As String, Entradas As Integer

Dim ValorDevuelto As Variant

Dim ValorDevuelto

ValorDevuelto = Null

Select Case código

Case acLBInitialize ' Inicializar.

Entradas = 0

dbs(Entradas ) = Dir("*.MDB")

Do Until dbs(Entradas) = "" Or Entradas >= 127

Entradas = Entradas+1

dbs(Entradas) = Dir

Loop

ValorDevuelto = Entradas

Case acLBOpen ' Abrir.

ValorDevuelto = Timer ' Generar Id única para con-

trol.

Case acLBGetRowCount ' Obtener número de filas.

ValorDevuelto = Entradas

Case acLBGetColumnCount ' Obtener número de co-

lumnas.

ValorDevuelto = 1

Case acLBGetColumnWidth ' Ancho de columna.

ValorDevuelto = -1 ' -1 fuerza el uso de anchopre-

determinada.

Case acLBGetValue ' Obtener datos.

ValorDevuelto = dbs(fila)

Case acLBEnd ' Fin.

Erase dbs

End Select

ListarMDBs = ValorDevuelto

End Function

Variables de Formularios e Informes

Ver si visible o no:

dim f as form

set f=forms![products and suppliers]

if f.visible then : msgbox f.formname & " is visible."

Else : msgbox f.formname & " is not visible."

end if

También: f.visible=false 'para establecer.

El formulario o informe debe estar abierto para referirse a él con una variable. Para ver si está abierto: Pág 129.

Ver todos los reports abiertos:

for i=0 to reports.count-1

debug.? reports(i).reportname

Page 134: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

134 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

next i

Para abrir:

docmd openform "customers"

docmd openreport "catalog"

Para cerrar:

docmd close a_form, "customers"

docmd close a_report, "catalog"

Objetos predefinidos.

Además de objetos Forms y Reports (Ver Pág 129), el objeto Screen:

Screen property Object referred to

Screen.ActiveControl Control on the active form that has the focus (if any)

Screen.ActiveForm Form that is active (is any)

Screen.ActiveReport Report currently printing or being previewed (if any)

El nombre del control activo:

function currentctrl()

currentctrlname=screen.activecontrol.controlname

' si fuera formulario: currentformna-

me=screen.activeform.formaname

debug.? currentctrlname

end function

No se puede depurar o probar código de objetos Screen ya que debe estar enfocado el formulario, informe o

control Se puede ejecutar con el nombre de función precedido del signo = en una propiedad de evento, como

OnPush o OnPrint.

Este ejemplo utiliza el objeto Pantalla (Screen) para mostrar el nombre del formulario de la ventana activa y del

control activo en ese formulario:

Sub ObjetosActivos()

Dim frm As Form, ctl As Control

' Retorna un objeto Form que representa al formulario ac-

tivo.

Set frm = Screen.ActiveForm

MsgBox frm.Name & " es el formulario activo."

' Devuelve un objeto Control que representa al control

activo.

Set ctl = Screen.ActiveControl

MsgBox ctl.Name & " es el control activo " _

& "de este formulario."

End Sub

Otros Objectos

Property Use

Parent For subforms and subreports, provides the form object of

the main form.

Form On forms, provides the active form object.

Report On reports, provides the active report object.

Dynaset On forms, provides the recordset containing the records for

the form.

Bookmark In Visual Basic, provides a randomly created string that

uniquely indentifies each record in a recordset.

Referirse a un control del formulario principal activo.

Command button en Subform con OnPush =displaypercent(form)

function displaypercent (f as form)

dim discountpercent, discountamount

discountpercent=f.parent![discount percent]

discountamount=discountpercent*f.[subtotal]

...

end function

Las propiedades Form y Report (diferente a objetos Forms y Reports) se puede utilizar como parámetro de una

función. Utilizar para referirse a objeto que no sea el activo. También se pueden utilizar en lugar de Scre-

en.activeform o Screen.activereport para referir a un subform o subreport.

Marcador (Bookmark)

Page 135: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 135

Marcar un registro para volver (sincronizar datos de Access Basic con el del formulario/informe):

Propiedad del objeto Recordset o de un formulario que contiene una cadena generada por el sistema que identifi-

ca el registro activo. Si asigna el valor de Bookmark a una variable y después se mueve a otro registro, puede

volver a convertir el registro anterior en el registro activo, configurando la propiedad Bookmark con esa variable

de cadena.

dim mydyna as dynaset

set mydyna = forms!categories.dynaset

mydyna.bookmark=forms!categories.bookmark

Para volver:

forms!categories.bookmark=mydyna.bookmark (Recordar: el primero se valora al segun-

do).

Ver Pág 140.

Variables de Control

Dar valor o propiedad.

dim f as form

set f=forms!customers

f!city="Madrid"

f!city.locked=true

Recorrer los controles:

function listcontrols(r as report)

dim r as report, i

for i=0 to r.count - 1

debug.? r(i).controlname

next i

end function

Asociar variable a un control:

dim c as control

set c=forms!customers!city

c="Madrid"

c.locked=true

Controles como argumentos:

function togglevisible(c as as control)

c.visible=not c.visible

end function

Pasar valores apropiados:

function inittext (ctext as control)

'pasarle: inittext (forms!customers![contact name])

ctext="Unknown" 'Sólo a controles que acepten texto (Texto o Eti-

queta)

end function

Tipo de Control

Statement: If TypeOf control is controltype then

controltype: boundobjectframe, checkbox, combobox, commandbutton, graph, label, line, listbox, object-

frame, optionbutton, optiongroup, pagebreak, rectangle, subform, subreport, textbox, togglebutton.

control declared as control:

if x =3 then x=5

elseif typeof thiscontrol is label then thiscontrol.visible=false

end if

Ponerle "Unknown" a todos los Cuadros de Texto

function initcontrols(f as form)

dim c as control, i

for i=0 to f.count - 1

set c=f(i)

if typeof c is texbox then c="Unknown"

elseif typeof c is label then c.visible=false

endif

next

end function

Page 136: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

136 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

Como TypeOf no puede llevar Not:

if typeof thiscontrol is textbox then 'en blanco

else

this control.visible=false

end if

Métodos Gráficos

Methods:

Circle Draws empty or filled arcs, circles, and ellipses.

Line Draws lines and empty or filled boxes

Print Draws text

PSet Draws points

Scale Changes the scale units used by the other graphics methods

TextHeight Returns the vertical height of the specified text in the current scale units.

TextWidth Returns the horizontal width of the specified text in the current scale units.

Categorias y sus Propiedades:

Current drawing location CurrentX, CurrentY

Drawing techniques DrawMode, DrawStyle, DrawWidth

Filling techniques FillColor, FillStyle

Scaling techniques ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight, ScaleMode

Ver cada método en Ayuda.

Para Impresión en Color, ver Ayuda para "RGB" o "QBColor"

Tratamiento de Datos

Objecto como base de datos actual

dim db as database

set db=currentdb()

Abrir otra base de datos

set db=opendatabase("nwind.mdb")

Sólo se pueden utilizar sus Tablas y Consultas.

db.close para cerrar. También se cierra automáticamente al cerrar su ámbito, pero mejor explícito.

Variables de objetos

Variables Tabla: most up-to-date. Refleja todos los cambios. No permite Sort o Filter, pero sí reordenar con

Index ya creados.

Variables Dynaset: Más flexible, pero no refleja cambios inmediatos. Permite datos sobre tablas y consultas;

también Sorts y Filtros. Cambios se ven al abrir de nuevo. Muchos Dynaset se pueden referir a los mis-

mos datos (tabla, consulta, otra dynaset)

Variables Snapshot: Copia fija de Tabla, Dynaset, Query u otro Snapshot.

Variables Tabla

dim db as database, tablevar as table

set db=opendatabase("nwind.mdb")

set tablevar=db.opentable("customers")

Vista real actualizada de la tabla. No se puede filtrar ni reordenar. Ver Reordering.

No se puede crear nueva tabla (excepto con make-table query).

Crear variables Dynaset

De Tabla o Consulta.

dim dsdyna as dynaset

set dsdyna=db.createdynaset("customers") 'Customers es tabla, y

podría ser

'Consulta existente.

Para Dynaset nueva, utilizar SQL string (se puede copiar de una Consulta).

sql="select * from Employees where employees![city]="London";"

set dssomedata=db.createdynaset(sql) 'sólo hasta primer regis-

tro,

Ver Pág 144, Variables QuerDef .

Asignar Dynaset del formulario:

dim f as form, ds as dynaset

set f=forms("employees")

set ds=f.dynaset

Page 137: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 137

Asignar Dynaset de Formulario corriente (actual) a variable:

dim dscurrentform as dynaset

set dscurrentform=screen.activeform.dynaset

Crear Dynaset con otra:

dim db database, dssomedata as dynaset, dsotherdata as dynaset

set db=currentdb()

set dssomedate=db.createdynaset("sales for 1991")

set dsotherdata=dssomedata.createdynaset()'permite reordenar y re-

stringir

'registros antes con las propiedades Sort y Filter.

Crear variables Snapshot

Crear Snapshots es similar a Dynasets.

dim db as database, dssomedata as dynaset

dim snap1 as snapshot, snap2 as snapshot

set db=currentdb()

st dssomedata=db.createdynaset("Sales for 1991")

set snap1=dbsomedata.createsnapshot()

set snap2=snap1.createsnapshot()

Cerrar variables recordset

Igual que con Database variables.

Cerrar: tablevar.close dssomedata.close snapdata.close

Cerrar una dynaset que se refiere a un dynaset de formulario no tiene efecto en ésta.

Utilizar variables Recordset (Tables, Dynasets and Snapshots)

Acceder a datos:

Set dssomedata=db.createdynaset("employees")

debug.? dssomedata![last name], dssomedata![city]

Equivalentes, pero la primera es la más rápida:

Curbirthday=dssomedate![birthdate]

curbirthday=dssomedate("birhdate") 'referencia al nombre del con-

trol.

fieldname="birthdate" : curbirthday=dssomedata(fieldname)

Sólo las Variant permiten Null, por tanto es la mejor para guardar un campo.

Así sólo se pueden leer y mostrar los valores de estos campos. Para cambiar valores utilizar los Edit y Update

methods.

Ir a registros:

MoveFirst, MoveLast, MoveNext, MovePrevious.

En el último registro, MoveNext pone EOF=True y registros actual indefinido. Otro MoveNext daría error.

Igual con MovePrevious y el primer registro. Si no existen registros, BOF y EOF are True.

Registro a registro (sólo como ilustración, ver abajo):

sub moveforward()

dim db as database, ds as dynaset

set db=currentdb()

set ds=db.createdynaset("Employees") 'los Dynaset siempre se crean

do until ds.eof

debug.? ds![last name], ds![title]

ds.movenext

loop

ds.close

end sub

En vez de ir de uno en uno como en ej. anterior, utilizar Action Queries con "QueryDef" variables, o los Find o

Seek Methods (ver delante).

Ordenar, clasificar registros

Con tablas sólo se pueden utilizar índices ya creados.

sub indextext()

dim db as database, t as table

set db=currentdb()

set t=db.opentable("customers")

debug.? t![company name] 'primera según primary key o random

t.index="city" 'nombre del índex ya existente (siempre).

Page 138: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

138 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

debug.? t![company name] ' primera según índice de city.

t.close

end sub

No se puede crear índices para tablas. Para ver existentes: ListIndexes method.

Para ver en otro orden, crear Dynaset :

dim db as database, somedata as dynaset, sorteddata as dynaset

set db=currentdb()

set somedata=db.createdynaset("products")

somedata.sort="[category id], [product name]"

set sorteddata=somedata.createdynaset()

somedata.sort="[category id], [unit price] desc, [supplier id]"

set sorteddata=somedata.create dynaset()

Utilizar la misma variable para ordenar:

snapdata.sort="[product name]"

set snapdata=snapdata.createsnapshot() 'igual, pero con sort.

Puede ser más eficiente crear una Consulta (QueryDef,. Action Queries) que crear una Dynaset of Snapshot y

hacerle sort o filtro.

Filtrar, consultar

Similar a Ordenar.

Set snapdata=db.createsnapshot("sales for 1996")

snapdata.filter="[category name]='Beverages'"

set snapdata=snapdata.createsnapshot()

q.filter="employess![last name]>'M' and employees![country]='USA'"

q.filter="employees.[last name]=""O'Keane""" 'ver comillas

dim db as database, somedata as dynaset, sorteddata as dynaset

set db=currentdb()

set somedata=db.createdynaset("products")

somedata.filter="[quantity per unit] like '*box*'"

somedata.sort ="[category id], left([product name], 1)"

set sorteddata=somedata.createdynaset()

Los filtros no se pueden aplicar a Tablas. Crearle una Dynaset.

Es más eficiente para filtrar crear una nueva Consulta (QuerDef, Action Queries), que crear una Dynaset y fil-

trarla, a no ser que ya exista.

Modificar registros

Ej. siguiente más eficiente con Consulta de actualización. En general es más rápido y eficiente utilizar Que-

ryDef con sentencias SQL que los siguientes ejemplos de consultas de acción. También con las de selec-

ción. Ver Pág 144.

Utilizar Edit para preparar el registro. Después cambiarlo y utilizar Update para guardar los cambios.

Cambiar en todos un valor por otro.

sub replacecountry(oldvalue, newvalue)

dim db as database, t as table

set db=currentdb()

set t=db.opentable("customers")

do until t.eof

if t!country=oldvalue then : t.edit : t![country]=newvalue :

t.update

t.movenext

loop

t.close

end sub

Cambiar sin Edit, da error. Sin Update no cambia.

Page 139: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 139

Ej. de campo a utilizar como Primary Key, donde primero hay que eliminar los Nulls:

(Ver también Finding records)

sub eliminatenulls(fieldname, tablename, databasename)

dim db as database, dstable as dynaset, counter

if fieldname="" or tablename="" then exit sub

if databasename="" then set db=currentdb()

else : set db=opendatabase(databasename)

end if

set dstable=db.createdynaset(tablename)

counter=val(dmax(fieldname, tablename))+1

do until dstable.eof

if isnull(dstable(fieldname)) then

dstable.edit

dstable(fieldname)=counter

dstble.update

counter=counter+1

end if

dstable.movenext

loop

dstable.close

db.close

end sub

Dynasets se pueden abrir sobre Consultas de múltiples tablas. Los cambios en Dynaset se reflejarán en las tablas.

En relaciones de uno-a-muchos, sólo la tabla de muchos se pueden cambiar.

Eliminar registros

Más eficiente hacer delete Query con QueryDef:

Anular/eliminar todos los registros.

sub emptytable (tany as table)

tany.movefirst

do until tany.eof

tany.delete

tany.movenext

loop

end sub

Con Dynaset pone todos los campos a Null. Con Tabla, elimina los registros.

Añadir registros

Más eficiente con Action Query de QueryDef. Añadir registro.

dim db as database, t as table

set db=currentdb()

set t=db.opentable("shippers")

t.addnew 'creates a new blank record and makes it current

t![company name]="Global Parcel Service"

t.update 'el registro activo anterior vuelve a ser el corriente.

t.close

Con tabla se coloca según índice, con dynaset, al final.

Buscar registros en Dynaset y Snapshots

Igual que los Move., pero con Criteria: FindFirst criteria, FindLast cri, FindNext cri, FindPrevious

cri. No se pueden utilizar con variable tabla, utilizar Seek (ver adelante).

Buscar campos con un contenido.

sub jarproducts()

dim db as database, somedata as dynaset, criteria

set db=currentdb()

set somedata=db.createdynaset("products")

criteria="[product name] like '*jar*'" 'Criteria siempre debe

ser un String

somedata.findfirst criteria

do until somedata.nomatch

Page 140: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

140 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

debug.? somedata![product name], somedata![quantity per unit]

somedata.findnext criteria 'si no encuentra, nomatch es true y

registro 'actual indefinido. Utilizar Bookmark si se

quiere volver al anterior.

loop

somedata.close

end sub

Buscar campos Null para añadirle 1 y utilizar como PrimaryKey. Más eficiente que en Changing records

anterior.

sub eliminatenulls(fieldname, tablename, databasename)

dim db as database, dstable as dynaset, counter, criteria

if fieldname="" or tablename="" then exit sub

if databasename="" then set db=currentdb()

else : set db=opendatabase(databasename)

end if

set dstable=db.createdynaset(tablename)

counter=val(dmax(fieldname, tablename))+1

criteria=fieldname & " = null"

dstable.findfirst criteria

do until dstable.nomatch

dstable.edit : dstable(fieldname)=counter : dstable.update

counter=counter+1 : dstable.findnext criteria

loop

dstable.close

db.close

end sub

No se puede utilizar los Find methods con Tablas. Utilizar Dynaset o Snapshot y Find. Sí se puede utilizar Seek

method con Tablas con sus índices.

Buscar registros en Tablas

Seek utiliza arg. El primero es siempre comparación, el 2do., data a buscar. Debe especificarse siempre antes un

Index existente de tabla.. Buscar el primero que comience con 'U':

dim db as database, cust as table

set db=currentdb()

set cust=db.opentable("customers")

cust.index="[company name]"

cust.seek ">=", "U"

if not cust.nomatch then

msgbox cust![company name] & " " & cust![postal code]

end if

cust.close

Buscar un registro con un índice múltiple (PrimarKey):

function getfirstprice(orderid, productid) 'el 2do. campo índice no sería obligato-

rio

dim db as database, cust as table

if not (isnumeric(orderid) and isnumeric(productid)) then

getfirstprice=null : exit function

end if

set db=currentdb()

set cust=db.opentable("Order details")

cust.index="PrimaryKey" 'índice con OrderID y ProductID

cust.seek "=", orderid, productid

if cust.nomatch then gerfirstprice=null

else : getfirstprice=cust![unit price]

end if

cust.close

end function

Marcadores

Para volver al mismo registro:

Page 141: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 141

Currentrec=ds.bookmark 'marcar (Recordar: el primero se pone al

segundo)

ds.bookmark=currentrec 'volver

currentrec=ds.bookmark

ds.findfirst criteria

if ds.nomatch then ds.bookmark=currentrec 'volver al anterior

Botón Show Manager en Employees form con OnPush en esta función: (=showmanager())

function showmanager()

dim f as form, ds as dynaset, currentrec

set f=forms("employees")

set ds=f.dynaset 'dynaset de "employees"

ds.bookmark=f.bookmark

ds.findfirst "[employeeid] = " & ds![reports to]

if ds.nomatch then msgbox "Manager not found"

else : msgbox "Manager: " & f.[employee name]

end if

f.bookmark=ds.bookmark 'volver al empleado

end function

Cloning

Para crear una copia idéntica de Dynaset y tener 2 current records.

Crear un dynaset sobre otra no es lo mismo, ya que el orden y los reg. pueden no ser los mismos y además no

pueden compartir Boorkmarks. Los registros de dos dynaset sobre una misma tabla afectan igualmente a la tabla,

pero no entre los registros de las dynasets

Cloning permite tener dos registros actuales en el mismo Dynaset, mientras que creándole otro Dynaset serán

completamente independientes. Los registros entre un dynaset y su clónico no pueden variar.

dim db as database, ds1 as dynaset, ds2 as dynaset

set db = currentdb()

set ds1 = db.createdynaset("table1")

set ds2 = ds1.clone()

Este ej. de copiar un registro en un mismo Dynaset se podría hacer con Bookmarks y sin clone(), pero así es

más eficiente y código más simple: (Ver también Listing the Fields in a Recordset)

sub copycurrentrec (ds as dynaset, fields())

' fields is an array containing all field names in the dynaset

dim i, dscopy as dynaset

set dscopy = ds.clone() 'actuar sobre un clone() es igual que so-

bre dynaset

dscopy.addnew

for i = lbound(fields) to ubound(fields)

dscopy(fields(i)) = ds(fields(i))

next i

dscopy.update

dscopy.close

end sub

Manipular campos grandes

Para objetos OLE y Memo fields muy grandes.

Method Purpose

FieldSize Returns the size of the specified field.

GetChunk Returns a specified portion of the field

AppendChunk Appends the contents of a specified variable to the field

Separa los campos a pedazos (chunks), ya que máximo de Strings es de 64K.

Transacciones

Una trasacción son varias operaciones que se deben realizar completas y bien. (Ej.: completar bien el débito y el

crédito de un banco).

Statement Purpose

BeginTrans Begins a trasaction

CommitTrans Commits all changes made since the most recent BeginTrans statement.

Rollback Rolls back all changes made since the most recent BeginTrans statement.

function transferfunds(fromaccount, toaccount, customerid, amount)

Page 142: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

142 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

'transfer amount from customerid's fromaccount to toaccount.

'returns 0 if successful, nonzero error value is unsuccessful.

dim db as database, source as dynaset, destination as dynaset

on error resume next

set db = currentdb()

set source = db.createdynaset(fromaccount)

set destination = db.cratedynaset(toaccount)

if err then 'error with a field or table

on error goto 0

transferfunds = err

exit function

end if

source. findfirst "[cust id] = " & customerid

destination.findfirst "[cust id] = " & customerid

if not (source.nomatch or destination.nomatch) then

if source!balance >= amount then

begintrans

source.edit

source![balance] = source![balance] - amount

source.update

destination.edit

destination![balance] = destination![balance] + amount

destination.update

if err then

transferfunds = -1

rollback

else

transferfunds = 0

committrans

end if

else

transferfunds = -2

end if

else

transferfunds = -3

end if

source.close

destination.close

end function

Ejemplo de Transacción anidada. Crear nueva Categoria solo si hay productos para ella:

(Ver Pág 144 Updating Recordsets with QuerDef Variables)

dim db as database, dscat as dynaset, dsproduct as dynaset

dim criteria, failure

on error resume next

set db = currentdb()

set dsproduct = db.createdynaset("products")

failure = false

criteria = "[english name] like '*sauce*'"

begintrans 'outer transaction

dsproduct.findfirst criteria

do until dsproduct.nomatch

begintrans 'inner transaction

dsproduct.edit

dsproduct![category id] = "SAUC"

dsproduct.update

if err then

failure = true

rollback 'inner transaction.

Page 143: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 143

else

commitrans 'inner transaction.

end if

if failure then exit do

dsproduct.findnext criteria

loop

if failure then

rollback 'outer transaction.

msgbox "Failed: " & error

else

' create new sauces category.

set dscat = db.createdynaset("Categories")

dscat.addnew

dscat![category id] = "SAUC"

dscat![category name] = "Sauces"

dscat![description] = "Sauces"

dscat.update

if err then

rollback 'outer transaction.

msgbox "Failed: " & error

else

committrans 'outer trasaction.

msgbox "Succeeded"

end if

end if

Todo BeginTrans debe terminar con Commit o RollBack.

Bloquear datos

Para que ningún otro usuario cambie los datos mientras se vayan a utilizar.

Se utiliza el parámetro True:

En Databases: set db = opendatabase("nwind.mdb", true)

En Tablas y Dynasets: set datarecs = db.createdynaset("employees", true)

Para sólo registros, ver propiedad Lockedits.

Información de los objetos de la Base de datos

Listing the Tables and Queries in a Database

Method Returns

ListTables A Snapshot containing a record for each table or query in the database.

ListFields " field in the recordset.

ListIndexes " index in a table

ListParameters " parameter in a QueryDef.

sub display tables()

dim db as database, sstablelist as snapshot

set db=currentdb()

set sstablelist=db.listtables()

debug.? "Table Name", "Record Count", "Created",, "Updated"

do until sstablelist.eof

If sstablelist.tabletype <> db_querydef then 'skip queries

debug.? sstablelist.name, sstablelist!recordcount, ;

debug.? Sstablelist.datecreated, sstablelist.lastupdated

end if

sstablelist.movenext

loop

sstablelist.close

end sub

El ejemplo de arriba, para no incluir las tablas del sistema:

...

do until sstablelist.eof

isnotaquery=sstablelist.tabletype<>db_querydef

isnotasysobj=((sstablelist.attributes and db__systemobject)=0)

if isnotaquery and isnotasysobj then 'skip both

Page 144: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

144 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

...

Listar campos en un Recordset.

Sub FieldInfo (tablename, databasename)

dim db as database, ssfields as snapshot, dstable as table

if databasename="" then

set db=currentdb()

else

set db=opendatabase(databasename)

end if

set dstable=db.opentable(tablename)

set ssfields=dstable.listfields()

do until ssfields.eof

debug.? ssfields.name; " ";

selec case ssfields.type

case db-boolean

debug.? "Yes/no"

case db_date

debug.? "Date/Time"

case db_text, db_memo

debug.? "Text"

case db_ole

debug.printy "OLE"

case else

debug.? "Numeric"

end select

ssfields.movenext

loop

ssfields.Close

dstable.close

if databasename <> "" then db.close

end sub

Copiar registro:

Sub copycurrentrec(ds as dynaset)

dim dscopy as dynaset, ssfieldlist as snapshot

'assume that the current dynaset record is the record to copy

set dscopy=ds.clone()

dscopy.addnew

set ssfieldlist=ds.listfields()

do until ssfieldlist.eof

if (ssfieldlist.attributes and db-updatablefield)=0 then

dscopy(ssfieldlist.name)=ds(ssfieldlist.name)

end if

ssfieldlist.movenext

loop

dscopy.update

ssfieldlist.close

dscopy.close

end sub

Variables QueryDef

Para crear o modificar Consultas.

Sólo con QueryDef se define la consulta, pero no se accede a sus datos.

Se puede definir una nueva o redefinir una existente.

Si es Consulta de Selección, se crea una Dynaset sobre la variable QueryDef. Si es de Acción se utiliza el méto-

do Execute.

Cuando se abre una Tabla con una Variable Tabla, se pueden inmediatamente manipular sus datos.

Abrir Consulta existente.

dim db as database, q as querydef, datarecs as dynaset

set db = currentdb()

set q = db.openquery("Sales Totals Query") 'selección

Page 145: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 145

set datarecs = q.createdynaset()

q.close

Con QuerDef Variables se permite operar con Action Queries además de Select Queries. Como Action Queries

no devuelven registros, no hay que abrir Dynaset o Snapshot, sino utilizar el Execute Method:

dim db as database, q as querydef

set db = currentdb()

st q = db.openquery("update sales") 'de acción update

q.execute

q.close

Tratar de abrir una Action Query con un Dynaset o Snapshot da error, igual que abrir con Execute method una

Select Query.

Crear consulta

dim db as database, q as querydef, daterecs as dynaset, sql as

string

set db = currentdb()

set q = db.createquerydef("new query") 'to define the

query, you assign a 'valid SL string to the SQL property of the

QueryDef variable:

q.sql = "select [first name], [last name] from employees;"

'create SQL trings in the user interface and then copy

(and modify) it (Vista SQL de Consultas)

set datarecs = q.cretedynaset()

q.close 'good practice to close the QuerDef variable.

db.deletequerydef "new query" ' si no se quiere guardar.

... 'operar con datarecs

También se puede incluir la definición con la creación:

Set q = db.createquerydef("New Query", "select subtotal from or-

ders;")

Este ejemplo crea un objeto QueryDef nuevo y lo anexa a la colección QueryDefs del objeto Database Neptuno.

Después enumera la colección QueryDefs y la colección Properties del QueryDef nuevo.

Sub QueryDefX()

Dim dbsNeptuno As Database, qdfNuevo As QueryDef, qdfBucle As Query-

Def

Dim prpBucle As Property

Set dbsNeptuno = OpenDatabase("Neptuno.mdb")

Set qdfNuevo = dbsNeptuno.CreateQueryDef("NewQueryDef", "SELECT *

FROM Categorías") ' Crea QueryDef nuevo. Ya que tiene un nombre, se anexa automática-

mente a ' la colección QueryDefs.

With dbsNeptuno

Debug.Print .QueryDefs.Count & "QueryDefs en " & .Name

For Each qdfBucle In .QueryDefs

Debug.Print " " & qdfBucle.Name 'Enumera la colección

ueryDefs.

Next qdfBucle

With qdfNuevo

Debug.Print "Propiedades de " & .Name

For Each prpBucle In .Properties

On Error Resume Next

Debug.Print " " & prpBucle.Name & " - " & _

IIf(prpBucle = "", "[vacío]", prpBucle)

' Enumera la colección Properties del objeto Query-

Def nuevo.

On Error Goto 0

Next prpBucle

End With

.QueryDefs.Delete qdfNuevo.Name

.Close ' Elimina el QueryDef nuevo porque esto es un

ejemplo.

Page 146: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

146 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

End With

End Sub

Este ejemplo comprueba si hay una consulta llamada ContratosRecientes en la base de datos activa y, si existe, la

elimina de la colección QueryDefs. A continuación, el procedimiento crea un objeto QueryDef nuevo y lo abre

en la vista Hoja de datos.

Sub ConsultaNueva()

Dim dbs As Database, qdf As QueryDef, strSQL As String

Set dbs = CurrentDb ' Devuelve la referencia a la base de

datos activa.

dbs.QueryDefs.Refresh ' Actualiza la colección QueryDefs.

For Each qdf in dbs.QueryDefs

If qdf.Name = "ContratosRecientes" Then

dbs.QueryDefs.Delete qdf.Name ' Si existe la consulta ContratosRecientes, la

elimina.

End If

Next qdf

' Crea SQL para seleccionar empleados contratados el 1-1-94 o

después.

strSQL = "SELECT * FROM Empleados WHERE FechaContrato >= #1-1-94#;"

Set qdf = dbs.CreateQueryDef("ContratosRecientes", strSQL) ' Crea

QueryDef nuevo.

DoCmd.OpenQuery qdf.Name ' Abre la consulta en la vista Hoja de

datos.

Set dbs = Nothing ' Nothing se utiliza para desvincular una variable objeto de un objeto real.

End Sub

Modificar consulta existente

Añadir campo "Region":

dim db as database, q as querydef, qtemp as querydef, datarecs as

dynaset

dim sql as string, i as long, qtempname as string

set db = currentdb()

set q = db.openquerydef("Sales Totals Query")

sql = q.sql

q.close

i = instr(1, sql, chr(13) & chr(10) & "from", 1) -1

'The From clause is always preceded by chr(13) and Chr(10);

this allows you 'to find it even if From appears in table or

field names.

sql = left(sql, i) & ", [employees].[region]" & right(sql, len(sql)

-i)

i = instr(1, sql, ";" & chr(13) & chr(10), 1) -1

'final semicolon is followed by chr(13) and chr(10).

sql = left(sql, i) & ", [employees].[region]" & right (sql, len(sql)

-i)

qtempname = "Temp" & now

set qtemp = db.createquerydef(qtempname) 'crea una nueva query

qtemp.sql = sql

set datarecs = qtemp.cratedynaset()

qtemp.close

Modificación de Recordsets con Variables QueryDef

Con QuerDef se puede hacer lo mismo que con objetos Consultas. Ejemplo siguiente igual que anterior para

crear categoría SAUC en Trasacciones:

dim db as database, q as querydef, sql

on error resume next

set db = currentdb()

sql = "Update products Set products.[category id] = 'SAUC'"

Page 147: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 147

sql = sql & " Where (products![english name] like '*sauce*');"

set q = db.createquerydef("make sauces", sql)

begintrans

q.execute

if err then

rollback

msgbox "Failed: " & error

else

committrans

msgbox "Succeeded"

end if

q.close

db.deletequerydef ("make sauces")

Utilizando las sentencias SQL se puede realizar cualquier operación, inclusive que no se pueden realizar con

Consultas normales. Por ejemplo, no se puede definir una consulta con un nombre de tabla como parámetro,

como para borrar todos su registros. Con una QueryDef variable:

sub emptytable(tablename as string, dbname as string)

dim db as database, qdelete as querydef, sql as string

if dbname = "" then set db = currentdb()

else : set db = opendatabase(dbname)

end if

sql = "delete from " & tablename & ";"

set qdelete = db.createquerydef("emptytable", sql)

qdelete.execute

qdelete.close

db.deletequerydef("emptytable")

if dbname <> "" then db.close

end sub

En el ejemplo siguiente se ejecuta una consulta de acciones y se imprime el número de registros afectados:

Sub RecordsUpdated()

Dim dbs As Database, qdf As QueryDef, strSQL As String

Set dbs = CurrentDb ' Devuelve una referencia a la base de datos ac-

tiva.

strSQL = "UPDATE Empleados SET Cargo = " _

& "'Representante de ventas senior' " _

& "WHERE Cargo = 'Representante de ventas';"

Set qdf = dbs.CreateQueryDef("ActualizarCargos", strSQL) ' Crea ob-

jeto QueryDef.

qdf.Execute ' Ejecutar QueryDef.

Debug.Print qdf.RecordsAffected 'Devuelve el número de reg. afectados por el último Exe-

cute.

Set dbs = Nothing

End Sub

Consultas de Parámetros

Se usa el operador ! para acceder a parámetros en una QueryDef variable.

Antes de ejecutar un Consulta de Parámetros, hay que suministras sus valores.

dim db as database, q as querydef, datarecs as dynaset

set db = currentdb()

set q = db.openquerydef("Products Ordered by Category")

q![category id] = "COND" 'parámetro

datarecs = q.createdynaset()

El ListParameters method obtiene los parámetros de una Query.

Devuelve un Snapshot con registros siguientes:

Field Contains Access Basic data type

Name Name of the parameter String

Type Data type of the parameter Long

Page 148: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

148 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

El siguiente ejemplo detalla los registros de parametros en Immediate Window:

sub dumpparams(queryname, databasename)

dim db as database, qany as querydef, ssdump as snapshot

if databasename = "" then set db = currentdb()

else : set db = opendatabase(databasename)

end if

set qany = db.openquerydef(queryname)

set ssdump = qany.listparameters()

if ssdump.recordcount > 0 then

do until ssdump.eof

debug.? ssdump.name, ssdump.type

ssdump.movenext

loop

else : debug.? "'" & queryname & "' is not a parameter query"

end if

ssdump.close

qany.close

if databasename <> "" then db.close

end sub

Se pueden utilizar los datos de los parámetros en un formulario para solicitar valores al usuario.

Tabla de Contenido

A C C E S S 97 ..................................................................................................................................................... 1

PARA COMANDOS GENERALES DE OFFICE 97 Y WINDOWS VER GUÍA WORD .......... ¡ERROR! MARCADOR NO

DEFINIDO.

GUÍA ALFABÉTICA DE TABLAS, CONSULTAS, FORMULARIOS E INFORMES. ............................... 1

BASE DE DATOS................................................................................................................................................ 12

MENUS EN VISTA GENERAL ....................................................................................................................... 13 MENU ARCHIVO ...................................................................................................................................................... 13

MENU EDICION ........................................................................................................................................................ 13

MENU VER ................................................................................................................................................................ 13

MENU INSERTAR ..................................................................................................................................................... 14

MENU HERRAMIENTAS. ........................................................................................................................................ 14

Proteger una base de datos agregando una contraseña de base de datos .................................................... 14

Proteger una base de datos con el Asistente para seguridad a nivel de usuario. .......................................... 15 MENU MUESTREME. ............................................................................................................................................... 16

TABLAS ............................................................................................................................................................... 16

TABLAS - MENUS EN VISTA HOJA DE DATOS ......................................................................................... 16 MENU EDICION ........................................................................................................................................................ 16

MENU VER ................................................................................................................................................................ 16

MENÚ INSERTAR ..................................................................................................................................................... 16

MENU FORMATO ..................................................................................................................................................... 17

MENU REGISTROS .................................................................................................................................................. 17

TABLAS - MENUS EN VISTA DISEÑO. ........................................................................................................ 17 MENU EDICION ........................................................................................................................................................ 17

CLAVE PRINCIPAL .............................................................................................................................................. 17 ¿Qué tipo de clave principal debo utilizar? ................................................................................................................. 17

Claves principales de Autonumérico ........................................................................................................................... 17

Claves principales de Campo simple ........................................................................................................................... 18

Claves principales de Campos múltiples ..................................................................................................................... 18

MENU VER ................................................................................................................................................................ 18

MENU INSERTAR. .................................................................................................................................................... 18

CAMPO DE BÚSQUEDA ........................................................................................................................................ 18 Crear un campo que busque o enumere los valores de las tablas:................................................................................ 18

Crear un campo que busque datos de otra tabla en la vista Diseño: ............................................................................ 19

Crear un campo de lista de valores en la vista Diseño: ................................................................................................ 19

Page 149: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 149

FICHA GENERAL EN DISEÑO DE TABLA. PROPIEDADES DE LOS CAMPOS. ........................................................... 19 Propiedad Nombre del campo ...................................................................................................................................... 19

Propiedad Tipo de datos ............................................................................................................................................... 19

Propiedad Descripción ................................................................................................................................................. 20

Propiedad Tamaño del campo ...................................................................................................................................... 20

Propiedad Formato de Campo. .................................................................................................................................... 21

Propiedad Máscara de Entrada. .................................................................................................................................... 24

Propiedad LugaresDecimales (DecimalPlaces) ............................................................................................................ 25

Propiedad Título (Caption) .......................................................................................................................................... 26

Propiedad ValorPredeterminado (DefaultValue) ......................................................................................................... 26

Propiedades ReglaDeValidación (ValidationRule) y TextoDeValidación (ValidationText) ....................................... 27

Propiedad Requerido (Required).................................................................................................................................. 28

Propiedad Indexado ..................................................................................................................................................... 29

FICHA BÚSQUEDA EN DISEÑO DE TABLA, CON CUADRO DE LISTA O COMBINADO. ............................................ 29 Propiedad Mostrar control ........................................................................................................................................... 29

Propiedades que puede utilizar para crear o modificar cuadros de lista y cuadros combinados, Resumen. ................. 30

RELACIONES....................................................................................................................................................... 30 Definir relaciones entre tablas ...................................................................................................................................... 31

Integridad referencial. .................................................................................................................................................. 31

Propiedades de la combinación. ................................................................................................................................... 32

CONSULTAS....................................................................................................................................................... 32

CONSULTAS - MENUS VISTA HOJA DE DATOS ....................................................................................... 32

CONSULTAS - MENUS VISTA DISEÑO ....................................................................................................... 32

MENU EDICION .............................................................................................................................................. 32 MENU VER................................................................................................................................................................. 33

SQL. .................................................................................................................................................................. 33 Trabajar con SQL en consultas, formularios, informes, macros y módulos: ................................................................ 33

Ver o modificar la instrucción SQL que está detrás de una consulta existente: ........................................................... 33

Generar instrucciones SQL que incluyan variables y controles: .................................................................................. 33

FUNCIONES AGREGADAS Y OTRAS OPCIONES DE LA FILA TOTAL EN DISEÑO DE LA CONSULTA ........................... 34 Ejemplos para totalizar por grupos. ............................................................................................................................. 34

MENU CONSULTA ................................................................................................................................................... 35

CONSULTA DE SELECCIÓN .................................................................................................................................. 35 ¿Qué es una consulta de selección y cuándo se usa? .................................................................................................... 35

Crear una consulta de selección sin un asistente .......................................................................................................... 35

Crear una consulta de selección sencilla mediante un asistente ................................................................................... 36

CONSULTA DE TABLA DE REFERENCIAS CRUZADAS ............................................................................................ 36 Crear una consulta de tabla de referencias cruzadas sin usar un asistente .................................................................... 36

Crear una consulta de tabla de referencias cruzadas mediante un asistente ................................................................. 37

Ordenar o limitar los encabezados de columnas presentados en una consulta de referencias cruzadas ....................... 37

Ejemplo de Consulta de Referencias Cruzadas: Pedidos Trimestrales por Producto. .................................................. 37

CONSULTAS DE ACCIÓN. ..................................................................................................................................... 38

CONSULTA DE CREACIÓN DE TABLA ................................................................................................................... 39 Ejemplo: ....................................................................................................................................................................... 39

CONSULTA DE ACTUALIZACIÓN .......................................................................................................................... 39 Ejemplo: ....................................................................................................................................................................... 39

CONSULTA DE DATOS ANEXADOS ....................................................................................................................... 39

CONSULTA DE ELIMINACIÓN .............................................................................................................................. 40 Ejemplo: ....................................................................................................................................................................... 40

CONSULTA ESPECÍFICA DE SQL. ........................................................................................................................ 40 Consulta de Unión: ...................................................................................................................................................... 40

Paso a través ................................................................................................................................................................ 40

Definición de datos ...................................................................................................................................................... 40

CONSULTA DE PARÁMETROS .............................................................................................................................. 40 Ejemplo: ....................................................................................................................................................................... 41

EXPRESIONES: .................................................................................................................................................... 41 Dónde introducir expresiones en consultas y filtros ..................................................................................................... 41

Crear una expresión con el Generador de expresiones: ................................................................................................ 42

Expresiones de texto: ................................................................................................................................................... 42

Expresiones de fecha: .................................................................................................................................................. 42

Expresiones aritméticas: .............................................................................................................................................. 43

Campo calculado.......................................................................................................................................................... 43

Varias: .......................................................................................................................................................................... 43

Expresiones para Validación de campos: ..................................................................................................................... 44

Expresiones para Condiciones de Macro: .................................................................................................................... 44

Expresiones SQL como criterio: .................................................................................................................................. 44

Expresiones en formularios e informes: ....................................................................................................................... 45

Page 150: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

150 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

Ejemplos para realizar operaciones aritméticas en formularios e informes: ................................................................ 46

Calcular el total de un control calculado de un formulario o informe ......................................................................... 46

FUNCIONES EN EXPRESIONES. ............................................................................................................................ 46 Funciones de Agregado de Dominio comunes: ........................................................................................................... 46

Ejemplos para utilizar funciones agregadas de dominio en formularios e informes .................................................... 46

Funciones de Agregado SQL Comunes. ...................................................................................................................... 47

Ejemplos para utilizar funciones agregadas en formularios e informes ....................................................................... 47

Algunas Funciones Generales: .................................................................................................................................... 47

PROPIEDADES DE CONSULTA .............................................................................................................................. 48 Propiedad Títulos de columna (ColumnHeadings) ...................................................................................................... 48

Propiedad Permisos de ejecución ................................................................................................................................ 49

Propiedad BloqueosDelRegistro (RecordLocks) ......................................................................................................... 49

Propiedad TipoRecordset (RecordsetType) ................................................................................................................. 50

VALORES ÚNICOS. .............................................................................................................................................. 50 Impedir que se muestren los registros duplicados en los resultados de la consulta ..................................................... 50

CAMPOS EN BLANCO EN CONSULTAS. ................................................................................................................. 51 Combinar campos que contienen valores Null ............................................................................................................ 51

Buscar valores Null o cadenas de longitud cero .......................................................................................................... 51

Entender cómo los valores Null afectan a los cálculos numéricos .............................................................................. 51

Convertir valores Null a cero ...................................................................................................................................... 51

Combinar campos Texto que contengan valores Null ................................................................................................. 52

FORMULARIOS ................................................................................................................................................. 52

FORMULARIOS - MENUS DE VISTA FORMULARIO Y HOJA DATOS .................................................... 52

FORMULARIOS - MENUS DE VISTA DISEÑO. ........................................................................................... 52 MENU EDICION ........................................................................................................................................................ 52

MENU VER ................................................................................................................................................................ 52

MENU INSERTAR ..................................................................................................................................................... 52

MENU FORMATO ..................................................................................................................................................... 53

CREAR UN FORMULARIO MEDIANTE AUTOFORMULARIO .................................................................................... 53

CREAR UN FORMULARIO CON UN ASISTENTE. ..................................................................................................... 53

CREAR UN FORMULARIO BASADO EN MÁS DE UNA TABLA. ................................................................................. 54

PLANTILLAS DE FORMULARIOS Y DE INFORMES. ................................................................................................. 54

SECCIONES DE FORMULARIOS. ............................................................................................................................ 54 Agregar o quitar un encabezado o pie de formulario o un encabezado o pie de página: ............................................. 55

CREAR UN FORMULARIO EMERGENTE O UN CUADRO DE DIÁLOGO PERSONALIZADO ........................................... 55

ALGUNAS PROPIEDADES DE FORMULARIOS (DATOS) ......................................................................................... 56 Propiedad OrigenDelRegistro (RecordSource) ........................................................................................................... 56

Propiedad Filtro (Filter) ............................................................................................................................................... 56

Propiedad OrdenarPor (OrderBy) ................................................................................................................................ 57

Propiedad PermitirEdiciones (AllowEdits) ................................................................................................................. 57

Propiedad EntradaDeDatos (DataEntry) ...................................................................................................................... 58

Propiedad TipoRecordset (RecordsetType) ................................................................................................................. 58

(Otras) Propiedad Emergente (PopUp) ........................................................................................................................ 58

(Otras) Propiedad Modal ............................................................................................................................................. 59

Propiedad BloqueosDelRegistro (RecordLocks) ......................................................................................................... 59

CONTROLES ........................................................................................................................................................ 59

CUADRO DE HERRAMIENTAS DE CONTROLES ..................................................................................................... 60

Botón seleccionar objetos (Flecha) ............................................................................................................... 60

Botón Asistentes para Controles .................................................................................................................... 60

Etiqueta .......................................................................................................................................................... 60

Cuadros de texto. ........................................................................................................................................... 60 Crear un cuadro de texto dependiente ......................................................................................................................... 60

Crear un cuadro de texto independiente ...................................................................................................................... 61

Crear un control calculado........................................................................................................................................... 61

Algunas Propiedades de Cuadro de Texto (Datos) ...................................................................................................... 61

Propiedad OrigenDelControl (ControlSource) ............................................................................................................ 61

Propiedad MáscaraDeEntrada (InputMask) ................................................................................................................. 62

Propiedades Activado (Enabled) y Bloqueado (Locked) ............................................................................................. 62

Propiedad BuscarPorFiltro (FilterLookup) .................................................................................................................. 62

Grupo de opciones ......................................................................................................................................... 63

Botón de alternar ........................................................................................................................................... 64

Botón de opción ............................................................................................................................................. 64

Casilla de verificación ................................................................................................................................... 64

Cuadro combinado ........................................................................................................................................ 64 Crear un cuadro de lista dependiente o cuadro combinado que muestre valores fijos: ................................................ 65

Crear un cuadro de lista o cuadro comb. dependiente que muestre los valores de una tabla o consulta: ..................... 65

Page 151: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 151

Crear un cuadro de lista o cuadro combinado independiente que muestre valores fijos: ............................................. 65

Crear un cuadro de lista o cuadro comb. independiente que muestre los valores de una tabla o consulta: .................. 65

Buscar un registro seleccionando un valor de una lista ................................................................................................ 66

Algunas Propiedades de Cuadro de Lista/Combinado (Datos) .................................................................... 66 Propiedades TipoDeOrigenDeLaFila (RowSourceType) y OrigenDeLaFila (RowSource) ......................................... 66

Propiedad ColumnaDependiente (BoundColumn) ....................................................................................................... 67

Cuadro de lista .............................................................................................................................................. 67

Botón de comando ......................................................................................................................................... 67 Botón de Comando prop. Al hacer Clic: nombre de Macro o Función. ....................................................................... 68

Crear un botón de comando para abrir y sincronizar, cerrar o imprimir un formulario: .............................................. 68

Imagen ........................................................................................................................................................... 68 Agregar una imagen u otro objeto a un formulario o informe: ..................................................................................... 69

Marco de objeto independiente ..................................................................................................................... 69 Insertar un objeto independiente existente ................................................................................................................... 69

Marco de objeto dependiente ........................................................................................................................ 69 Insertar un objeto dependiente existente ...................................................................................................................... 70

Salto de página .............................................................................................................................................. 70 Crear un formulario con más de una página (pantalla) ................................................................................................ 70

Control ficha.................................................................................................................................................. 70

Subformulario/Subinforme ............................................................................................................................ 71 Crear un formulario y un subformulario al mismo tiempo: .......................................................................................... 71

Crear un subformulario y agregarlo a un formulario existente: ................................................................................... 71

Agregar un formulario existente a otro formulario también existente para crear un formulario con un subformulario:

..................................................................................................................................................................................... 71

Vincular un formulario principal y un subformulario .................................................................................................. 71

Ejemplo (diseño) de Subformulario Pedidos Trimestrales basado en Ejemplo Consulta Pág 37. .............................. 72

Ejemplo de Formulario Pedidos Trimestrales con Subformulario Pedidos Trimestrales (arriba). ... ¡Error! Marcador

no definido. Algunas Propiedades de Subformulario/Subinforme (Datos) ...................................................................................... 74

Propiedad ObjetoOrigen (SourceObject) ..................................................................................................................... 74

Propiedades VincularCamposSecundarios (LinkChildFields) y VincularCamposPrincipales (LinkMasterFields) ..... 74

Línea: ............................................................................................................................................................ 75

Rectángulo ..................................................................................................................................................... 75

CAMBIAR LAS PROPIEDADES PREDETERMINADAS DE UN TIPO DE CONTROL ........................................................ 75 Cambiar el estilo de control predeterminado de nuevos controles mediante la hoja de propiedades ........................... 75

Cambiar el estilo de control predeterminado de nuevos controles mediante un control existente................................ 75

Especificar una nueva plantilla para los formularios e informes .................................................................................. 76

OBJETOS/CONTROLES: AJUSTES Y COMPLEMENTOS. ......................................................................................... 76

INFORMES ......................................................................................................................................................... 77

INFORMES - MENUS EN VISTA PREVIA DISEÑO Y PRELIMINAR. ....................................................... 77

INFORMES - MENUS EN VISTA DISEÑO. ................................................................................................... 77 MENU VER................................................................................................................................................................. 77

CREAR UN INFORME USANDO AUTOINFORME: .................................................................................................... 77

CREAR UN INFORME CON UN ASISTENTE:............................................................................................................ 78

CREAR UN INFORME SIN ASISTENTE:................................................................................................................... 78

CREAR UN INFORME BASADO EN MÁS DE UNA TABLA:........................................................................................ 78

CREAR UN SUBINFORME EN UN INFORME EXISTENTE: ......................................................................................... 78

AGREGAR UN INFORME EXISTENTE A OTRO PARA CREAR UN SUBINFORME ......................................................... 78

SECCIONES DE UN INFORME. ............................................................................................................................... 78 Agregar o quitar un encabezado y pie de informe o un encabezado y pie de página ................................................... 79

CREAR ETIQUETAS POSTALES Y DE OTROS TIPOS ................................................................................................ 79

INSERTAR CAMPO CALCULADO A UN REGISTRO DE UN INFORME ........................................................................ 79

AGRUPAR LOS REGISTROS EN UN INFORME ......................................................................................................... 79

ORDENAR LOS REGISTROS EN UN INFORME......................................................................................................... 80

CALCULAR UN TOTAL O PROMEDIO PARA UN GRUPO O PARA TODOS LOS REGISTROS DE UN INFORME ................ 80

CALCULAR UNA SUMA CONTINUA DE UN INFORME ............................................................................................. 80 Propiedad de Cuadro de Texto (Datos) ........................................................................ ¡Error! Marcador no definido.

Propiedad SumaContinua (RunningSum) .................................................................................................................... 80

CALCULAR PORCENTAJES EN UN INFORME ......................................................................................................... 81

COMENZAR CADA GRUPO DE UN INFORME EN UNA NUEVA FILA O COLUMNA ..................................................... 81

RESTABLECER NÚMEROS DE PÁGINA PARA CADA GRUPO DE UN INFORME .......................................................... 82

GUÍA ALFABÉTICA DE MACROS Y MÓDULOS. ...................................................................................... 83

MACROS ............................................................................................................................................................. 88

Page 152: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

152 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

Un grupo de macros: ................................................................................................................................................... 89

Acciones condicionales. .............................................................................................................................................. 89

CUÁNDO UTILIZAR UNA MACRO ......................................................................................................................... 89

MACROS - MENUS.......................................................................................................................................... 89 MENU EDICION ........................................................................................................................................................ 89

MENU VER ................................................................................................................................................................ 89

MENU INSERTAR ..................................................................................................................................................... 89

MENU EJECUTAR .................................................................................................................................................... 89

CREAR UNA MACRO ............................................................................................................................................ 89

EJECUTAR UNA MACRO ....................................................................................................................................... 90 Ejecutar directamente una macro ................................................................................................................................ 90

Ejecutar una macro o un procedimiento de evento para un evento en un formulario, un informe o un control ........... 90

Ejecutar una macro que pertenece a un grupo de macros. ........................................................................................... 90

Ejecutar una macro desde otra macro o desde un procedimiento Visual Basic ........................................................... 90

ABRIR LA VENTANA MACRO O MÓDULO DESDE UN FORMULARIO O INFORME .................................................... 91

CONDICIONES EN UNA MACRO. ........................................................................................................................... 91 Ejemplos de condiciones de macro ............................................................................................................................. 91

AGREGAR UNA ACCIÓN A UNA MACRO ............................................................................................................... 91

Acciones agrupadas por tarea ....................................................................................................................... 92 Datos de formularios e informes ................................................................................................................................. 92

Ejecución ..................................................................................................................................................................... 92

Importar/exportar ........................................................................................................................................................ 92

Manipulación de objetos ............................................................................................................................................. 92

Diversos ...................................................................................................................................................................... 92

Establecer argumentos de acción en una macro ........................................................................................... 92

Introducir una expresión en el argumento de una acción de macro ............................................................. 93

ASIGNAR UNA ACCIÓN O UNA SERIE DE ACCIONES A UNA TECLA ........................................................................ 93

LLEVAR A CABO UNA ACCIÓN LA PRIMERA VEZ QUE SE ABRE LA BASE DE DATOS .............................................. 93

EVENTOS ............................................................................................................................................................ 94 Responder al evento Al hacer clic usando un procedimiento de evento Ver Pág 88. Ver Pág 103. ............. 94

Responder al evento Al hacer clic usando una macro Ver Pág 88 ................................................................... 94

Determinar cuándo ocurre un evento ............................................................................................................ 94

Eventos de formularios: ................................................................................................................................. 94

Eventos de controles: ..................................................................................................................................... 94

Eventos de Informes: ..................................................................................................................................... 94

Eventos de Secciones de Informes: ................................................................................................................ 94

EVENTOS DE DATOS .................................................................................................................................. 94 AfterDelConfirm ......................................................................................................................................................... 95

AfterUpdate ................................................................................................................................................................. 95

BeforeDelConfirm ....................................................................................................................................................... 95

BeforeInsert ................................................................................................................................................................. 95

BeforeUpdate .............................................................................................................................................................. 95

Change ........................................................................................................................................................................ 95

Current ........................................................................................................................................................................ 95

Delete .......................................................................................................................................................................... 95

NotInList ..................................................................................................................................................................... 95

Updated ....................................................................................................................................................................... 95

EVENTOS DE ENFOQUE ............................................................................................................................ 95 Activate ....................................................................................................................................................................... 95

Deactivate .................................................................................................................................................................... 95

Enter ............................................................................................................................................................................ 95

Exit .............................................................................................................................................................................. 95

GotFocus ..................................................................................................................................................................... 95

LostFocus .................................................................................................................................................................... 96

EVENTOS DE ERROR Y DE SINCRONIZACIÓN ........................................................................................ 96 Error ............................................................................................................................................................................ 96

Timer ........................................................................................................................................................................... 96

EVENTOS DE FILTRO ................................................................................................................................. 96 ApplyFilter .................................................................................................................................................................. 96

Filter ............................................................................................................................................................................ 96

EVENTOS DE IMPRESIÓN .......................................................................................................................... 96 Format ......................................................................................................................................................................... 96

NoData ........................................................................................................................................................................ 96

Page ............................................................................................................................................................................. 96

Print ............................................................................................................................................................................. 96

Retreat ......................................................................................................................................................................... 96

EVENTOS DEL RATÓN ................................................................................................................................ 96

Page 153: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 153

Click ............................................................................................................................................................................ 97

DblClick ....................................................................................................................................................................... 97

MouseDown ................................................................................................................................................................. 97

MouseMove ................................................................................................................................................................. 97

MouseUp AlSubirRatón (OnMouseUp) (formularios, controles) Cuando se mueve el puntero del ratón sobre un

formulario o control. .................................................................................................................................................... 97

EVENTOS DE TECLADO ............................................................................................................................. 97 KeyDown ..................................................................................................................................................................... 97

KeyPress ...................................................................................................................................................................... 97

KeyUp .......................................................................................................................................................................... 97

EVENTOS DE VENTANA ............................................................................................................................. 97 Close ............................................................................................................................................................................ 97

Load ............................................................................................................................................................................. 97

Open............................................................................................................................................................................. 98

Resize........................................................................................................................................................................... 98

Unload ......................................................................................................................................................................... 98

Propiedades de evento ................................................................................................................................... 98

GENERADORES ................................................................................................................................................... 98

EJEMPLOS DE MACROS. ............................................................................................................................... 98 Abrir un Formulario con un botón desde otro Formulario ........................................................................................... 98

Al abrir formulario ir al registro que se quiera ............................................................................................................. 98

Para mantener los reg. correspondientes en Subformulario al mover reg. de Formulario: ........................................... 98

Utilizar acción EstablecerValor (SetValue) para dar valor a campo ............................................................................ 99

Acciones de navegación ............................................................................................................................................... 99

Para imprimir reg. actual .............................................................................................................................................. 99

Para filtrar: ................................................................................................................................................................... 99

Buscar reg. desde Cuadro Combinado: ........................................................................................................................ 99

Validar: ........................................................................................................................................................................ 99

Requerir entrada:.......................................................................................................................................................... 99

Imprimir informe mediante botón: ............................................................................................................................... 99

Imprimir sólo uno (país, etc) o todos mediante Control Cuadro Lista: ....................................................................... 99

Para seleccionar con parámetros registros a imprimir .................................................................................................. 99

Escoger Informe a imprimir mediante cuadro de diálogo ............................................................................................ 99

Ocultar sección de informe. ....................................................................................................................................... 100

Hacer visible o no un control. .................................................................................................................................... 100

Comenzar un grupo de informe (país) por pág. 1:...................................................................................................... 100

Para cortar una página (Sólo las 10 primeras líneas en la primera). ........................................................................... 100

Totalizar por página: .................................................................................................................................................. 100

Seleccionar registros con cuadro de diálogo al abrir Informe .................................................................................... 100

Pedir fecha de día (diálogo emergente modal) para mostrar cantidad e importe de sus pedidos. ............................... 101

MODULOS (VISUAL BASIC) ........................................................................................................................ 101

Cuándo utilizar Módulos de Visual Basic ................................................................................................... 101

MENUS - MODULOS. ................................................................................................................................... 102 MENU EDICION ...................................................................................................................................................... 102

MENU VER............................................................................................................................................................... 102

MENU INSERTAR ................................................................................................................................................... 103

MENU DEPURAR .................................................................................................................................................... 103

MENU EJECUTAR ................................................................................................................................................... 103

MENU HERRAMIENTAS........................................................................................................................................ 104

Ventana Módulo .......................................................................................................................................... 104

Módulos de clases ....................................................................................................................................... 104

Módulos estándar ........................................................................................................................................ 104

PROCEDIMIENTOS ............................................................................................................................................. 104

Creación de procedimiento personalizado .................................................................................................. 104

Crear un procedimiento de evento .............................................................................................................. 105

Procedimientos Sub ..................................................................................................................................... 105 Escribir un procedimiento Sub ................................................................................................................................... 105

Crear un procedimiento Sub personalizado................................................................................................................ 106

Procedimientos Function ............................................................................................................................. 106 Escribir un procedimiento Function ........................................................................................................................... 107

Crear una función personalizada ................................................................................................................................ 107

OBJETOS, PROPIEDADES, MÉTODOS Y EVENTOS ................................................................................................ 108 Método ....................................................................................................................................................................... 108

Propiedad ................................................................................................................................................................... 108

Objeto ........................................................................................................................................................................ 108

Evento ........................................................................................................................................................................ 109

EJECUCIÓN DE CÓDIGO ..................................................................................................................................... 109

Page 154: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

154 GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. Págs. 155

DEFINICIONES VARIAS ...................................................................................................................................... 109 Instrucción ................................................................................................................................................................. 109

Variable ..................................................................................................................................................................... 109

Constante ................................................................................................................................................................... 109

Palabra clave Me ....................................................................................................................................................... 110

DAO (Data Access Objects) Objetos de acceso a datos ............................................................................................ 110

Instancia .................................................................................................................................................................... 110

ARGUMENTOS .................................................................................................................................................. 110 Comprender los argumentos con nombre y opcionales ............................................................................................. 110

Especificar argumentos cuando use un procedimiento, instrucción o método en código Visual Basic ..................... 111

ESTRUCTURAS DE DECISIÓN Y CONTROL........................................................................................................... 111 Utilizar instrucciones condicionales para tomar decisiones ....................................................................................... 111

Utilizar bucles para repetir código ............................................................................................................................. 111

Ejecutar varias instrucciones sobre el mismo objeto ................................................................................................. 111

If...Then...Else (Instrucción) ........................................................................................................................ 111

Select Case (Instrucción) ............................................................................................................................. 112

Do...Loop (Instrucción) ............................................................................................................................... 113

For...Next (Instrucción) ............................................................................................................................... 114

For Each...Next (Instrucción) ...................................................................................................................... 115

With (Instrucción) ........................................................................................................................................ 115

EXAMINADOR DE OBJETOS................................................................................................................................ 116 Localizar un método o propiedad en el Examinador de objetos ................................................................................ 116

Use el Examinador de objetos para pegar una sintaxis de método o propiedad en un módulo .................................. 116

DEPURACIÓN DE CÓDIGO .................................................................................................................................. 116 Ventana Depuración .................................................................................................................................................. 116

Panel Locales ............................................................................................................................................................ 117

Panel Inspección ........................................................................................................................................................ 117

Panel Inmediato ......................................................................................................................................................... 117

Solución de errores en código ..................................................................................................................... 117

Usar un punto de interrupción para suspender la ejecución de código ...................................................... 117 Modo de interrupción ................................................................................................................................................ 118

Ir paso a paso por el código ........................................................................................................................ 118 Arbol de llamada ....................................................................................................................................................... 118

Usar el panel Inmediato .............................................................................................................................. 118

Establecimiento de una expresión de inspección en el código .................................................................... 119 Agregar una expresión de inspección al panel Inspección......................................................................................... 119

Realizar una inspección rápida mientras se depura código ........................................................................................ 119

Seguimiento de llamadas de procedimientos mientras se depura código .................................................... 119

Presentación del valor de las variables en el panel Locales ....................................................................... 119

Mostrar el valor de una variable o expresión en la ventana Módulo cuando el código está suspendido ... 119

REFERENCIA DE FUNCIONES ............................................................................................................................. 120

REFERENCIA DE INSTRUCCIONES ...................................................................................................................... 121

FUNCIONES E INSTRUCCIONES POR TAREA DE PROGRAMACIÓN. ....................................................................... 122

REFERENCIA DE MÉTODOS ................................................................................................................................ 123

MÉTODOS POR TAREA DE PROGRAMACIÓN (RECORSETS). ................................................................................ 124

GENERALIDADES Y EJEMPLOS DE VISUAL BASIC. ............................................................................. 124 Depuración: ............................................................................................................................................................... 125

Variables ................................................................................................................................................................... 126

Matrices (Arrays) ...................................................................................................................................................... 128

Constantes. ................................................................................................................................................................ 128

Variables de objeto .................................................................................................................................................... 128

Objetos predefinidos.................................................................................................................................................. 129

Métodos de Objetos. .................................................................................................................................................. 129

Objectos como argumentos en Procedimientos. ........................................................................................................ 130

Control de Errores durante ejecución. ....................................................................................................................... 130

Códigos con Formularios e Informes ........................................................................................................................ 131

Variables de Formularios e Informes ........................................................................................................................ 133

Objetos predefinidos.................................................................................................................................................. 134

Otros Objectos ........................................................................................................................................................... 134

Variables de Control .................................................................................................................................................. 135

Tipo de Control ......................................................................................................................................................... 135

Métodos Gráficos ...................................................................................................................................................... 136

Tratamiento de Datos ................................................................................................................................................ 136

Variables Tabla ......................................................................................................................................................... 136

Crear variables Dynaset ............................................................................................................................................. 136

Crear variables Snapshot ........................................................................................................................................... 137

Cerrar variables recordset .......................................................................................................................................... 137

Page 155: A C C E S Smedia.dropdo.com.s3.amazonaws.com/EN/Guia_Access.pdf · (Ir con Alt+F12). Ir a Guía Word.doc si está en misma Carpeta. ... A. Ver Guía Word 97.doc. Autoformas, Dibujo

GUIA ACCESS 155

Utilizar variables Recordset (Tables, Dynasets and Snapshots) ................................................................................ 137

Ordenar, clasificar registros ....................................................................................................................................... 137

Filtrar, consultar ......................................................................................................................................................... 138

Modificar registros ..................................................................................................................................................... 138

Eliminar registros ....................................................................................................................................................... 139

Añadir registros.......................................................................................................................................................... 139

Buscar registros en Dynaset y Snapshots .................................................................................................................. 139

Buscar registros en Tablas ......................................................................................................................................... 140

Marcadores ................................................................................................................................................................ 140

Cloning ...................................................................................................................................................................... 141

Manipular campos grandes ........................................................................................................................................ 141

Transacciones ............................................................................................................................................................ 141

Bloquear datos ........................................................................................................................................................... 143

Información de los objetos de la Base de datos .......................................................................................................... 143

Variables QueryDef ................................................................................................................................................... 144

Abrir Consulta existente. ........................................................................................................................................... 144

Crear consulta ............................................................................................................................................................ 145

Modificar consulta existente ...................................................................................................................................... 146

Modificación de Recordsets con Variables QueryDef ............................................................................................... 146

Consultas de Parámetros ............................................................................................................................................ 147

F I N

Esta guía es parte de JRMWEB.

Conozca INICIO, con muchas utilidades gratis.