MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Tratar erro - Instrução SELECT

    avatar
    kah182
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 27/08/2020

    Tratar erro - Instrução SELECT Empty Tratar erro - Instrução SELECT

    Mensagem  kah182 em Sex 2 Out - 17:50

    Boa noite!

    Tenho um campo em um formulario que traz os dados de uma tabela conforme a SAS que o usuário digita.
    Ele está funcionando corretamente, porém preciso tratar caso o usuário digite uma SAS que não existe.

    O ideal seria ver que o SELECT não encontra registro e aparecer uma msgbox com a informacao que a SAS não é válida, porém não sei como validar que o SELECT é nulo;

    Segue parte do meu código:


    Dim StrSQL As String
    Dim DB As Database
    Dim RS As Recordset
    Dim varNP As String



    StrSQL = "SELECT * FROM tblSASFinal WHERE tblSASFinal.SAS = " & Me.txtSAS

    Set DB = CurrentDb
    Set RS = DB.OpenRecordset(StrSQL)

    Me.txtStatus = RS("STATUS")
    Me.txtOM = RS("OM")



    quando o codigo chega no " Me.txtStatus = RS("STATUS")" CASO a SAS seja invalida ele apresenta o erro: No current record


    Alguém tem alguma ideia de como tratar essa situação?

    Obrigada!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7781
    Registrado : 05/11/2009

    Tratar erro - Instrução SELECT Empty Re: Tratar erro - Instrução SELECT

    Mensagem  Alexandre Neves em Sab 3 Out - 5:15

    Bom dia
    Código:
    Dim StrSQL As String, DB As Database, RS As Recordset, varNP As String

    StrSQL = "SELECT * FROM tblSASFinal WHERE tblSASFinal.SAS = " & Me.txtSAS

    Set DB = CurrentDb
    Set RS = DB.OpenRecordset(StrSQL)
    If RS.EOF Then
        MsgBox "SAS inválida."
    Else
        Me.txtStatus = RS("STATUS")
        Me.txtOM = RS("OM")
    End If


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kah182
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 27/08/2020

    Tratar erro - Instrução SELECT Empty Re: Tratar erro - Instrução SELECT

    Mensagem  kah182 em Qua 18 Nov - 12:49

    Deu certo - Obrigada!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7781
    Registrado : 05/11/2009

    Tratar erro - Instrução SELECT Empty Re: Tratar erro - Instrução SELECT

    Mensagem  Alexandre Neves em Qua 18 Nov - 16:25

    Boa noite
    Faltou o "Resolvido" que deve marcar no botão do formulário do fórum


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: Ter 1 Dez - 13:37