resumen:
Este tutorial lo ayuda en las herramientas de programación, es decir, el código VBA en Microsoft Access y puede obtener más información acerca de la programación.
Debes haber utilizado las macros de Access y saber muy bien con qué complejidad es trabajar. ¿No es así? Pero, ¿sabe cómo simplificar esta complejidad simplemente haciendo uso de los códigos VBA en Access?
Ahora se le pregunta lo que este código VBA es y cómo se usa? Bueno, para obtener respuestas de estas preguntas solo necesita obtener su información completa y simplifique su estilo de trabajo en MS Access.
Introducción al acceso a VBA
VBA es un lenguaje de programación que puede usar para crear aplicaciones potentes en Access. VBA incluye una gran cantidad de variables que puede usar para acceder a las macros.
No solo esto, sino también el uso de controles de terceros y escribir sus propias funciones / procedimientos para necesidades específicas específicas. También puede usar el código VBA para integrar su acceso a otros programas también.
La programación de Microsoft Access con VBA puede ser más fácil si conoce el teclado para los comandos más comunes y los bits de código más comunes en su aplicación.
Cómo activar las funciones incorporadas de VBA en el acceso
¿Sabe que puede activar las funciones integradas de VBA en su aplicación Access 2013/2016? Quiere saber cómo seguir estos pasos por instrucciones.
Para usar las funciones integradas de VBA en su base de datos de acceso, deberá dirigirse a la referencia visual básica llamada “Visual Basic para aplicaciones”.
- Para esto, solo necesita abrir la base de datos. Presione Alt + F11 para abrir Microsoft Visual Basic. Cuando aparezca la ventana de Microsoft Visual Basic, seleccione Referencias en el menú Herramientas.
- Cuando aparezca la ventana Referencias, busque la referencia llamada Visual Basic para Aplicaciones y asegúrese de que esté marcada.
- Luego, haga clic en el botón Aceptar.
- Ahora su base de datos de acceso puede usar las funciones incorporadas de VBA.
Código de programación y depuración de acceso común
Aquí está la lista del código común de VBA que lo ayuda a realizar la tarea de VBA completada, así que téngalo a mano.
Para abrir un formulario en la vista de formulario:
DoCmd.OpenForm “formname”,acNormal
Para realizar cambios en el formulario de propiedad en un formulario abierto:
Forms![formName].propertyName = newValue
Obtenga valor de un control en un formulario abierto:
Forms![formName]![controlName].Value
Cambiar el valor de un control en un formulario abierto:
Forms![formName]![controlName].Value = newValue
Cambiar una propiedad de control en un formulario abierto:
Forms![formName]![controlName].propertyName = newValue
Cierre un formulario, guardando los cambios:
DoCmd.Close acForm, “formName”, acSaveYes
Imprimir un informe:
DoCmd.OpenReport “reportName”, acViewNormal
Ejecute una consulta de acción:
DoCmd.RunSQL “SQLstatement”
Para mostrar un mensaje simple
MsgBox “yourMessage”
Para hacer una pregunta de sí / no en la pantalla.
variable = MsgBox(“yourMessage”, vbQuestion + vbYesNo)
TAMBIÉN LEÍDO:
Cómo corregir un error de Access reservado 7713, 7748, 7711 En Access 2016 / 2013/2010/2007
Navegando y seleccionando el código en Vba
Puede usar estos accesos directos de VBA en la ventana de código y en la ventana inmediata para simplificar su estilo de trabajo.
| acción | Tecla de acceso directo |
| Mueve el cursor hacia la derecha un caracter | → |
| Seleccionar personaje a la derecha | Shift + → |
| Mover el cursor a la derecha una palabra | Ctrl + → |
| Seleccionar hasta el final de la palabra | Ctrl + Shift + → |
| Mover el cursor a la izquierda un caracter | ← |
| Seleccionar personaje a la izquierda del cursor | Shift + ← |
| Mover el cursor a la izquierda una palabra | Ctrl + ← |
| Mueve el cursor para comenzar la línea | casa |
| Seleccionar texto para comenzar la línea | Shift + Home |
| Mueve el cursor al final de la línea | final |
| Seleccionar texto al final de la línea | Shift + Fin |
| Mueva el cursor hacia arriba en una línea | ↑ |
| Mueve el cursor por una línea | ↓ |
| Mueva el cursor al siguiente procedimiento | Ctrl + ↓ |
| Mueva el cursor al procedimiento anterior | Ctrl + ↑ |
| Desplazarse hacia arriba una pantalla | Re Pág |
| Desplazarse hacia abajo una pantalla | AvPág |
| Ir al principio del módulo | Ctrl + Inicio |
| Seleccionar todo el texto al principio del módulo | Ctrl + Shift + Inicio |
| Ir al final del módulo | Ctrl + Fin |
| Seleccionar todo el texto al final del módulo | Ctrl + Shift + Fin |
| Cortar selección | Ctrl + X |
| Copiar selección | Ctrl + C |
| Pegar selección | Ctrl + V |
| Cortar la línea actual al portapapeles | Ctrl + Y |
| Eliminar hasta el final de la palabra | Ctrl + Supr |
| Eliminar carácter o texto seleccionado | Eliminar (Del) |
| Eliminar el carácter a la izquierda del cursor | Retroceso |
| Eliminar hasta el final de la palabra | Ctrl + Supr |
| Eliminar al comienzo de la palabra | Ctrl + Retroceso |
| deshacer | Ctrl + Z |
| Línea de sangría | lengüeta |
| Línea externa | Shift + Tab |
| encontrar | Ctrl + F |
| reemplazar | Ctrl + H |
| Encontrar Siguiente | F3 |
| Encontrar Anterior | Shift + F3 |
| Obtenga ayuda con la palabra actualmente seleccionada | F1 |
| Información rápida | Ctrl + I |
Teclas de acceso directo del editor general VBA
La siguiente tabla le dará el conocimiento de las teclas de acceso directo y sus funciones disponibles en todo el editor de Visual Basic, donde podráescribir, modificar y ejecutar su código de VBA.
| acción | Tecla de acceso directo |
| Cambiar entre el acceso y el editor de VBA | Alt + F11 |
| ayudar | F1 |
| Ver el navegador de objetos | F2 |
| Ver propiedades / eventos | F4 |
| Ver ventana de código | F7 |
| Ver ventana Inmediato | Ctrl + G |
| Ver el menú contextual | Shift + F10 (o clic derecho) |
| Ejecutar un Sub / UserForm | F5 |
| Detener la ejecución del código | Ctrl + Pausa |
| Cierre el Editor de VBA y regrese a Access | Alt + Q |
VBA depurar atajo llaves
El código en el lenguaje de programación tiene que ser exactamente, no puede haber errores o errores. Si hay algún error o error, entonces mostrará un problema de compilación. Afortunadamente, puede depurar el código de VBA rápidamente con estos accesos directos de depuración.
| acción | Tecla de acceso directo |
| Alternar punto de interrupción | F9 |
| Entra en | F8 |
| Paso sobre | Shift + F8 |
| Salir | Ctrl + Shift + F8 |
| Ejecutar al cursor | Ctrl + F8 |
| Borrar todos los puntos de interrupción | Ctrl + F9 |
Access importante Código VBA junto con los ejemplos
ChangeLinkPath
Esta función se utiliza principalmente para cambiar la ruta anterior de las tablas vinculadas a una nueva ruta. La función hace esto abandonando las tablas vinculadas y luego vinculándolas a la misma tabla en la base de datos especificada en la nueva ruta.
Public Function ChangeLinkPath(strNewPath As String) As String
Dim dbs As DAO.Database
Dim strTblName As String
Dim colTbl As Collection
Dim intTbl As IntegerIf strNewPath <> “” And Dir(strNewPath) <> “” Then
Set colTbl = New Collection
Set dbs = CurrentDbFor intTbl = dbs.TableDefs.Count – 1 To 0 Step -1
If dbs.TableDefs(intTbl).Connect <> “” And _
Not dbs.TableDefs(intTbl).Connect Like “*” & strNewPath Then
colTbl.Add dbs.TableDefs(intTbl).Name
dbs.TableDefs.Delete dbs.TableDefs(intTbl).Name
End If
Next intTblFor intTbl = colTbl.Count To 1 Step -1
strTblName = colTbl(intTbl)
DoCmd.TransferDatabase acLink, “Microsoft Access”, _
strNewPath, acTable, strTblName, strTblName
Debug.Print “connection made to ‘” & strTblName & “‘”
Next intTblSet dbs = Nothing
Set colTbl = Nothing
Debug.Print “DONE!”
ChangeLinkPath = “DONE!”Else
Debug.Print “New path not provided. No changes made!”
ChangeLinkPath = “New path not provided. No changes made!”End If
Exit Function
End Function
ImportExportSpecification
Esta sección de Access VBA contiene documentación para todos los objetos, propiedades, métodos y eventos contenidos en el modelo de objetos de acceso.
El objeto ImportExportSpecification contiene toda la información que el acceso necesita para repetir una operación de importación / exportación sin proporcionar ninguna entrada.
Debe usar el método Agregar de la colección ImportExportSpecifications para crear un nuevo objeto ImportExportSpecification. Use el método Execute para ejecutar la operación de importación o exportación guardada.
TAMBIÉN LEÍDO:
Cómo corregir “MS Access no responde” Error en Access 2010/2013/2016?
ConcatenateFieldValues
Bueno, esta función se basa en un nombre de función concatenar. Se usa para crear una cadena concatenada a partir de los valores de un solo campo a partir de los registros completos que se desean incluir en la cadena concatenada.
Los registros que se incluirán, más el campo que se utilizará para crear la cadena concatenada, vienen dados por la declaración SQL que se pasa a la función.
La instrucción SQL pasada debe devolver solo un campo para que esta función funcione correctamente. El valor en la cadena concatenada está dado por la cadena que se proporciona a la función como una cadena delimitadora.
Public Function ConcatenateFieldValues(pstrSQL As String, _
Optional pstrDelim As String = “, “) As StringDim strConcat As String
‘======For ADO comment next 2 lines and =======
‘====== uncomment out ADO lines below =======
Dim db As DAO.Database
Dim rs As DAO.Recordset
On Error Resume Next
strConcat = “”
‘======For ADO comment out next 2 DAO lines and =======
‘====== uncomment ADO lines below =======
Set db = CurrentDb
Set rs = db.OpenRecordset(pstrSQL)‘======For ADO uncomment next two lines and =====
‘====== comment out DAO lines above and below ======
‘ Dim rs As New ADODB.Recordset
‘ rs.Open pstrSQL, CurrentProject.Connection, _
‘ adOpenKeyset, adLockOptimistic
With rs
If Not .EOF Then
.MoveFirst
Do While Not .EOF
strConcat = strConcat & .Fields(0) & pstrDelim
.MoveNext
Loop
End If
.Close
End With
Set rs = Nothing
‘====== Comment next 2 lines for ADO ========
db.Close
Set db = Nothing
If Len(strConcat) > 0 Then strConcat = _
Left(strConcat, Len(strConcat) – Len(pstrDelim))
ConcatenateFieldValues = strConcat
Exit Function
End Function
DeleteAllRelationships ()
El código de función DeleteAllRelationships () se usa básicamente para eliminar todas las relaciones en la base de datos actual.
En algunas circunstancias, la base de datos de acceso no puede mostrar las relaciones entre tablas en la ventana de relaciones. Como no podía ver la relación ni tampoco podía eliminarla, lo que llevará a su base de datos a un estado incoherente. Entonces, para tales casos, este código se proporciona como una solución.
Function DeleteAllRelationships() As String
‘ WARNING: Deletes all relationships in the current database.
Dim db As Database ‘ Current DB
Dim rex As Relations ‘ Relations of currentDB.
Dim rel As Relation ‘ Relationship being deleted.
Dim iKt As Integer ‘ Count of relations deleted.
Dim sMsg As String ‘ MsgBox string.sMsg = “About to delete ALL relationships between tables in the current database.” & vbCrLf & “Continue?”
If MsgBox(sMsg, vbQuestion + vbYesNo + vbDefaultButton2, “Are you sure?”) = vbNo Then
DeleteAllRelationships = “Operation cancelled”
Exit Function
End IfSet db = CurrentDb()
Set rex = db.Relations
iKt = rex.Count
Do While rex.Count > 0
Debug.Print rex(0).Name
rex.Delete rex(0).Name
Loop
DeleteAllRelationships = iKt & ” relationship(s) deleted”
End FunctionSimplemente copie y pegue esta función en un módulo. Presione Ctrl + G para abrir la ventana Inmediato. Entrar:
? DeleteAllRelationships()
Conclusión:
Afortunadamente, todos ustedes deben haber obtenido mucho conocimiento sobre el código Access VBA. ¡EXPLORA TUS IDEAS EN LA PROGRAMACIÓN CON ACCESO ….!
Este software asegura sin costura reparación y recuperación de la base de datos ACCDB y MDB. Es Restaura todos los objetos, incluidas tablas, informes, consultas, registros, formularios e índices, junto con módulos, macros, etc. Solucione los problemas de Microsoft Access ahora en 3 sencillos pasos:
- Descargue Stellar Access base de datos reparación herramienta calificado como Excelente en Cnet.
- Haga clic en la opción Examinar y Buscar para localizar la base de datos de Access corrupta.
- Haga clic en el botón Reparar para reparar y obtener una vista previa de los objetos de la base de datos.