Sie sind auf Seite 1von 30

Ediciones ENI

VBA Access 2010


Programar en Access

Colección
Recursos Informáticos

Contenido
Podrá descargar algunos elementos de este libro en la página web
de 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 . . . . . . . . . . . . . 23


1. 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 . . . . . . . . . . . . 24


1. 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
Contenido

F. Publicar una base de datos Access


mediante un paquete firmado . . . . . . . . . . . . . 30
1. Obtener un certificado digital . . . . . . . . . . . . . . . . . 30
2. Crear y firmar un paquete . . . . . . . . . . . . . . . . . . 31

G. El entorno de desarrollo IDE . . . . . . . . . . . . . 32


1. Presentación . . . . . . . . . . . . . . . . . . . . . . . 32
2. Ventanas del entorno IDE . . . . . . . . . . . . . . . . . . 33

H. Configuración del editor VBA . . . . . . . . . . . . . 36


1. 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 . . . . . . . . . . . . . . . . . 45
1. 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

2 VBA Access 2010


Contenido

9. La función MsgBox . . . . . . . . . . . . . . . . . . . . . 52

C. Las variables . . . . . . . . . . . . . . . . . . . . 55
1. 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 . . . . . . . . . . . . . . 66


1. La instrucción IF . . . . . . . . . . . . . . . . . . . . . . 66
2. La instrucción Select Case . . . . . . . . . . . . . . . . . . 67
3. La función Iif . . . . . . . . . . . . . . . . . . . . . . . 69

E. Las estructuras en bucle . . . . . . . . . . . . . . . 69


1. 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 . . . . . . . . . . . . . . . . . . . 74
1. 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 . . . . . . . . . . . 77


1. 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

Programar en Access 3
Contenido

H. Las convenciones de llamada . . . . . . . . . . . . . 79


1. 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 . . . . . . . . . . . . 85


1. Principales colecciones . . . . . . . . . . . . . . . . . . . 86
2. Objetos del Modelo . . . . . . . . . . . . . . . . . . . . . 87

C. Principios de utilización de los objetos y de las colecciones 88


1. 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 . . . . . . . . . 97


1. 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 . . . . . . . . . . . . . . . . 104


1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . 104
2. Los módulos de clase . . . . . . . . . . . . . . . . . . . . 104
3. Ejemplo de módulos de clase . . . . . . . . . . . . . . . . 105

4 VBA Access 2010


Contenido

F. El examinador de objetos. . . . . . . . . . . . . . . 109


1. Presentación . . . . . . . . . . . . . . . . . . . . . . . 109
2. Búsqueda en el examinador de objetos . . . . . . . . . . . . 111

G. Propiedades y métodos de objetos de Access . . . . . . 112


1. 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 . . . . . . . . . . . 133


1. 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

Programar en Access 5
Contenido

15.Los objetos Property . . . . . . . . . . . . . . . . . . . . 164

C. El modelo de acceso a datos ADO . . . . . . . . . . . 165


1. 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 . . . . . . . . . . . . . 188


1. La instrucción SELECT . . . . . . . . . . . . . . . . . . . 188
2. La cláusula FROM . . . . . . . . . . . . . . . . . . . . . 189
3. La cláusula WHERE . . . . . . . . . . . . . . . . . . . . 191

6 VBA Access 2010


Contenido

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 . . . . . . . . 197


1. Actualización de registros . . . . . . . . . . . . . . . . . . 197
2. Carga de una lista desplegable . . . . . . . . . . . . . . . . 198

Gestión de los eventos Capítulo 6

A. Presentación . . . . . . . . . . . . . . . . . . . . 202
1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . 202
2. Asociación de código VBA a un evento. . . . . . . . . . . . . 202

B. Categorías de eventos . . . . . . . . . . . . . . . . 204


1. 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

Programar en Access 7
Contenido

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 . . . . . . . . . . . . . . 216


1. 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 . . . . . . . . . . . . . . . . 219


1. Presentación . . . . . . . . . . . . . . . . . . . . . . . 219
2. La barra de herramientas Depuración . . . . . . . . . . . . . 220
3. El objeto Debug . . . . . . . . . . . . . . . . . . . . . . 221

C. Gestión de errores con VBA . . . . . . . . . . . . . 221


1. 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 formularios Capítulo 8


y de los informes
A. Presentación . . . . . . . . . . . . . . . . . . . . 228

B. Personalización de los formularios . . . . . . . . . . . 228


1. Sintaxis. . . . . . . . . . . . . . . . . . . . . . . . . . 229

8 VBA Access 2010


Contenido

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 . . . . . . . . . . . . 244


1. 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

Programar en Access 9
Contenido

D. Los objetos Control . . . . . . . . . . . . . . . . . 256


1. 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 . . . . . . . . . . . . . . . 258


1. 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 . . . . . . . . 264


1. Presentación . . . . . . . . . . . . . . . . . . . . . . . 264
2. Configuración de Access para la personalización
de 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 . . . . . . . . . . . . 269


1. 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 XML
de una cinta de opciones . . . . . . . . . . . . . . . . . 270
b. Propiedades asociadas a los objetos de una cinta de opciones . 270

10 VBA Access 2010


Contenido

D. Ejemplo de cinta de opciones personalizada . . . . . . . 272


1. Código XML de la cinta de opciones personalizada. . . . . . . . 272
2. Código VBA llamado por los comandos de la cinta
de opciones personalizada . . . . . . . . . . . . . . . . . . 276

E. Imágenes de la galería de iconos de Microsoft Office . . . 277

Comunicación con Capítulo 10


las aplicaciones 2010
A. La tecnología Automatización . . . . . . . . . . . . . 280
1. Presentación . . . . . . . . . . . . . . . . . . . . . . . 280
2. Utilización de la tecnología Automatización . . . . . . . . . . . 281

B. Controlar Word desde Access . . . . . . . . . . . . . 282


1. 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 . . . . . . . . . . . . . 289


1. 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

Programar en Access 11
Contenido

D. Controlar Outlook desde Access . . . . . . . . . . . . 294


1. 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 . . . 298


1. 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 . . . . . . . 309


1. 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 . 312


1. 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

12 VBA Access 2010


Contenido

E. El objeto FileSystemObject . . . . . . . . . . . . . . 316


1. Métodos . . . . . . . . . . . . . . . . . . . . . . . . . 316
2. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . 317
3. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . 317

Código de una mini-aplicación Capítulo 13

A. Presentación . . . . . . . . . . . . . . . . . . . . 320
1. Enunciado del problema. . . . . . . . . . . . . . . . . . . 320
2. Base de datos Cursos . . . . . . . . . . . . . . . . . . . . 320
3. Modelo relacional de la base . . . . . . . . . . . . . . . . . 321

B. Formulario "Cursos" . . . . . . . . . . . . . . . . . 321


1. Lista de controles . . . . . . . . . . . . . . . . . . . . . 322
2. Código VBA . . . . . . . . . . . . . . . . . . . . . . . . 323
3. Subformulario "SF Participantes" . . . . . . . . . . . . . . . 328
4. Código VBA . . . . . . . . . . . . . . . . . . . . . . . . 329

C. Formulario "Buscar" . . . . . . . . . . . . . . . . . 330


1. Lista de controles . . . . . . . . . . . . . . . . . . . . . 331
2. Código VBA . . . . . . . . . . . . . . . . . . . . . . . . 331
3. Subformulario "SF Cursos" . . . . . . . . . . . . . . . . . . 335
4. Informe "Cursos" . . . . . . . . . . . . . . . . . . . . . . 336

Anexos
A. Funciones e instrucciones VBA . . . . . . . . . . . . 338
1. Manipulación de cadenas de caracteres . . . . . . . . . . . . 338
2. Control del funcionamiento del programa . . . . . . . . . . . . 339

Programar en Access 13
Contenido

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 . . . . . . . . . . . . . . . . . . 358


1. 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

14 VBA Access 2010


Ediciones ENI

VBA Access 2010


Creación de aplicaciones profesionales:
ejercicios y correcciones

Colección
Prácticas Técnicas

Contenido
Procedimientos
27
ENUNCIADOS DEL CAPÍTULO 1

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Variables - Constantes - Tipos de datos
37
ENUNCIADOS DEL CAPÍTULO 2

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Funciones - Operadores
49
ENUNCIADOS DEL CAPÍTULO 3

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Estructuras de control
63
ENUNCIADOS DEL CAPÍTULO 4

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Tablas
75
ENUNCIADOS DEL CAPÍTULO 5

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Introducción a la POO
85
ENUNCIADOS DEL CAPÍTULO 6

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Cuadros de díálogo
99
ENUNCIADOS DEL CAPÍTULO 7

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Formularios
107
ENUNCIADOS DEL CAPÍTULO 8

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Controles estándar
119
ENUNCIADOS DEL CAPÍTULO 9

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Informes
137
ENUNCIADOS DEL CAPÍTULO 10

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


SQL
145
ENUNCIADOS DEL CAPÍTULO11

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


ADO
155
ENUNCIADOS DEL CAPÍTULO 12

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Colaboración con aplicaciones Microsoft
167
ENUNCIADOS DEL CAPÍTULO 13

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida


Programación Web - Windows
179
ENUNCIADOS DEL CAPÍTULO 14

Tabla Contenido de
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

© Editions ENI - Reproducción prohibida

Das könnte Ihnen auch gefallen