Избегайте ошибок аутентификации во время выполнения VBA Excel - PullRequest
0 голосов
/ 09 октября 2018

Это мой код для подключения к Redshift с помощью формы с полями имени пользователя и пароля.

If TextBox_username.Value = "" Or TextBox_password.Value = "" Then
       MsgBox "Enter Username and Password"
    Else
         oConn.Open "Driver={Amazon Redshift (x86)};" & _
            "Server=" & strServerAddress & ";" & _
            "Port=123;" & _
            "Database=abc;" & _
            "Uid=" & strUsername & ";" & _
            "Pwd=" & strPassword & ";"
        oConn.commandTimeout = 600

        If oConn.State = 1 Then
        End If
    End If

Проблема в том, что если пользователь вводит неправильные учетные данные по ошибке, я получаю ошибку времени выполнения, как показано ниже: enter image description here

Как я могу обработать эту ошибку с сообщением, в котором говорится, что "Недействительные учетные данные", а не с сообщением об ошибке времени выполнения и с запросом на завершение?Спасибо за вашу помощь

1 Ответ

0 голосов
/ 09 октября 2018

Сначала вам нужно перейти на

Tools -> Options -> General -> Error trapping

и выбрать

Break on Unhandled errors

добавить к вашему коду:

Public Sub Teste()
On Error GoTo Err
    If TextBox_username.Value = "" Or TextBox_password.Value = "" Then
       MsgBox "Enter Username and Password"
    Else
       oConn.Open "Driver={Amazon Redshift (x86)};" & _
                "Server=" & strServerAddress & ";" & _
                "Port=123;" & _
                "Database=abc;" & _
                "Uid=" & strUsername & ";" & _
                "Pwd=" & strPassword & ";"
       oConn.commandTimeout = 600

       If oConn.State = 1 Then
       End If
    End If
Exit Sub
    Err:
    Msgbox Err.Description 'Your custom message
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...