Trucos y ejemplos de VBA para Microsoft Access

En esta página encontrarán algunos ejemplo de trucos de VBA (Visual Basic for Applications) que puedes utilizar en aplicaciones desarrolladas con la base de datos Microsoft Access. También puedes descargar los formularios, informes y códigos de ejemplo de Microsoft Access que encontrarás en esta página y disponer de ellos como quieras, ya sea para uso personal o profesional.

Empecé a desarrollar aplicaciones con Microsoft Access en 1995 con la primera versión Access 2.0 y hasta el día de hoy, es decir 27 años. Recuerdo que fue fascinantes pasar de COBOL a Access como herramienta por la cantidad de cosas que se simplificaban.

Dado que siempre he sido autodidacta, tanto en Basic como en PHP hay dos cosas que siempre me han ido muy bien, ejemplos de las funciones y un libro de referencia. Os dejo una recomendación que os puede ser útil.

Contenidos de Bucles

-Todos- Bucles (3)
Comandos de menú de Access - DoEvents en bucles - Listar los campos de una tabla -

Comandos de menú de Access Ver ficha

Código VBA para ver todos los comandos de las barras de menú de Access 2003. Este código puede ser útil cuando queremos personalizar las barras de menú....
Código para obtener todos los comandos de menú
Sub EnumerarComandos()
    Dim cb  As CommandBar
    Dim cbc As CommandBarControl
    For Each cb In Application.CommandBars
        Debug.Print cb.Name
        For Each cbc In cb.Controls
            Debug.Print cbc.Caption
        Next
    Next
End Sub


DoEvents en bucles Ver ficha

Mantener el control de un bucle con DoEvents evita que se bloquee Access en bucles largos y podamos recuperar el control del sistema....
En algunas ocasiones en un bucle Do While o For Next largo queremos hacer un display de algún campo para poder seguir la evolución del mismo sin embargo vemos como al poco rato la visualización se detiene y no responde hasta el final, con lo cual da la sensación de que el proceso se ha quedado colgado. Para solucionarlo y mantener la visualización de control en el bucle basta con añadir dentro del mismo la instrucción DoEvents.
Do While 
   ... 
   ... 
   DoEvents
Loop
Sin embargo está comprobado que llamar a DoEvents en cada bucle ralentiza mucho el proceso. En pruebas hechas con Excel VBA una macro puede multiplicar por 4 el tiempo de ejecución. Pôr eso recomienda lanzar cada n ejecuciones del bucle y poner el valor Application.Hecho a False para que no refresque pantalla constantemente.
Application.Echo False
Do While 
   ... 
   ... 
   ind=ind+1
   If ind Mod 100 = 0 Then
       DoEvents
   End If
Loop
Application.Echo True


Listar los campos de una tabla Ver ficha

Un bucle For Each para listar los campos de una tabla de Access...
Modo resumido
Sub CamposDeTabla()
    Dim dbs As DAO.Database
    Dim tdf As DAO.TableDef
    Dim fld As DAO.Field
    Set dbs = OpenDatabase("i:intex winbol2000E999car.mdb")
    Set tdf = dbs.TableDefs("CART0001")
    For Each fld In tdf.Fields
        Debug.Print fld.Name
    Next
    Set fld = Nothing
    Set tdf = Nothing
    dbs.Close
End Sub

Descargas de ejemplos de Microsoft Access

Historia Clínica

Es una base de datos sencilla para gestionar la historia clínica de una persona. Encontraras conceptos básicos como formularios, botones e informes. No se usan módulos VBA excepto el de los forms. Para nivel básico. Descargar HistoriaClinica en formato ZIP.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies