Post on 30-Nov-2018
Ediciones ENI
VBA Access 2010Programar en Access
Colección Recursos Informáticos
Contenido
Podrá descargar algunos elementos de este libro en la página webde Ediciones ENI: http:www.ediciones-eni.com.
Escriba la referencia ENI del libro RIT10ACCV en la zona de búsqueda y valide.Haga clic en el título y después en el vínculo de descarga.
Introducción
A. Introducción . . . . . . . . . . . . . . . . . . . . 16
B. Objetivos del libro. . . . . . . . . . . . . . . . . . 16
Generalidades Capítulo 1
A. Revisión de conceptos . . . . . . . . . . . . . . . . 20
B. Principios fundamentales de VBA . . . . . . . . . . . 21
C. Las novedades de Access 2010 . . . . . . . . . . . . 22
D. Conversión de macros a VBA . . . . . . . . . . . . . 231. Conversión de las macros en un formulario o en un informe . . . . 23
2. Conversión de macros globales . . . . . . . . . . . . . . . . 24
E. Seguridad de la base de datos . . . . . . . . . . . . 241. Modificación de los parámetros de seguridad
de una base de datos Access . . . . . . . . . . . . . . . . 24
2. Modificación de los parámetros de seguridad por defecto . . . . . 26
3. Descripción de las diferentes opciones de seguridad . . . . . . . 26
4. Documentos confiables . . . . . . . . . . . . . . . . . . . 27
5. Ubicaciones de confianza . . . . . . . . . . . . . . . . . . 28
6. Editores de confianza . . . . . . . . . . . . . . . . . . . . 29
Programar en Access 1
F. Publicar una base de datos Accessmediante un paquete firmado . . . . . . . . . . . . . 301. Obtener un certificado digital . . . . . . . . . . . . . . . . . 30
2. Crear y firmar un paquete . . . . . . . . . . . . . . . . . . 31
G. El entorno de desarrollo IDE . . . . . . . . . . . . . 321. Presentación . . . . . . . . . . . . . . . . . . . . . . . 32
2. Ventanas del entorno IDE . . . . . . . . . . . . . . . . . . 33
H. Configuración del editor VBA . . . . . . . . . . . . . 361. Configuración de los colores del editor . . . . . . . . . . . . . 36
2. Configuración de la presentación del código . . . . . . . . . . 36
I. Referencia a los objetos . . . . . . . . . . . . . . . 37
J. Creación de un procedimiento en VBA . . . . . . . . . 38
K. Consejos. . . . . . . . . . . . . . . . . . . . . . 42
El lenguaje Visual Basic Capítulo 2
A. Los módulos . . . . . . . . . . . . . . . . . . . . 44
B. Los procedimientos . . . . . . . . . . . . . . . . . 451. Los procedimientos Sub . . . . . . . . . . . . . . . . . . . 46
2. Los procedimientos Function . . . . . . . . . . . . . . . . . 47
3. Declaración de los procedimientos . . . . . . . . . . . . . . 48
4. Alcance de los procedimientos . . . . . . . . . . . . . . . . 48
5. Argumentos de los procedimientos . . . . . . . . . . . . . . 49
6. Los argumentos con nombre . . . . . . . . . . . . . . . . . 50
7. Llamada a un procedimiento . . . . . . . . . . . . . . . . . 51
8. Ejemplos de procedimientos . . . . . . . . . . . . . . . . . 51
Contenido
2 VBA Access 2010
9. La función MsgBox . . . . . . . . . . . . . . . . . . . . . 52
C. Las variables . . . . . . . . . . . . . . . . . . . . 551. Los tipos de variables . . . . . . . . . . . . . . . . . . . . 55
2. Las declaraciones de variables . . . . . . . . . . . . . . . . 58
3. El alcance de las variables. . . . . . . . . . . . . . . . . . 60
4. Las matrices . . . . . . . . . . . . . . . . . . . . . . . 60
5. Las constantes. . . . . . . . . . . . . . . . . . . . . . . 63
D. Las estructuras de decisión . . . . . . . . . . . . . . 661. La instrucción IF . . . . . . . . . . . . . . . . . . . . . . 66
2. La instrucción Select Case . . . . . . . . . . . . . . . . . . 67
3. La función Iif . . . . . . . . . . . . . . . . . . . . . . . 69
E. Las estructuras en bucle . . . . . . . . . . . . . . . 691. La instrucción Do...Loop . . . . . . . . . . . . . . . . . . 70
2. La instrucción While...Wend . . . . . . . . . . . . . . . . . 71
3. La instrucción For...Next . . . . . . . . . . . . . . . . . . 72
4. La instrucción For Each...Next . . . . . . . . . . . . . . . . 73
F. Los operadores . . . . . . . . . . . . . . . . . . . 741. Los operadores aritméticos. . . . . . . . . . . . . . . . . . 74
2. Los operadores de comparación . . . . . . . . . . . . . . . 75
3. Los operadores lógicos . . . . . . . . . . . . . . . . . . . 75
4. El operador de concatenación . . . . . . . . . . . . . . . . 76
5. Prioridad de los operadores . . . . . . . . . . . . . . . . . 76
G. Las reglas de escritura del código . . . . . . . . . . . 771. Los comentarios . . . . . . . . . . . . . . . . . . . . . . 77
2. El carácter de continuación . . . . . . . . . . . . . . . . . 78
3. La indentación. . . . . . . . . . . . . . . . . . . . . . . 78
4. Los nombres de procedimientos, variables y constantes. . . . . . 79
Contenido
Programar en Access 3
H. Las convenciones de llamada . . . . . . . . . . . . . 791. Convención de llamada de las variables . . . . . . . . . . . . 79
2. Convención de llamada de los controles . . . . . . . . . . . . 80
3. Convención de llamada de los objetos . . . . . . . . . . . . . 81
Objetos y colecciones Capítulo 3
A. Presentación . . . . . . . . . . . . . . . . . . . . 84
B. El modelo de objetos de Access . . . . . . . . . . . . 851. Principales colecciones . . . . . . . . . . . . . . . . . . . 86
2. Objetos del Modelo . . . . . . . . . . . . . . . . . . . . . 87
C. Principios de utilización de los objetos y de las colecciones 881. Las propiedades . . . . . . . . . . . . . . . . . . . . . . 88
2. Propiedades que representan objetos . . . . . . . . . . . . . 88
3. Los métodos . . . . . . . . . . . . . . . . . . . . . . . 89
4. Los eventos . . . . . . . . . . . . . . . . . . . . . . . . 91
5. Las colecciones . . . . . . . . . . . . . . . . . . . . . . 91
6. Presentación automática de instrucciones . . . . . . . . . . . 94
D. Instrucciones utilizadas con los objetos . . . . . . . . . 971. La instrucción With. . . . . . . . . . . . . . . . . . . . . 97
2. La instrucción For each...Next . . . . . . . . . . . . . . . . 98
3. La instrucción If TypeOf . . . . . . . . . . . . . . . . . . . 99
4. La instrucción Set . . . . . . . . . . . . . . . . . . . . . 99
E. Las clases de objetos . . . . . . . . . . . . . . . . 1041. Descripción . . . . . . . . . . . . . . . . . . . . . . . . 104
2. Los módulos de clase . . . . . . . . . . . . . . . . . . . . 104
3. Ejemplo de módulos de clase . . . . . . . . . . . . . . . . 105
Contenido
4 VBA Access 2010
F. El examinador de objetos. . . . . . . . . . . . . . . 1091. Presentación . . . . . . . . . . . . . . . . . . . . . . . 109
2. Búsqueda en el examinador de objetos . . . . . . . . . . . . 111
G. Propiedades y métodos de objetos de Access . . . . . . 1121. El objeto Application . . . . . . . . . . . . . . . . . . . . 112
2. El objeto DoCmd . . . . . . . . . . . . . . . . . . . . . . 119
3. El objeto Screen . . . . . . . . . . . . . . . . . . . . . . 125
4. La colección References . . . . . . . . . . . . . . . . . . . 126
5. La colección Printers . . . . . . . . . . . . . . . . . . . . 129
Objetos de acceso a datos Capítulo 4
A. Objetos de acceso a datos DAO y ADO . . . . . . . . . 132
B. El modelo de acceso a datos DAO . . . . . . . . . . . 1331. Presentación . . . . . . . . . . . . . . . . . . . . . . . 133
2. Jerarquía de los objetos DAO. . . . . . . . . . . . . . . . . 134
3. Descripción de las colecciones . . . . . . . . . . . . . . . . 135
4. El objeto DBEngine . . . . . . . . . . . . . . . . . . . . . 137
5. Los objetos Workspace . . . . . . . . . . . . . . . . . . . 138
6. Les objetos Database . . . . . . . . . . . . . . . . . . . . 139
7. Los objetos Recordset. . . . . . . . . . . . . . . . . . . . 141
8. Los objetos Tabledef . . . . . . . . . . . . . . . . . . . . 148
9. Los objetos Field e Index . . . . . . . . . . . . . . . . . . 149
10.Los objetos QueryDef y Parameter . . . . . . . . . . . . . . 153
11.Los objetos Relation . . . . . . . . . . . . . . . . . . . . 156
12.Los objetos Container y Document . . . . . . . . . . . . . . 158
13.Los objetos Group y User . . . . . . . . . . . . . . . . . . 160
14.El objeto Error . . . . . . . . . . . . . . . . . . . . . . . 162
Contenido
Programar en Access 5
15.Los objetos Property . . . . . . . . . . . . . . . . . . . . 164
C. El modelo de acceso a datos ADO . . . . . . . . . . . 1651. Presentación . . . . . . . . . . . . . . . . . . . . . . . 165
2. ADO y OLE DB . . . . . . . . . . . . . . . . . . . . . . 166
3. Jerarquía de los objetos ADO. . . . . . . . . . . . . . . . . 167
4. Modelo de base de programación ADO. . . . . . . . . . . . . 168
5. Descripción de los objetos ADO. . . . . . . . . . . . . . . . 169
6. Las colecciones ADO . . . . . . . . . . . . . . . . . . . . 170
7. Los objetos Connection . . . . . . . . . . . . . . . . . . . 170
8. Los objetos Command . . . . . . . . . . . . . . . . . . . 173
9. Los objetos Recordset. . . . . . . . . . . . . . . . . . . . 174
10.La colección Fields . . . . . . . . . . . . . . . . . . . . . 180
11.Los objetos Field . . . . . . . . . . . . . . . . . . . . . . 180
12.La colección Parameters. . . . . . . . . . . . . . . . . . . 181
13.Los objetos Parameter . . . . . . . . . . . . . . . . . . . 182
14.La colección Properties . . . . . . . . . . . . . . . . . . . 183
15.Los objetos Property . . . . . . . . . . . . . . . . . . . . 183
16.La colección Errors . . . . . . . . . . . . . . . . . . . . . 183
17.Los objetos Error . . . . . . . . . . . . . . . . . . . . . . 184
El lenguaje SQL Capítulo 5
A. Presentación . . . . . . . . . . . . . . . . . . . . 186
B. Lenguaje SQL y VBA . . . . . . . . . . . . . . . . 188
C. Descripción del lenguaje SQL . . . . . . . . . . . . . 1881. La instrucción SELECT . . . . . . . . . . . . . . . . . . . 188
2. La cláusula FROM . . . . . . . . . . . . . . . . . . . . . 189
3. La cláusula WHERE . . . . . . . . . . . . . . . . . . . . 191
Contenido
6 VBA Access 2010
4. La cláusula GROUP BY . . . . . . . . . . . . . . . . . . . 191
5. La cláusula HAVING . . . . . . . . . . . . . . . . . . . . 192
6. La cláusula ORDER BY . . . . . . . . . . . . . . . . . . . 193
7. La instrucción UPDATE . . . . . . . . . . . . . . . . . . . 193
8. La instrucción DELETE . . . . . . . . . . . . . . . . . . . 194
9. La instrucción INSERT INTO . . . . . . . . . . . . . . . . . 195
10.Otras instrucciones . . . . . . . . . . . . . . . . . . . . . 196
D. Ejemplos de utilización de consultas SQL . . . . . . . . 1971. Actualización de registros . . . . . . . . . . . . . . . . . . 197
2. Carga de una lista desplegable . . . . . . . . . . . . . . . . 198
Gestión de los eventos Capítulo 6
A. Presentación . . . . . . . . . . . . . . . . . . . . 2021. Definición . . . . . . . . . . . . . . . . . . . . . . . . . 202
2. Asociación de código VBA a un evento. . . . . . . . . . . . . 202
B. Categorías de eventos . . . . . . . . . . . . . . . . 2041. Eventos de tipo Ventana. . . . . . . . . . . . . . . . . . . 204
2. Eventos de tipo Enfoque. . . . . . . . . . . . . . . . . . . 205
3. Eventos de tipo Datos. . . . . . . . . . . . . . . . . . . . 206
4. Eventos de tipo Ratón . . . . . . . . . . . . . . . . . . . 207
5. Eventos de tipo Teclado . . . . . . . . . . . . . . . . . . . 208
6. Eventos de tipo Impresión . . . . . . . . . . . . . . . . . . 209
7. Eventos de tipo Filtro . . . . . . . . . . . . . . . . . . . . 210
8. Eventos de tipo Error y Cronómetro . . . . . . . . . . . . . . 210
C. Cancelación de un evento . . . . . . . . . . . . . . 211
Contenido
Programar en Access 7
D. Secuencias de tipos de eventos . . . . . . . . . . . . 212
E. Los eventos de actualización . . . . . . . . . . . . . 213
Depuración y gestión de errores Capítulo 7
A. Los distintos tipos de error . . . . . . . . . . . . . . 2161. Los errores de sintaxis . . . . . . . . . . . . . . . . . . . 216
2. Los errores de compilación . . . . . . . . . . . . . . . . . 217
3. Los errores de ejecución. . . . . . . . . . . . . . . . . . . 218
4. Los errores de lógica . . . . . . . . . . . . . . . . . . . . 219
B. Depuración con VBA . . . . . . . . . . . . . . . . 2191. Presentación . . . . . . . . . . . . . . . . . . . . . . . 219
2. La barra de herramientas Depuración . . . . . . . . . . . . . 220
3. El objeto Debug . . . . . . . . . . . . . . . . . . . . . . 221
C. Gestión de errores con VBA . . . . . . . . . . . . . 2211. Principios . . . . . . . . . . . . . . . . . . . . . . . . . 221
2. El procedimiento de evento Error . . . . . . . . . . . . . . . 222
3. La instrucción On Error . . . . . . . . . . . . . . . . . . . 223
4. El objeto Err. . . . . . . . . . . . . . . . . . . . . . . . 224
Personalización de los formulariosy de los informes
Capítulo 8
A. Presentación . . . . . . . . . . . . . . . . . . . . 228
B. Personalización de los formularios . . . . . . . . . . . 2281. Sintaxis. . . . . . . . . . . . . . . . . . . . . . . . . . 229
Contenido
8 VBA Access 2010
2. Propiedades disponibles en vista Diseño . . . . . . . . . . . . 230
a. Propiedades de la ficha Formato. . . . . . . . . . . . . . 231
b. Propiedades de la ficha Datos . . . . . . . . . . . . . . . 234
c. Propiedades de la ficha Eventos . . . . . . . . . . . . . . 235
d. Propiedades de la ficha Otras . . . . . . . . . . . . . . . 238
3. Propiedades no disponibles en modo Diseño . . . . . . . . . . 239
a. Propiedades relativas al modo de ver el formulario . . . . . . 239
b. Propiedades relativas a los registros y a su actualización. . . . 240
c. Propiedades relativas a la presentación del formulario . . . . . 240
d. Propiedades que devuelven un objeto. . . . . . . . . . . . 242
e. Propiedades relativas a la impresión del formulario . . . . . . 242
4. Métodos del objeto Form . . . . . . . . . . . . . . . . . . 243
C. Personalización de los informes . . . . . . . . . . . . 2441. Sintaxis. . . . . . . . . . . . . . . . . . . . . . . . . . 244
2. Propiedades disponibles en vista Diseño . . . . . . . . . . . . 245
a. Propiedades de la ficha Formato. . . . . . . . . . . . . . 245
b. Propiedades de la ficha Datos . . . . . . . . . . . . . . . 248
c. Propiedades de la ficha Eventos . . . . . . . . . . . . . . 249
d. Propiedades de la ficha Otras . . . . . . . . . . . . . . . 250
3. Propiedades no disponibles en modo Diseño . . . . . . . . . . 251
a. Propiedades relativas al modo de ver el informe . . . . . . . 251
b. Propiedades relativas a los registros y a su actualización. . . . 251
c. Propiedades relativas a la presentación del informe . . . . . . 252
d. Propiedades que devuelven un objeto. . . . . . . . . . . . 253
e. Propiedades relativas a la impresión del informe . . . . . . . 254
f. Otras propiedades . . . . . . . . . . . . . . . . . . . . 255
4. Métodos . . . . . . . . . . . . . . . . . . . . . . . . . 255
Contenido
Programar en Access 9
D. Los objetos Control . . . . . . . . . . . . . . . . . 2561. Sintaxis. . . . . . . . . . . . . . . . . . . . . . . . . . 256
2. Propiedades comunes de la mayoría de los controles. . . . . . . 256
3. Métodos comunes a la mayoría de los controles . . . . . . . . . 257
4. El método Move . . . . . . . . . . . . . . . . . . . . . . 257
E. Los controles de Access . . . . . . . . . . . . . . . 2581. Presentación . . . . . . . . . . . . . . . . . . . . . . . 258
2. Lista de los controles Access 2010 . . . . . . . . . . . . . . 258
Mejoras de la interfaz de usuario Capítulo 9
A. Las opciones de inicio . . . . . . . . . . . . . . . . 262
B. Personalización de la cinta de opciones . . . . . . . . 2641. Presentación . . . . . . . . . . . . . . . . . . . . . . . 264
2. Configuración de Access para la personalizaciónde la cinta de opciones . . . . . . . . . . . . . . . . . . . 265
a. Mostrar las tablas del sistema en el panel de navegación . . . 265
b. Mostrar mensajes de error contenidos en el código XML . . . . 265
3. Creación de una tabla del sistema USysRibbons. . . . . . . . . 266
4. Adición de código XML de personalización a la tabla USysRibbons . 266
5. Asociación de la cinta de opciones a la aplicación activa . . . . . 267
6. Asociación de la cinta de opciones a un formulario o a un informe . 268
C. Presentación del lenguaje XML . . . . . . . . . . . . 2691. El lenguaje XML . . . . . . . . . . . . . . . . . . . . . . 269
2. Elementos XML utilizados para personalizar la cinta de opciones . . 270
a. Principales marcas activas XML utilizadas en el código XMLde una cinta de opciones . . . . . . . . . . . . . . . . . 270
b. Propiedades asociadas a los objetos de una cinta de opciones . 270
Contenido
10 VBA Access 2010
D. Ejemplo de cinta de opciones personalizada . . . . . . . 2721. Código XML de la cinta de opciones personalizada. . . . . . . . 272
2. Código VBA llamado por los comandos de la cintade opciones personalizada . . . . . . . . . . . . . . . . . . 276
E. Imágenes de la galería de iconos de Microsoft Office . . . 277
Comunicación conlas aplicaciones 2010
Capítulo 10
A. La tecnología Automatización . . . . . . . . . . . . . 2801. Presentación . . . . . . . . . . . . . . . . . . . . . . . 280
2. Utilización de la tecnología Automatización . . . . . . . . . . . 281
B. Controlar Word desde Access . . . . . . . . . . . . . 2821. El modelo Objeto Word . . . . . . . . . . . . . . . . . . . 282
2. Principales colecciones del modelo de objetos Word . . . . . . . 283
3. Principales objetos del modelo objeto de Word . . . . . . . . . 284
4. La colección Documents. . . . . . . . . . . . . . . . . . . 285
5. Los objetos Document . . . . . . . . . . . . . . . . . . . 285
C. Controlar Excel desde Access . . . . . . . . . . . . . 2891. El modelo Objeto Excel . . . . . . . . . . . . . . . . . . . 289
2. Principales colecciones de la aplicación Excel . . . . . . . . . . 290
3. La colección Workbooks. . . . . . . . . . . . . . . . . . . 291
4. Los objetos Workbook . . . . . . . . . . . . . . . . . . . 291
a. Principales métodos del objeto Workbook . . . . . . . . . . 291
b. Las principales colecciones asociadas al objeto Workbook . . . 292
5. Escritura de datos en celdas Excel . . . . . . . . . . . . . . 292
Contenido
Programar en Access 11
D. Controlar Outlook desde Access . . . . . . . . . . . . 2941. El modelo Objeto Outlook . . . . . . . . . . . . . . . . . . 294
2. Ejemplo: mostrar los contactos de Oulook . . . . . . . . . . . 295
Programación en Internet Capítulo 11
A. Importación y exportación de datos en formato XML . . . 2981. El método ExportXML . . . . . . . . . . . . . . . . . . . . 298
2. El método ImportXML. . . . . . . . . . . . . . . . . . . . 300
3. Ejemplo de importación/exportación XML. . . . . . . . . . . . 300
B. Ejemplo de creación de un archivo HTML. . . . . . . . 304
Programación en Windows Capítulo 12
A. Presentación de las API . . . . . . . . . . . . . . . 308
B. Llamada a una función de la API Windows . . . . . . . 3091. Sintaxis de la instrucción Declare . . . . . . . . . . . . . . . 309
2. Paso de argumentos . . . . . . . . . . . . . . . . . . . . 310
C. Lista de funciones de la API Windows . . . . . . . . . 311
D. Ejemplos de utilización de funciones de la API Windows . 3121. Recuperación del directorio de Windows . . . . . . . . . . . . 312
2. Inicio de la aplicación Excel si no está activa . . . . . . . . . . 313
3. Recuperación de un valor en un archivo .ini . . . . . . . . . . 314
Contenido
12 VBA Access 2010
E. El objeto FileSystemObject . . . . . . . . . . . . . . 3161. Métodos . . . . . . . . . . . . . . . . . . . . . . . . . 316
2. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . 317
3. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . 317
Código de una mini-aplicación Capítulo 13
A. Presentación . . . . . . . . . . . . . . . . . . . . 3201. Enunciado del problema. . . . . . . . . . . . . . . . . . . 320
2. Base de datos Cursos . . . . . . . . . . . . . . . . . . . . 320
3. Modelo relacional de la base . . . . . . . . . . . . . . . . . 321
B. Formulario "Cursos" . . . . . . . . . . . . . . . . . 3211. Lista de controles . . . . . . . . . . . . . . . . . . . . . 322
2. Código VBA . . . . . . . . . . . . . . . . . . . . . . . . 323
3. Subformulario "SF Participantes" . . . . . . . . . . . . . . . 328
4. Código VBA . . . . . . . . . . . . . . . . . . . . . . . . 329
C. Formulario "Buscar" . . . . . . . . . . . . . . . . . 3301. Lista de controles . . . . . . . . . . . . . . . . . . . . . 331
2. Código VBA . . . . . . . . . . . . . . . . . . . . . . . . 331
3. Subformulario "SF Cursos" . . . . . . . . . . . . . . . . . . 335
4. Informe "Cursos" . . . . . . . . . . . . . . . . . . . . . . 336
Anexos
A. Funciones e instrucciones VBA . . . . . . . . . . . . 3381. Manipulación de cadenas de caracteres . . . . . . . . . . . . 338
2. Control del funcionamiento del programa. . . . . . . . . . . . 339
Contenido
Programar en Access 13
3. Conversión de datos . . . . . . . . . . . . . . . . . . . . 340
4. Fecha y hora . . . . . . . . . . . . . . . . . . . . . . . 342
5. Declaración . . . . . . . . . . . . . . . . . . . . . . . . 343
6. Dominio . . . . . . . . . . . . . . . . . . . . . . . . . 344
7. Intercambio dinámico de datos . . . . . . . . . . . . . . . . 345
8. Entrada y salida de archivos . . . . . . . . . . . . . . . . . 345
9. Financieras . . . . . . . . . . . . . . . . . . . . . . . . 347
10.Gestión de errores . . . . . . . . . . . . . . . . . . . . . 348
11.Gráficos en los informes impresos. . . . . . . . . . . . . . . 349
12.Vinculación e incrustación de objetos . . . . . . . . . . . . . 349
13.Manipulación de objetos. . . . . . . . . . . . . . . . . . . 349
14.Matemáticas . . . . . . . . . . . . . . . . . . . . . . . 350
15.SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
16.Matrices . . . . . . . . . . . . . . . . . . . . . . . . . 351
17.Control de variables . . . . . . . . . . . . . . . . . . . . 352
18.Funciones e instrucciones diversas . . . . . . . . . . . . . . 352
19.Códigos de error interceptables . . . . . . . . . . . . . . . . 353
B. Constantes VBA . . . . . . . . . . . . . . . . . . 3581. Constantes de color. . . . . . . . . . . . . . . . . . . . . 358
2. Constantes de fecha . . . . . . . . . . . . . . . . . . . . 359
3. Constantes de teclas teclado alfanumérico . . . . . . . . . . . 359
4. Constantes de teclas de función . . . . . . . . . . . . . . . 360
5. Constantes de teclas diversas . . . . . . . . . . . . . . . . 360
C. Métodos abreviados . . . . . . . . . . . . . . . . . 361
Índice . . . . . . . . . . . . . . . . . . . . . . . 363
Contenido
14 VBA Access 2010
Ediciones ENI
VBA Access 2010 Creación de aplicaciones profesionales:
ejercicios y correcciones
Colección Prácticas Técnicas
Contenido
Tabla de Contenido
Capítulo 1: Procedimientos
Requisitos 28
Ejercicio 1.1: Crear y utilizar un procedimiento público 30
Ejercicio 1.2: Crear y utilizar un procedimiento privado 31
Ejercicio 1.3: Llamar a un procedimiento desde un procedimiento 32
Ejercicio 1.4: Llamar a un procedimiento desde otro módulo 32
Ejercicio 1.5: Llamar a un procedimiento general
desde un procedimiento de evento 32
Ejercicio 1.6: Crear un procedimiento de evento para un formulario 33
Ejercicio 1.7: Crear una función 34
Ejercicio 1.8: Utilizar una función 34
Ejercicio 1.9: Utilizar parámetros con nombre 35
27Procedimientos
ENUNCIADOS DEL CAPÍTULO 1
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 2: Variables - Constantes - Tipos de datos
Requisitos 38
Ejercicio 2.1: Declarar y utilizar una variable 41
Ejercicio 2.2: Declarar y utilizar una constante 43
Ejercicio 2.3: Utilizar la fecha de sistema 45
Ejercicio 2.4: Crear el tipo "Pez Tropical" definido por el usuario 46
Ejercicio 2.5: Utilizar el tipo "Pez Tropical" 46
Ejercicio 2.6: Utilizar una variable objeto para modificar un título 47
37Variables - Constantes - Tipos de datos
ENUNCIADOS DEL CAPÍTULO 2
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 3: Funciones - Operadores
Requisitos 50
Ejercicio 3.1: Dividir dos números 52
Ejercicio 3.2: Obtener el resto de una división entera 53
Ejercicio 3.3: Comparar dos números y buscar el más pequeño de ambos 54
Ejercicio 3.4: Devolver el resultado de elevar un número a N 55
Ejercicio 3.5: Cálculo del factorial 55
Ejercicio 3.6: Calcular el porcentaje 56
Ejercicio 3.7: Calcular la comisión 57
Ejercicio 3.8: Calcular el precio de venta (PVP)
a partir del porcentaje de IVA y del precio bruto 58
Ejercicio 3.9: Calcular el valor final de un depósito a plazo fijo 58
Ejercicio 3.10: Calcular la anualidad constante 59
Ejercicio 3.11: Comparar dos cadenas de caracteres 60
Ejercicio 3.12: Dar formato a una palabra 60
Ejercicio 3.13: Buscar una palabra 61
Ejercicio 3.14: Extraer información de una cadena de caracteres 62
49Funciones - Operadores
ENUNCIADOS DEL CAPÍTULO 3
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 4: Estructuras de control
Requisitos 64
Ejercicio 4.1: Controlar la entrada de datos 66
Ejercicio 4.2: Despedirse 67
Ejercicio 4.3: Consonante o vocal 68
Ejercicio 4.4: Edad y tratamiento 69
Ejercicio 4.5: Decir hola N veces 70
Ejercicio 4.6: Contar de N en N hasta M 71
Ejercicio 4.7: Hacer obligatoria una entrada y controlar la salida 72
Ejercicio 4.8: Las palabras reflejadas 73
Ejercicio 4.9: Números primos 74
Ejercicio 4.10: Contar el número de ocurrencias de un número 74
63Estructuras de control
ENUNCIADOS DEL CAPÍTULO 4
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 5: Tablas
Requisitos 76
Ejercicio 5.1: Declarar una tabla accesible
por todos los procedimientos del proyecto 78
Ejercicio 5.2: Declarar una tabla accesible sólo
por los procedimientos del módulo 78
Ejercicio 5.3: Utilizar una tabla declarada en un procedimiento 78
Ejercicio 5.4: Utilizar una tabla a nivel de módulo 79
Ejercicio 5.5: Inicializar una tabla con un bucle 79
Ejercicio 5.6: Declarar y utilizar una tabla de dos dimensiones 80
Ejercicio 5.7: Utilizar una tabla de más de dos dimensiones 80
Ejercicio 5.8: Declarar y utilizar una tabla dinámica 81
Ejercicio 5.9: Ampliar una tabla dinámica conservando los valores iniciales 82
Ejercicio 5.10: Explotar una tabla usando un bucle 83
Ejercicio 5.11: Mostrar una tabla en un cuadro de lista 83
75Tablas
ENUNCIADOS DEL CAPÍTULO 5
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 6: Introducción a la POO
Requisitos 86
Ejercicio 6.1: Acceder a un objeto y modificar sus propiedades 89
Ejercicio 6.2: Gestión de errores 92
Ejercicio 6.3: Gestión de colecciones 93
Ejercicio 6.4: Gestión de eventos 94
Ejercicio 6.5: Crear una clase 95
Ejercicio 6.6: Utilizar la clase creada 96
Ejercicio 6.7: Crear y utilizar sus colecciones 97
85Introducción a la POO
ENUNCIADOS DEL CAPÍTULO 6
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 7: Cuadros de diálogo
Requisitos 100
Ejercicio 7.1: Mostrar un mensaje simple 102
Ejercicio 7.2: Solicitar una entrada de datos sin controlar 102
Ejercicio 7.3: Control de la entrada 102
Ejercicio 7.4: Elegir botones para los cuadros de diálogo 103
Ejercicio 7.5: Seleccionar el botón predeterminado
entre varios botones disponibles 104
Ejercicio 7.6: Elegir y añadir un icono a un cuadro de diálogo 104
Ejercicio 7.7: Realizar una acción según la elección del usuario 105
Ejercicio 7.8: Realizar tratamientos si el usuario introduce
la información solicitada 105
99Cuadros de díálogo
ENUNCIADOS DEL CAPÍTULO 7
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 8: Formularios
Requisitos 108
Ejercicio 8.1: Abrir un formulario 110
Ejercicio 8.2: Mostrar un formulario en modo de sólo lectura 112
Ejercicio 8.3: Indicar el contenido de un formulario 112
Ejercicio 8.4: Actuar sobre un subformulario 113
Ejercicio 8.5: Cambiar el color de fondo 113
Ejercicio 8.6: Mostrar una imagen de fondo 113
Ejercicio 8.7: Duplicar un formulario 114
Ejercicio 8.8: Modificar varias propiedades o controles del formulario 114
Ejercicio 8.9: Gestionar el desplazamiento del ratón por el formulario 114
Ejercicio 8.10: Gestionar el doble clic del ratón en el formulario 116
Ejercicio 8.11: Cerrar un formulario 117
107Formularios
ENUNCIADOS DEL CAPÍTULO 8
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 9: Controles estándar
Requisitos 120
Ejercicio 9.1: Seleccionar un control 122
Ejercicio 9.2: Modificar la apariencia de un control 123
Ejercicio 9.3: Ocultar y volver a mostrar controles 123
Ejercicio 9.4: Hacer que un control dependa de otro 124
Ejercicio 9.5: Provocar actuaciones de controles a raíz de acciones
con el ratón 124
Ejercicio 9.6: Provocar actuaciones de controles a raíz de pulsaciones
en el teclado 125
Ejercicio 9.7: Cálculo de comisiones 125
Ejercicio 9.8: Gestionar una lista simple 126
Ejercicio 9.9: Añadir un valor en un cuadro combinado modificable 130
Ejercicio 9.10: Enlazar listas con tablas 131
Ejercicio 9.11: Utilizar botones de opción 133
Ejercicio 9.12: Utilizar casillas de selección asociadas a imágenes 133
Ejercicio 9.13: Gestionar imágenes 134
119Controles estándar
ENUNCIADOS DEL CAPÍTULO 9
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 10: Informes
Requisitos 138
Ejercicio 10.1: Abrir un informe en modo vista previa 140
Ejercicio 10.2: Impresión directa 140
Ejercicio 10.3: Listar todos los productos que empiezan por A 140
Ejercicio 10.4: Listar los productos sin stock 141
Ejercicio 10.5: Realizar una actualización condicional dinámica 141
Ejercicio 10.6: Imprimir un informe parametrizado 143
137Informes
ENUNCIADOS DEL CAPÍTULO 10
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 11: SQL
Requisitos 146
Ejercicio 11.1: Mostrar todos los registros de una tabla 148
Ejercicio 11.2: Mostrar algunos campos de una tabla 149
Ejercicio 11.3: Seleccionar e imprimir registros 149
Ejercicio 11.4: Realizar una búsqueda parametrizada 150
Ejercicio 11.5: Realizar una búsqueda a partir de un cuadro combinado 151
Ejercicio 11.6: Realizar una búsqueda con múltiples criterios 151
Ejercicio 11.7: Actualizar datos 153
Ejercicio 11.8: Eliminar un registro 153
Ejercicio 11.9: Imprimir una selección mediante un informe programado 154
145SQL
ENUNCIADOS DEL CAPÍTULO11
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 12: ADO
Requisitos 156
Ejercicio 12.1: Crear una referencia a la base de datos actual 159
Ejercicio 12.2: Gestionar la base de datos actual 160
Ejercicio 12.3: Crear una referencia a una base de datos Access externa 161
Ejercicio 12.4: Gestionar una base de datos Access externa 161
Ejercicio 12.5: Configurar una pasarela ODBC 163
Ejercicio 12.6: Crear una referencia en una base de datos externa
vía una pasarela ODBC 163
Ejercicio 12.7: Gestionar una base de datos externa vía una pasarela ODBC 164
Ejercicio 12.8: Crear un cuadro de mandos 166
155ADO
ENUNCIADOS DEL CAPÍTULO 12
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 13: Colaboración con aplicaciones Microsoft
Requisitos 168
Ejercicio 13.1: Iniciar una aplicación Microsoft 171
Ejercicio 13.2: Abrir un libro Excel 171
Ejercicio 13.3: Copiar datos Access en aplicaciones Microsoft 171
Ejercicio 13.4: Realizar un correo publicitario con Word 173
Ejercicio 13.5: Exportar una consulta a Excel 174
Ejercicio 13.6: Enviar un mail con Outlook 175
Ejercicio 13.7: Ejecutar Windows Live Mail desde Windows Vista/Windows 7 177
Ejercicio 13.8: Usar funciones Excel 177
167Colaboración con aplicaciones Microsoft
ENUNCIADOS DEL CAPÍTULO 13
© Editions ENI - Reproducción prohibida
Tabla de Contenido
Capítulo 14: Programación Web - Windows
Requisitos 180
Ejercicio 14.1: Publicar datos Access en formato HTML 182
Ejercicio 14.2: Exportar una tabla Access a formato XML 183
Ejercicio 14.3: Exportar un formulario a formato XSL 184
Ejercicio 14.4: Importar datos XML 185
Ejercicio 14.5: Averiguar el nombre del ordenador 186
Ejercicio 14.6: Averiguar el espacio libre en el disco duro 188
Ejercicio 14.7: Activar el pitido de Windows 189
179Programación Web - Windows
ENUNCIADOS DEL CAPÍTULO 14
© Editions ENI - Reproducción prohibida