vba access 2010 - ediciones-eni.com fileediciones eni vba access 2010 programar en access colección...
TRANSCRIPT
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