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

    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    avatar
    Convidado
    Convidado


    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  Convidado 11/8/2011, 13:02

    Amigos.. neste código executo um loop no recordset para pesquisar campos e realizar uma comparação.
    O que ocorre é que quando em um registro o campo é nulo dá Erro uso de Null inválido

    O que fazer?


    Código:

                Do While Not rs.EOF
                score = 0
                digi = rs!IndDir >>>> Erro nesta linha
              tpt = Deserialize(digi)
                ret = Verifica(score)
                If ret <= 0 Then
                rs.MoveNext

    Grato pela ajuda
    avatar
    Convidado
    Convidado


    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  Convidado 11/8/2011, 13:06

    Pensei em colocar um valor pardão.. mas é um campo OLE.. e não tem esta opção
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  criquio 11/8/2011, 13:10

    E um tratamento pelo número do erro não funcionaria?

    On Error GoTo TErro
    ...
    ...
    ...

    TErro:
    If Err.Number = ? Then
    Resume Next
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Convidado
    Convidado


    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  Convidado 11/8/2011, 13:11

    Tenho o tratamento.. mas ai não pesquisa o restante dos registros...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  JPaulo 11/8/2011, 15:53

    Já testou deste modo ?

    Do While Not RS.EOF
    score = 0
    If Not IsNull(RS!IndDir) Then
    digi = RS!IndDir
    tpt = Deserialize(digi)
    ret = Verifica(score)
    Else
    tpt = Deserialize(digi)
    ret = Verifica(score)
    End If
    RS.MoveNext



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidado
    Convidado


    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  Convidado 11/8/2011, 16:09

    Boas João Paulo..não deu certo...

    A sintaxe do comando If NotIsNull retornou erro no objeto

    Consegui da seguinte forma If IsNull (rs!Poldir) = False Then... Mas deu erro em sequencia do codigo na execução do próximo Else...

    Eis o código completo.. se puder me ajude a adaptá-lo

    Obrigado



    Código:
     '********DIGITAIS*************************************************************************
         
            If Not MoldeValido() Then
                EscreveLog ("Erro na captura da digital")
            Exit Sub
        End If
       
        Do While Not rs.EOF
                score = 0
                digi = rs("" & Me.txtBotao & "")
                tpt = Deserialize(digi)
                ret = Verifica(score)
                If ret <= 0 Then
                rs.MoveNext
        Else
            Exit Do
            End If
               
        Loop


        If rs.EOF Then
            EscreveLog1 ("Detento Não identificado")
        Exit Sub
            Else
            rsDet.FindFirst "ID = " & rs!ID_Detento  ' Encontrar primeiro registro com o código do detento."
            DetIdent = rsDet!Nome & Space(1) & rsDet!Sobrenome
            EscreveLog1 ("Detento identificado: " & DetIdent)
            Me.txtScore = score
            Me.txtScore.Visible = True
                If Me.btIdentificar.Caption = "Identificar" Then
                    Me.btIdentificar.Caption = "IDENTIFICADO"
                    Me.btIdentificar.ForeColor = vbRed
                End If
        End If

        Exit Sub
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  JPaulo 11/8/2011, 16:34

    Nesse código, onde é que entra o:

    If IsNull (rs!Poldir) = False

    ??????




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  JPaulo 11/8/2011, 16:41

    Até porque o Is Null penso não funcionar para controles imagens, teria de ser o Empty

    If rs!Poldir = Empty then



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidado
    Convidado


    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  Convidado 11/8/2011, 16:46

    Amigo João Paulo, peço que me de uns instantes.. resolvi deixar as digitais em apenas um campo..

    Antes a tabela estava assim
    ID_Detento - PolDir - IndDir - MedDir... etc... para todos os dedos...

    Então podia haver casos de que um detento não tivesse um dos dedos da mão.. ai a pesquisa no recordset dá uso de Nul Inválido

    Pois se:

    Detento1 (PolDir - Sim) (IndDir - Sim)
    Detento2 (PolDir - SIm) (IndDir - Não) 'O recordset da erro neste campo ao executar o loop


    Pois bem repensei o sistema e creio que vai ser melhor a seguinte configuração de tabela:

    ID_Dentento - Digital - Dedo Onde:

    Detento1 - Digital1 - Dedo Pol Direito
    Detento1 - Digital2 - Dedo Ind Direito etc..
    Detento2 - Digital1 - Dedo Pol Direito
    Detento2 - Digital2 - Dedo Ind Direito..


    Desta forma só cadastra os dedos que o detento tem.. ai não serão inseridos valores nulos na tabela, diferentemente da configuração da tabela anterior...

    Não sei se fui claro.. conseguiste entender?

    Desta nova form inclusive ficará até mais eficaz para pesquisar, pois so o faz em apenas um campo...


    Estou adaptando e dou retorno assim que pronto..

    Grato pela Ajuda
    avatar
    Convidado
    Convidado


    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  Convidado 11/8/2011, 21:18

    Amigos, resolvi desta forma... Ao invés de campos para cada dedo...
    Fiz um registro por dedo

    Então teremos para cada detento no máximo 10 registros... Cadastrando apenas os dedos possiveis de capturar a digital..
    Não ficando campo nulos na tabela...

    A tabela ficou com os campos

    ID_Detento | Campo Ole | Dedo | Mao |

    Agora encontrei outrra questão.. que seria Filtrar um recordSet para ferificar se o Detento X possui o dedo N cadastrado..

    Postei a dúvida em outro tópico..

    Grato JP e Criquio


    Conteúdo patrocinado


    [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro Empty Re: [Resolvido]Erro ao executar Loop em recordset quando há campos nulos em um registro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:45