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

    Erro no uso da condição SQL WHERE: erro 3021 - nenhum registro atual

    avatar
    Eusepes
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 06/12/2018

    Erro no uso da condição SQL WHERE: erro 3021 - nenhum registro atual  Empty Erro no uso da condição SQL WHERE: erro 3021 - nenhum registro atual

    Mensagem  Eusepes em 30/5/2020, 17:49

    Olá amigos,
    Venho enfrentando algumas dificuldades na hora de utilizar a condição WHERE dentro se uma instrução SQL no vbaAccess.
    Estou tentando fazer com que meu sistema consulte a placa de um veiculo inserida em uma caixa de texto e verifique se essa placa já está cadastrada no sistema. O banco de dados tem 4 "colunas" com os campos placaVeiculo1 , placaVeiculo2 , placaVeiculo3, placaVeiculo4 (permitindo que o mesmo usuario tenha até 4 placas cadastradas em seu nome).

    No código abaixo, apresento apenas a parte que vem dando problema, especificamente na instrução "rs.moveFirst" . Quando essa instrução é executada, retorna o erro acima mencionado.

    Código:

    Private Sub btn_pesquisar_Click()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim sqltexto As String
    Dim textoTeste As String


    If pesquisaPlacaTxt.Value = "" Or IsNull(pesquisaPlacaTxt) = True Then
        MsgBox "Digite uma placa!", vbCritical + vbOKOnly, "Atenção"
        pesquisaPlacaTxt.SetFocus
        Exit Sub
    End If

    pesquisaPlacaTxt.Value = UCase(pesquisaPlacaTxt)


    sqltexto = "SELECT * FROM BancoDeDadosClientes  WHERE BancoDeDadosClientes.placaVeiculo1 = '" & Me.pesquisaPlacaTxt & "' OR BancoDeDadosClientes.placaVeiculo2= '" & Me.pesquisaPlacaTxt & "' OR BancoDeDadosClientes.placaVeiculo3= '" & Me.pesquisaPlacaTxt & "' OR BancoDeDadosClientes.placaVeiculo4= '" & Me.pesquisaPlacaTxt & "'  "

    Set db = CurrentDb()
    Set rs = db.OpenRecordset(sqltexto)



    teste1 = rs.BOF
    teste2 = rs.EOF
    teste3 = IsNull(rs)
    rs.MoveFirst

    end sub

    Desde já agradeco pela ajuda.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Erro no uso da condição SQL WHERE: erro 3021 - nenhum registro atual  Empty Re: Erro no uso da condição SQL WHERE: erro 3021 - nenhum registro atual

    Mensagem  Alexandre Neves em 31/5/2020, 14:39

    Boa tarde,
    Aparentemente, o sql está certo. Disponibilize dados para se trabalhar a dúvida


    .................................................................................
    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: 1/12/2020, 14:29