Agregar corrector ortográfico a sus formularios de acceso de Microsoft
El control de ortografía es una característica valiosa para incorporar en formularios de acceso de Microsoft, asegurando la precisión de los datos y la profesionalidad. Access proporciona capacidades incorporadas de corrección de hechizos que pueden activarse tanto por atajos de teclado como mediante programación a través de VBA. Así es como puede implementar y optimizar la comprobación de ortografía en sus formularios de acceso
Usando el teclado
La forma más sencilla de obtener la comprobación de hechizos en las hojas de datos y la forma es mediante el uso del F7 Clave de acceso directo. Dependiendo del contexto, lo que se selecciona al momento de presionar el botón, verificará un solo cuadro de texto o el registro completo.
Usando la automatización de VBA
Para obtener más control, especialmente cuando desea activar la comprobación de hechizos a través de un botón o automáticamente, podemos usar VBA. En su forma más simple, el comando para iniciar el corrector ortográfico es:
DoCmd.RunCommand acCmdSpelling
Usando un control En salida o Enfoque perdido Evento, uno podría hacer algo como:
Private Sub YourControlName_Exit(Cancel As Integer) On Error GoTo Error_Handler With Me.YourControlName 'Could add a check to ensure it a text box .SetFocus If Len(.Value & "") > 0 Then .SelStart = 1 .SelLength = Len(.Value) DoCmd.SetWarnings False DoCmd.RunCommand acCmdSpelling .SelLength = 0 End If End With Error_Handler_Exit: On Error Resume Next DoCmd.SetWarnings True Exit Sub Error_Handler: MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Source: YourControlName_Exit" & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" Resume Error_Handler_Exit End Sub
También podría usar un botón de comando para activar el proceso haciendo algo como:
Private Sub Cmd_SpellCheckCtl_Click() On Error GoTo Error_Handler Dim ctl As Control Set ctl = Me.YourControlName If ctl.ControlType = acTextBox Then ctl.SetFocus If Len(ctl.Value & "") > 0 Then ctl.SelStart = 1 ctl.SelLength = Len(ctl.Value) DoCmd.SetWarnings False DoCmd.RunCommand acCmdSpelling ctl.SelLength = 0 End If End If Error_Handler_Exit: On Error Resume Next DoCmd.SetWarnings True Set ctl = Nothing Exit Sub Error_Handler: MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Source: Cmd_SpellCheckCtl_Click" & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" Resume Error_Handler_Exit End Sub
O, si desea verificar todo el formulario, puede hacer algo, como:
Private Sub Cmd_SpellCheckForm_Click() On Error GoTo Error_Handler Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then ctl.SetFocus If Len(ctl.Value & "") > 0 Then ctl.SelStart = 1 ctl.SelLength = Len(ctl.Value) DoCmd.SetWarnings False DoCmd.RunCommand acCmdSpelling ctl.SelLength = 0 End If End If Next ctl Error_Handler_Exit: On Error Resume Next DoCmd.SetWarnings True Exit Sub Error_Handler: MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Source: Cmd_SpellCheckForm_Click" & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" Resume Error_Handler_Exit End Sub