Access

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

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba