MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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


2 participantes

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

    avatar
    Eusepes
    Novato
    Novato


    Respeito às regras : 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 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 : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    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 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: 28/3/2024, 17:00