Está en la página 1de 20

VBA Access 2013

Programar en Access

Introducción
1. Introducción
15

2. Objetivos del libro


15

Generalidades
1. Revisión de conceptos
19

2. Principios fundamentales de VBA


20

3. Conversión de macros a VBA


21
3.1 Conversión de las macros en un formulario o en un informe
22
3.2 Conversión de macros globales
23

4. Seguridad de la base de datos


23
4.1 Modificación de los parámetros de seguridad de una base de datos Access
23
4.2 Modificación de los parámetros de seguridad por defecto
25
4.3 Descripción de las diferentes opciones de seguridad
25
4.4 Documentos confiables
26
4.5 Ubicaciones de confianza
27

www.ediciones-eni.com © Ediciones ENI 1/20


VBA Access 2013
Programar en Access

4.6 Editores de confianza


28

5. Publicar una base de datos Access mediante un paquete firmado


29
5.1 Obtener un certificado digital
30
5.2 Crear y firmar un paquete
31

6. El entorno de desarrollo IDE


31
6.1 Presentación
31
6.2 Ventanas del entorno IDE
32

7. Configuración del editor VBA


35
7.1 Configuración de los colores del editor
35
7.2 Configuración de la presentación del código
36

8. Referencia a los objetos


36

9. Creación de un procedimiento en VBA


37

10. Consejos
41

El lenguaje Visual Basic


1. Los módulos
43

www.ediciones-eni.com © Ediciones ENI 2/20


VBA Access 2013
Programar en Access

2. Los procedimientos
44
2.1 Los procedimientos Sub
45
2.2 Los procedimientos Function
47
2.3 Declaración de los procedimientos
47
2.4 Alcance de los procedimientos
48
2.5 Argumentos de los procedimientos
49
2.6 Los argumentos con nombre
50
2.7 Llamada a un procedimiento
51
2.8 Ejemplos de procedimientos
51
2.9 La función MsgBox
52

3. Las variables
56
3.1 Los tipos de variables
56
3.2 Las declaraciones de variables
59
3.3 El alcance de las variables
61
3.4 Las matrices
61
3.5 Las constantes
64

4. Las estructuras de decisión


67
4.1 La instrucción IF
67
4.2 La instrucción Select Case
69

www.ediciones-eni.com © Ediciones ENI 3/20


VBA Access 2013
Programar en Access

4.3 La función IIf


70

5. Las estructuras en bucle


71
5.1 La instrucción Do...Loop
71
5.2 La instrucción While...Wend
72
5.3 La instrucción For...Next
73
5.4 La instrucción For Each...Next
74

6. Los operadores
75
6.1 Los operadores aritméticos
76
6.2 Los operadores de comparación
76
6.3 Los operadores lógicos
77
6.4 El operador de concatenación
78
6.5 Prioridad de los operadores
78

7. Las reglas de escritura del código


79
7.1 Los comentarios
79
7.2 El carácter de continuación
80
7.3 La indentación
80
7.4 Los nombres de procedimientos, variables y constantes
81

8. Las convenciones de llamada


81

www.ediciones-eni.com © Ediciones ENI 4/20


VBA Access 2013
Programar en Access

8.1 Convención de llamada de las variables


81
8.2 Convención de llamada de los controles
82
8.3 Convención de llamada de los objetos
83

Objetos y colecciones
1. Presentación
85

2. El modelo de objetos de Access


87
2.1 Principales colecciones
88
2.2 Objetos del Modelo
89

3. Principios de utilización de los objetos y de las colecciones


90
3.1 Las propiedades
90
3.2 Propiedades que representan objetos
90
3.3 Los métodos
92
3.4 Los eventos
93
3.5 Las colecciones
94
3.6 Presentación automática de instrucciones
96

4. Instrucciones utilizadas con los objetos


99
4.1 La instrucción With
99

www.ediciones-eni.com © Ediciones ENI 5/20


VBA Access 2013
Programar en Access

4.2 La instrucción For each...Next


100
4.3 La instrucción If TypeOf
101
4.4 La instrucción Set
102

5. Las clases de objetos


107
5.1 Descripción
107
5.2 Los módulos de clase
107
5.3 Ejemplo de módulos de clase
108

6. El examinador de objetos
112
6.1 Presentación
112
6.2 Búsqueda en el examinador de objetos
114

7. Propiedades y métodos de objetos de Access


115
7.1 El objeto Application
115
7.2 El objeto DoCmd
123
7.3 El objeto Screen
130
7.4 La colección References
132
7.5 La colección Printers
134

Objetos de acceso a datos

www.ediciones-eni.com © Ediciones ENI 6/20


VBA Access 2013
Programar en Access

1. Objetos de acceso a datos DAO y ADO


137

2. El modelo de acceso a datos DAO


138
2.1 Presentación
138
2.2 Jerarquía de los objetos DAO
139
2.3 Descripción de las colecciones
140
2.4 El objeto DBEngine
142
2.5 Los objetos Workspace
143
2.6 Les objetos Database
145
2.7 Los objetos Recordset
147
2.8 Los objetos Tabledef
153
2.9 Los objetos Field e Index
155
2.9.1 Field
155
2.9.2 Index
156
2.10 Los objetos QueryDef y Parameter
158
2.10.1 QueryDef
158
2.10.2 Parameter
160
2.11 Los objetos Relation
161
2.12 Los objetos Container y Document
163
2.12.1 Container
163
2.12.2 Document
164

www.ediciones-eni.com © Ediciones ENI 7/20


VBA Access 2013
Programar en Access

2.13 Los objetos Group y User


165
2.13.1 User
165
2.13.2 Group
166
2.14 El objeto Error
167
2.15 Los objetos Property
169

3. El modelo de acceso a datos ADO


170
3.1 Presentación
170
3.2 ADO y OLE DB
170
3.3 Jerarquía de los objetos ADO
172
3.4 Modelo de base de programación ADO
173
3.5 Descripción de los objetos ADO
174
3.6 Las colecciones ADO
175
3.7 Los objetos Connection
175
3.8 Los objetos Command
178
3.9 Los objetos Recordset
179
3.10 La colección Fields
185
3.11 Los objetos Field
185
3.12 La colección Parameters
186
3.13 Los objetos Parameter
187
3.14 La colección Properties
188

www.ediciones-eni.com © Ediciones ENI 8/20


VBA Access 2013
Programar en Access

3.15 Los objetos Property


188
3.16 La colección Errors
188
3.17 Los objetos Error
189

El lenguaje SQL
1. Presentación
191

2. Lenguaje SQL y VBA


193

3. Descripción del lenguaje SQL


194
3.1 La instrucción SELECT
194
3.2 La cláusula FROM
195
3.3 La cláusula WHERE
197
3.4 La cláusula GROUP BY
197
3.5 La cláusula HAVING
198
3.6 La cláusula ORDER BY
198
3.7 La instrucción UPDATE
199
3.8 La instrucción DELETE
199
3.9 La instrucción INSERT INTO
200
3.10 Otras instrucciones
201

4. Ejemplos de utilización de consultas SQL

www.ediciones-eni.com © Ediciones ENI 9/20


VBA Access 2013
Programar en Access

202
4.1 Actualización de registros
203
4.2 Carga de una lista desplegable
204

Gestión de los eventos


1. Presentación
207
1.1 Definición
207
1.2 Asociación de código VBA a un evento
208

2. Categorías de eventos
209
2.1 Eventos de tipo Ventana
209
2.2 Eventos de tipo Enfoque
210
2.3 Eventos de tipo Datos
211
2.4 Eventos de tipo Ratón
213
2.5 Eventos de tipo Teclado
213
2.6 Eventos de tipo Impresión
215
2.7 Eventos de tipo Filtro
216
2.8 Eventos de tipo Error y Cronómetro
216

3. Cancelación de un evento
216

4. Secuencias de tipos de eventos

www.ediciones-eni.com © Ediciones ENI 10/20


VBA Access 2013
Programar en Access

217

5. Los eventos de actualización


219

Depuración y gestión de errores


1. Los distintos tipos de error
221
1.1 Los errores de sintaxis
221
1.2 Los errores de compilación
222
1.3 Los errores de ejecución
223
1.4 Los errores de lógica
224

2. Depuración con VBA


225
2.1 Presentación
225
2.2 La barra de herramientas Depuración
225
2.3 El objeto Debug
227

3. Gestión de errores con VBA


227
3.1 Principios
227
3.2 El procedimiento de evento Error
228
3.3 La instrucción On Error
228
3.4 El objeto Err
230

www.ediciones-eni.com © Ediciones ENI 11/20


VBA Access 2013
Programar en Access

Personalizar formularios e informes


1. Presentación
233

2. Personalización de los formularios


234
2.1 Sintaxis
234
2.2 Propiedades disponibles en vista Diseño
235
2.2.1 Propiedades de la ficha Formato
236
2.2.2 Propiedades de la ficha Datos
239
2.2.3 Propiedades de la ficha Eventos
241
2.2.4 Propiedades de la ficha Otras
245
2.3 Propiedades no disponibles en modo Diseño
246
2.3.1 Propiedades relativas al modo de ver el formulario
246
2.3.2 Propiedades relativas a los registros y a su actualización
246
2.3.3 Propiedades relativas a la presentación del formulario
247
2.3.4 Propiedades que devuelven un objeto
249
2.3.5 Propiedades relativas a la impresión del formulario
249
2.4 Métodos del objeto Form
250

3. Personalización de los informes


251
3.1 Sintaxis
251

www.ediciones-eni.com © Ediciones ENI 12/20


VBA Access 2013
Programar en Access

3.2 Propiedades disponibles en vista Diseño


252
3.2.1 Propiedades de la ficha Formato
252
3.2.2 Propiedades de la ficha Datos
255
3.2.3 Propiedades de la ficha Eventos
256
3.2.4 Propiedades de la ficha Otras
258
3.3 Propiedades no disponibles en modo Diseño
259
3.3.1 Propiedades relativas al modo de ver el informe
259
3.3.2 Propiedades relativas a los registros y a su actualización
259
3.3.3 Propiedades relativas a la presentación del informe
260
3.3.4 Propiedades que devuelven un objeto
261
3.3.5 Propiedades relativas a la impresión del informe
262
3.3.6 Otras propiedades
263
3.4 Métodos
263

4. Los objetos Control


264
4.1 Sintaxis
264
4.2 Propiedades comunes de la mayoría de los controles
265
4.2.1 Propiedades que devuelvan objetos
265
4.2.2 Otras propiedades
265
4.3 Métodos comunes a la mayoría de los controles
265
4.4 El método Move
266

www.ediciones-eni.com © Ediciones ENI 13/20


VBA Access 2013
Programar en Access

5. Los controles de Access


266
5.1 Presentación
266
5.2 Lista de los controles Access
267

Mejoras de la interfaz de usuario


1. Las opciones de inicio
269

2. Personalización de la cinta de opciones


271
2.1 Presentación
271
2.2 Configuración de Access para la personalización de la cinta de opciones
272
2.2.1 Mostrar las tablas del sistema en el panel de navegación
272
2.2.2 Mostrar mensajes de error contenidos en el código XML
272
2.3 Creación de una tabla del sistema USysRibbons
273
2.4 Adición de código XML de personalización a la tabla USysRibbons
274
2.5 Asociación de la cinta de opciones a la aplicación activa
275
2.6 Asociación de la cinta de opciones a un formulario o a un informe
276

3. Presentación del lenguaje XML


276
3.1 El lenguaje XML
276
3.2 Elementos XML utilizados para personalizar la cinta de opciones
277
3.2.1 Principales marcas activas XML utilizadas en el código XML de una cinta de opciones

www.ediciones-eni.com © Ediciones ENI 14/20


VBA Access 2013
Programar en Access

277
3.2.2 Propiedades asociadas a los objetos de una cinta de opciones
278

4. Ejemplo de cinta de opciones personalizada


279
4.1 Código XML de la cinta de opciones personalizada
279
4.2 Código VBA llamado por los comandos de la cinta de opciones personalizada
283

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


284

Comunicación con aplicaciones


1. La tecnología Automatización
287
1.1 Presentación
287
1.2 Utilización de la tecnología Automatización
289

2. Controlar Word desde Access


290
2.1 El modelo Objeto Word
290
2.2 Principales colecciones del modelo de objetos Word
291
2.3 Principales objetos del modelo objeto de Word
292
2.4 La colección Documents
293
2.5 Los objetos Document
294

3. Controlar Excel desde Access

www.ediciones-eni.com © Ediciones ENI 15/20


VBA Access 2013
Programar en Access

297
3.1 El modelo Objeto Excel
297
3.2 Principales colecciones de la aplicación Excel
298
3.3 La colección Workbooks
299
3.4 Los objetos Workbook
299
3.4.1 Principales métodos del objeto Workbook
299
3.4.2 Las principales colecciones asociadas al objeto Workbook
300
3.5 Escritura de datos en celdas Excel
300

4. Controlar Outlook desde Access


302
4.1 El modelo Objeto Outlook
302
4.2 Ejemplo: mostrar los contactos de Outlook
303

Programación en Internet
1. Importación y exportación de datos en formato XML
305
1.1 El método ExportXML
306
1.2 El método ImportXML
308
1.3 Ejemplo de importación/exportación XML
308

2. Ejemplo de creación de un archivo HTML


312

www.ediciones-eni.com © Ediciones ENI 16/20


VBA Access 2013
Programar en Access

Programación en Windows
1. Presentación de las API
315

2. Llamada a una función de la API Windows


316
2.1 Sintaxis de la instrucción Declare
316
2.2 Paso de argumentos
317

3. Lista de funciones de la API Windows


319

4. Ejemplos de utilización de funciones de la API Windows


320
4.1 Recuperación del directorio de Windows
320
4.2 Inicio de la aplicación Excel si no está activa
321
4.3 Recuperación de un valor en un archivo .ini
322

5. El objeto FileSystemObject
324
5.1 Métodos
324
5.2 Propiedades
325
5.3 Ejemplo
325

Código de una mini-aplicación


1. Presentación

www.ediciones-eni.com © Ediciones ENI 17/20


VBA Access 2013
Programar en Access

327
1.1 Enunciado del problema
327
1.2 Base de datos Cursos
328
1.3 Modelo relacional de la base
328

2. Formulario "Cursos"
329
2.1 Lista de controles
330
2.2 Código VBA
331
2.3 Subformulario "SF Participantes"
335
2.4 Código VBA
336

3. Formulario "Buscar"
337
3.1 Lista de controles
338
3.2 Código VBA
338
3.3 Subformulario "SF Cursos"
341
3.4 Informe "Cursos"
342

Anexos
1. Funciones e instrucciones VBA
345
1.1 Manipulación de cadenas de caracteres
345
1.2 Control del funcionamiento del programa
346

www.ediciones-eni.com © Ediciones ENI 18/20


VBA Access 2013
Programar en Access

1.3 Conversión de datos


348
1.4 Fecha y hora
349
1.5 Declaración
350
1.6 Dominio
351
1.7 Intercambio dinámico de datos
351
1.8 Entrada y salida de archivos
352
1.9 Financieras
354
1.10 Gestión de errores
355
1.11 Gráficos en los informes impresos
355
1.12 Vinculación e incrustación de objetos
356
1.13 Manipulación de objetos
356
1.14 Matemáticas
356
1.15 SQL
357
1.16 Matrices
358
1.17 Control de variables
358
1.18 Funciones e instrucciones diversas
359
1.19 Códigos de error interceptables
360

2. Constantes VBA
366
2.1 Constantes de color
366
2.2 Constantes de fecha
366

www.ediciones-eni.com © Ediciones ENI 19/20


VBA Access 2013
Programar en Access

2.3 Constantes de teclas teclado alfanumérico


367
2.4 Constantes de teclas de función
367
2.5 Constantes de teclas diversas
368

3. Métodos abreviados
369

índice
371

www.ediciones-eni.com © Ediciones ENI 20/20

También podría gustarte