VBA Access 2013 Programar en Access Introducción 1. Introducción 15 2. Objetivos del libro 15 Generalidades 1. Revisión de conceptos 19 2. Principios fundamentales de VBA 20 3. Conversión de macros a VBA 21 3.1 Conversión de las macros en un formulario o en un informe 3.2 Conversión de macros globales 4. Seguridad de la base de datos 23 4.1 Modificación de los parámetros de seguridad de una base de datos Access 4.2 Modificación de los parámetros de seguridad por defecto 4.3 Descripción de las diferentes opciones de seguridad 4.4 Documentos confiables 4.5 Ubicaciones de confianza 4.6 Editores de confianza 5. Publicar una base de datos Access mediante un paquete firmado 5.1 Obtener un certificado digital 5.2 Crear y firmar un paquete 23 25 25 26 27 28 29 30 31 6. El entorno de desarrollo IDE 31 6.1 Presentación 6.2 Ventanas del entorno IDE www.ediciones-eni.com 22 23 31 32 © Ediciones ENI 1/13 VBA Access 2013 Programar en Access 7. Configuración del editor VBA 35 7.1 Configuración de los colores del editor 7.2 Configuración de la presentación del código 35 36 8. Referencia a los objetos 36 9. Creación de un procedimiento en VBA 37 10. Consejos 41 El lenguaje Visual Basic 1. Los módulos 43 2. Los procedimientos 44 2.1 Los procedimientos Sub 2.2 Los procedimientos Function 2.3 Declaración de los procedimientos 2.4 Alcance de los procedimientos 2.5 Argumentos de los procedimientos 2.6 Los argumentos con nombre 2.7 Llamada a un procedimiento 2.8 Ejemplos de procedimientos 2.9 La función MsgBox 3. Las variables 56 3.1 Los tipos de variables 3.2 Las declaraciones de variables 3.3 El alcance de las variables 3.4 Las matrices 3.5 Las constantes www.ediciones-eni.com 45 47 47 48 49 50 51 51 52 56 59 61 61 64 © Ediciones ENI 2/13 VBA Access 2013 Programar en Access 4. Las estructuras de decisión 67 4.1 La instrucción IF 4.2 La instrucción Select Case 4.3 La función IIf 67 69 70 5. Las estructuras en bucle 71 5.1 La instrucción Do...Loop 5.2 La instrucción While...Wend 5.3 La instrucción For...Next 5.4 La instrucción For Each...Next 71 72 73 74 6. Los operadores 75 6.1 Los operadores aritméticos 6.2 Los operadores de comparación 6.3 Los operadores lógicos 6.4 El operador de concatenación 6.5 Prioridad de los operadores 7. Las reglas de escritura del código 76 76 77 78 78 79 7.1 Los comentarios 7.2 El carácter de continuación 7.3 La indentación 7.4 Los nombres de procedimientos, variables y constantes 8. Las convenciones de llamada 79 80 80 81 81 8.1 Convención de llamada de las variables 8.2 Convención de llamada de los controles 8.3 Convención de llamada de los objetos 81 82 83 Objetos y colecciones 1. Presentación www.ediciones-eni.com 85 © Ediciones ENI 3/13 VBA Access 2013 Programar en Access 2. El modelo de objetos de Access 87 2.1 Principales colecciones 2.2 Objetos del Modelo 88 89 3. Principios de utilización de los objetos y de las colecciones 3.1 Las propiedades 3.2 Propiedades que representan objetos 3.3 Los métodos 3.4 Los eventos 3.5 Las colecciones 3.6 Presentación automática de instrucciones 90 90 90 92 93 94 96 4. Instrucciones utilizadas con los objetos 99 4.1 La instrucción With 4.2 La instrucción For each...Next 4.3 La instrucción If TypeOf 4.4 La instrucción Set 99 100 101 102 5. Las clases de objetos 107 5.1 Descripción 5.2 Los módulos de clase 5.3 Ejemplo de módulos de clase 107 107 108 6. El examinador de objetos 112 6.1 Presentación 6.2 Búsqueda en el examinador de objetos 7. Propiedades y métodos de objetos de Access 7.1 El objeto Application 7.2 El objeto DoCmd 7.3 El objeto Screen 7.4 La colección References 7.5 La colección Printers www.ediciones-eni.com 112 114 115 115 123 130 132 134 © Ediciones ENI 4/13 VBA Access 2013 Programar en Access Objetos de acceso a datos 1. Objetos de acceso a datos DAO y ADO 137 2. El modelo de acceso a datos DAO 138 2.1 Presentación 2.2 Jerarquía de los objetos DAO 2.3 Descripción de las colecciones 2.4 El objeto DBEngine 2.5 Los objetos Workspace 2.6 Les objetos Database 2.7 Los objetos Recordset 2.8 Los objetos Tabledef 2.9 Los objetos Field e Index 2.9.1 Field 2.9.2 Index 2.10 Los objetos QueryDef y Parameter 2.10.1 QueryDef 2.10.2 Parameter 2.11 Los objetos Relation 2.12 Los objetos Container y Document 2.12.1 Container 2.12.2 Document 2.13 Los objetos Group y User 2.13.1 User 2.13.2 Group 2.14 El objeto Error 2.15 Los objetos Property 3. El modelo de acceso a datos ADO 170 3.1 Presentación 3.2 ADO y OLE DB 3.3 Jerarquía de los objetos ADO 3.4 Modelo de base de programación ADO 3.5 Descripción de los objetos ADO www.ediciones-eni.com 138 139 140 142 143 145 147 153 155 155 156 158 158 160 161 163 163 164 165 165 166 167 169 © Ediciones ENI 170 170 172 173 174 5/13 VBA Access 2013 Programar en Access 3.6 Las colecciones ADO 3.7 Los objetos Connection 3.8 Los objetos Command 3.9 Los objetos Recordset 3.10 La colección Fields 3.11 Los objetos Field 3.12 La colección Parameters 3.13 Los objetos Parameter 3.14 La colección Properties 3.15 Los objetos Property 3.16 La colección Errors 3.17 Los objetos Error 175 175 178 179 185 185 186 187 188 188 188 189 El lenguaje SQL 1. Presentación 191 2. Lenguaje SQL y VBA 193 3. Descripción del lenguaje SQL 194 3.1 La instrucción SELECT 3.2 La cláusula FROM 3.3 La cláusula WHERE 3.4 La cláusula GROUP BY 3.5 La cláusula HAVING 3.6 La cláusula ORDER BY 3.7 La instrucción UPDATE 3.8 La instrucción DELETE 3.9 La instrucción INSERT INTO 3.10 Otras instrucciones 194 195 197 197 198 198 199 199 200 201 4. Ejemplos de utilización de consultas SQL 4.1 Actualización de registros 4.2 Carga de una lista desplegable www.ediciones-eni.com 202 203 204 © Ediciones ENI 6/13 VBA Access 2013 Programar en Access Gestión de los eventos 1. Presentación 207 1.1 Definición 1.2 Asociación de código VBA a un evento 2. Categorías de eventos 207 208 209 2.1 Eventos de tipo Ventana 2.2 Eventos de tipo Enfoque 2.3 Eventos de tipo Datos 2.4 Eventos de tipo Ratón 2.5 Eventos de tipo Teclado 2.6 Eventos de tipo Impresión 2.7 Eventos de tipo Filtro 2.8 Eventos de tipo Error y Cronómetro 209 210 211 213 213 215 216 216 3. Cancelación de un evento 216 4. Secuencias de tipos de eventos 217 5. Los eventos de actualización 219 Depuración y gestión de errores 1. Los distintos tipos de error 1.1 1.2 1.3 1.4 221 Los errores de sintaxis Los errores de compilación Los errores de ejecución Los errores de lógica 221 222 223 224 2. Depuración con VBA 225 2.1 Presentación www.ediciones-eni.com 225 © Ediciones ENI 7/13 VBA Access 2013 Programar en Access 2.2 La barra de herramientas Depuración 2.3 El objeto Debug 3. Gestión de errores con VBA 225 227 227 3.1 Principios 3.2 El procedimiento de evento Error 3.3 La instrucción On Error 3.4 El objeto Err 227 228 228 230 Personalizar formularios e informes 1. Presentación 233 2. Personalización de los formularios 234 2.1 Sintaxis 2.2 Propiedades disponibles en vista Diseño 2.2.1 Propiedades de la ficha Formato 2.2.2 Propiedades de la ficha Datos 2.2.3 Propiedades de la ficha Eventos 2.2.4 Propiedades de la ficha Otras 2.3 Propiedades no disponibles en modo Diseño 2.3.1 Propiedades relativas al modo de ver el formulario 2.3.2 Propiedades relativas a los registros y a su actualización 2.3.3 Propiedades relativas a la presentación del formulario 2.3.4 Propiedades que devuelven un objeto 2.3.5 Propiedades relativas a la impresión del formulario 2.4 Métodos del objeto Form 3. Personalización de los informes 251 3.1 Sintaxis 3.2 Propiedades disponibles en vista Diseño 3.2.1 Propiedades de la ficha Formato 3.2.2 Propiedades de la ficha Datos 3.2.3 Propiedades de la ficha Eventos www.ediciones-eni.com 234 235 236 239 241 245 246 246 246 247 249 249 250 © Ediciones ENI 251 252 252 255 256 8/13 VBA Access 2013 Programar en Access 3.2.4 Propiedades de la ficha Otras 3.3 Propiedades no disponibles en modo Diseño 3.3.1 Propiedades relativas al modo de ver el informe 3.3.2 Propiedades relativas a los registros y a su actualización 3.3.3 Propiedades relativas a la presentación del informe 3.3.4 Propiedades que devuelven un objeto 3.3.5 Propiedades relativas a la impresión del informe 3.3.6 Otras propiedades 3.4 Métodos 4. Los objetos Control 258 259 259 259 260 261 262 263 263 264 4.1 Sintaxis 4.2 Propiedades comunes de la mayoría de los controles 4.2.1 Propiedades que devuelvan objetos 4.2.2 Otras propiedades 4.3 Métodos comunes a la mayoría de los controles 4.4 El método Move 5. Los controles de Access 264 265 265 265 265 266 266 5.1 Presentación 5.2 Lista de los controles Access 266 267 Mejoras de la interfaz de usuario 1. Las opciones de inicio 269 2. Personalización de la cinta de opciones 271 2.1 Presentación 2.2 Configuración de Access para la personalización de la cinta de opciones 2.2.1 Mostrar las tablas del sistema en el panel de navegación 2.2.2 Mostrar mensajes de error contenidos en el código XML 2.3 Creación de una tabla del sistema USysRibbons 2.4 Adición de código XML de personalización a la tabla USysRibbons 2.5 Asociación de la cinta de opciones a la aplicación activa www.ediciones-eni.com © Ediciones ENI 271 272 272 272 273 274 275 9/13 VBA Access 2013 Programar en Access 2.6 Asociación de la cinta de opciones a un formulario o a un informe 3. Presentación del lenguaje XML 276 276 3.1 El lenguaje XML 276 3.2 Elementos XML utilizados para personalizar la cinta de opciones 277 3.2.1 Principales marcas activas XML utilizadas en el código XML de una cinta de opciones 277 3.2.2 Propiedades asociadas a los objetos de una cinta de opciones 278 4. Ejemplo de cinta de opciones personalizada 4.1 Código XML de la cinta de opciones personalizada 4.2 Código VBA llamado por los comandos de la cinta de opciones personalizada 5. Imágenes de la galería de iconos de Microsoft Office 279 279 283 284 Comunicación con aplicaciones 1. La tecnología Automatización 287 1.1 Presentación 1.2 Utilización de la tecnología Automatización 2. Controlar Word desde Access 290 2.1 El modelo Objeto Word 2.2 Principales colecciones del modelo de objetos Word 2.3 Principales objetos del modelo objeto de Word 2.4 La colección Documents 2.5 Los objetos Document 3. Controlar Excel desde Access 290 291 292 293 294 297 3.1 El modelo Objeto Excel 3.2 Principales colecciones de la aplicación Excel 3.3 La colección Workbooks www.ediciones-eni.com 287 289 © Ediciones ENI 297 298 299 10/13 VBA Access 2013 Programar en Access 3.4 Los objetos Workbook 3.4.1 Principales métodos del objeto Workbook 3.4.2 Las principales colecciones asociadas al objeto Workbook 3.5 Escritura de datos en celdas Excel 4. Controlar Outlook desde Access 299 299 300 300 302 4.1 El modelo Objeto Outlook 4.2 Ejemplo: mostrar los contactos de Outlook 302 303 Programación en Internet 1. Importación y exportación de datos en formato XML 305 1.1 El método ExportXML 1.2 El método ImportXML 1.3 Ejemplo de importación/exportación XML 306 308 308 2. Ejemplo de creación de un archivo HTML 312 Programación en Windows 1. Presentación de las API 315 2. Llamada a una función de la API Windows 316 2.1 Sintaxis de la instrucción Declare 2.2 Paso de argumentos 316 317 3. Lista de funciones de la API Windows 319 4. Ejemplos de utilización de funciones de la API Windows 320 4.1 Recuperación del directorio de Windows 4.2 Inicio de la aplicación Excel si no está activa 4.3 Recuperación de un valor en un archivo .ini 320 321 322 www.ediciones-eni.com © Ediciones ENI 11/13 VBA Access 2013 Programar en Access 5. El objeto FileSystemObject 324 5.1 Métodos 5.2 Propiedades 5.3 Ejemplo 324 325 325 Código de una mini-aplicación 1. Presentación 327 1.1 Enunciado del problema 1.2 Base de datos Cursos 1.3 Modelo relacional de la base 327 328 328 2. Formulario "Cursos" 329 2.1 Lista de controles 2.2 Código VBA 2.3 Subformulario "SF Participantes" 2.4 Código VBA 3. Formulario "Buscar" 330 331 335 336 337 3.1 Lista de controles 3.2 Código VBA 3.3 Subformulario "SF Cursos" 3.4 Informe "Cursos" 338 338 341 342 Anexos 1. Funciones e instrucciones VBA 345 1.1 Manipulación de cadenas de caracteres 1.2 Control del funcionamiento del programa 1.3 Conversión de datos 1.4 Fecha y hora www.ediciones-eni.com © Ediciones ENI 345 346 348 349 12/13 VBA Access 2013 Programar en Access 1.5 Declaración 1.6 Dominio 1.7 Intercambio dinámico de datos 1.8 Entrada y salida de archivos 1.9 Financieras 1.10 Gestión de errores 1.11 Gráficos en los informes impresos 1.12 Vinculación e incrustación de objetos 1.13 Manipulación de objetos 1.14 Matemáticas 1.15 SQL 1.16 Matrices 1.17 Control de variables 1.18 Funciones e instrucciones diversas 1.19 Códigos de error interceptables 2. Constantes VBA 2.1 2.2 2.3 2.4 2.5 350 351 351 352 354 355 355 356 356 356 357 358 358 359 360 366 Constantes de color Constantes de fecha Constantes de teclas teclado alfanumérico Constantes de teclas de función Constantes de teclas diversas 366 366 367 367 368 3. Métodos abreviados 369 índice 371 www.ediciones-eni.com © Ediciones ENI 13/13