MaximoAccess

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

Obrigado

Administração do MaximoAccess

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 : 25
    Registrado : 09/07/2019

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

    Mensagem  JVitor em Sex 08 Nov 2019, 3:14 pm

    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 : 211
    Registrado : 12/01/2015

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

    Mensagem  renpv em Sex 08 Nov 2019, 7:26 pm

    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 : 25
    Registrado : 09/07/2019

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

    Mensagem  JVitor Ontem à(s) 10:09 am

    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 : 211
    Registrado : 12/01/2015

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

    Mensagem  renpv Hoje à(s) 6:41 am

    O forum agradece o retorno.

    Sucesso

    Conteúdo patrocinado

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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Ter 12 Nov 2019, 9:36 am