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

    [Resolvido]FindFirst para Campos vazios

    avatar
    JVitor
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/07/2019

    [Resolvido]FindFirst para Campos vazios Empty [Resolvido]FindFirst para Campos vazios

    Mensagem  JVitor em 8/11/2019, 20:14

    Boa noite, Pessoal,

    Preciso de uma ajuda,

    Tenho um Formulário que buca a informação em uma tabela, porem quando o campo esta vazio, retorna a mensagem de erro.

    ERRO - Tempo de execuxão '3077'
    Erro de sintexe (operador faltando) na expressão.

    Private Sub txt_fogo_P01_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Lançamento - Pneus Mov"
    Set rs = Forms![Lançamento - Pneus Mov].Recordset.Clone
    rs.FindFirst "Numero_fogo=" & Me.txt_fogo_P01 & ""
    If Not rs.EOF Then Forms![Lançamento - Pneus Mov].Bookmark = rs.Bookmark

    DoCmd.Close acForm, "Consulta - Pneus Frota"
    End Sub

    Da certo somente quando o campo tem um valor, porem quando esta vazio, retorna erro.

    Obrigado a todos,

    JVitor


    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]FindFirst para Campos vazios Empty Re: [Resolvido]FindFirst para Campos vazios

    Mensagem  renpv em 9/11/2019, 00:26

    Amigo, vou partir do princípio que você tenha que usar essa função (findFirst).

    Você pode tentar validar de várias formas antes de executá-la.

    Exemplo #01: Você pode fazer uma busca no banco de dados com dlookup ou dcount antes de criar o objeto recordset

    Exemplo #02: Dependendo do que vai fazer com o dado bastaria o dlookup sem a necessidade de recordset

    Exemplo #03: Você pode usar as instruções de tratamento de erro (On Error Resume Next) ou (On Error GoTo Handler). Esse último precisaria de um Handler para manipular o erro.

    Se você quer só se livrar do erro sem tratamento tente o seguinte código:
    Código:

    Private Sub txt_fogo_P01_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Lançamento - Pneus Mov"
    Set rs = Forms![Lançamento - Pneus Mov].Recordset.Clone
    On Error Resume Next
    rs.FindFirst "Numero_fogo=" & Me.txt_fogo_P01 & ""
    If Not rs.EOF Then Forms![Lançamento - Pneus Mov].Bookmark = rs.Bookmark

    DoCmd.Close acForm, "Consulta - Pneus Frota"
    End Sub
    avatar
    JVitor
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/07/2019

    [Resolvido]FindFirst para Campos vazios Empty FindFirst para Campos vazios

    Mensagem  JVitor em 11/11/2019, 15:09

    Show de bola renpv.

    Muito obrigado pelo retorno. cheers
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]FindFirst para Campos vazios Empty Re: [Resolvido]FindFirst para Campos vazios

    Mensagem  renpv em 12/11/2019, 11:41

    O forum agradece o retorno.

    Sucesso

      Data/hora atual: 23/9/2020, 16:21