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

    Listbox quando selecionada o listcount = 1

    pedrovaleriojr
    pedrovaleriojr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 13/04/2021

    Listbox quando selecionada o listcount = 1 Empty Listbox quando selecionada o listcount = 1

    Mensagem  pedrovaleriojr 15/4/2024, 13:32

    Amigos do fórum,

    Sempre me deparo com esse "bug".

    Nesse exemplo, faço um Requery para recarregar a listbox com dados de uma SQL.
    Mesmo não retornando nada (era para retornar, mas está ficando vazia  Embarassed ), o listcount aparece com o valor 1 e não 0 como deveria.

       With lstBancoHoras
           .RowSourceType = "Table/Query"
           .RowSource = strBancoHoras
           .Requery
           MsgBox "Registros na lista: " & .ListCount
       End With

    A SQL é essa, não tem nada de errado com ela:

       strBancoHoras = "SELECT BHFuncionarioID, BHData AS Data, BHMovimento AS Movimento, BHTempo AS Tempo, BHTempoSaldo AS Saldo" & _
                       "FROM tblPontoBancoHoras " & _
                       "WHERE BHFuncionarioID=" & codigoFuncionario & _
                       "ORDER BY BHData DESC;"

    No teste que estou fazendo a variável codigoFuncionario é igual a 44, pois pega o código do funcionário em uma combo.

    Envio anexo o BD de exemplo.
    Anexos
    Listbox quando selecionada o listcount = 1 AttachmentBancoExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (39 Kb) Baixado 3 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3221
    Registrado : 13/12/2016

    Listbox quando selecionada o listcount = 1 Empty Re: Listbox quando selecionada o listcount = 1

    Mensagem  Alexandre Fim 15/4/2024, 14:12

    Bom dia,

    O problema era na string do SELECT.
    O código do funcionario estava colado com o ORDER BY, confrome abaixo:

    Listbox quando selecionada o listcount = 1 Erro_s10

    Inserir espaços na string para evitar o erro.


    Segue o código:

    Código:


    Private Sub BHFuncionarioID_AfterUpdate()
        On Error GoTo Err_BHFuncionarioID_AfterUpdate
       
        codigoFuncionario = BHFuncionarioID.Column(0)
        strBancoHoras = " SELECT BHFuncionarioID, BHData AS Data, BHMovimento AS Movimento, BHTempo AS Tempo, BHTempoSaldo AS Saldo" & _
                        " FROM tblPontoBancoHoras " & _
                        " WHERE BHFuncionarioID=" & codigoFuncionario & _
                        " ORDER BY BHData DESC;"
        With lstBancoHoras
            .RowSourceType = "Table/Query"
            .RowSource = strBancoHoras
            .Requery
            '-- Alexandre Fim - Exibir cabeçalho -------
            .ColumnHeads = True
            '-------------------------------------------
            MsgBox "Registros na lista: " & .ListCount
        End With

    Exit_BHFuncionarioID_AfterUpdate:
        Exit Sub
    Err_BHFuncionarioID_AfterUpdate:
        Beep
        MsgBox Err.Description, vbCritical + vbOKOnly, "Erro: " & Err.Number
        Resume Exit_BHFuncionarioID_AfterUpdate
    End Sub


    É isso

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Listbox quando selecionada o listcount = 1 Setinf11
    Sistemas e Tecnologia Ltda

    pedrovaleriojr gosta desta mensagem

    pedrovaleriojr
    pedrovaleriojr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 13/04/2021

    Listbox quando selecionada o listcount = 1 Empty Correto!

    Mensagem  pedrovaleriojr 15/4/2024, 15:22

    Realmente peguei esse erro e corrigi.
    A minha dúvida era o pq de o listbox contar 1 no listcount, mesmo não tendo nenhum registro.
    Pelo que observei, quando se usa o Cabeçalho da coluna ele conta 1 no listcount para o cabeçalho. Laughing


    Listbox quando selecionada o listcount = 1 Sem_tz10

    Mas blz, consegui esclarecer essa dúvida.

    Valeu pessoal.

    Abração!!!

    cheers
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3221
    Registrado : 13/12/2016

    Listbox quando selecionada o listcount = 1 Empty Re: Listbox quando selecionada o listcount = 1

    Mensagem  Alexandre Fim 15/4/2024, 15:42

    Correto.
    Ele conta também a linha do cabeçalho.
    Para resolver, mude a instrução:

    MsgBox "Registros na lista: " & .ListCount

    para

    MsgBox "Registros na lista: " & .ListCount -1


    É isso

    Att,

    Alexandre


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Listbox quando selecionada o listcount = 1 Setinf11
    Sistemas e Tecnologia Ltda

    Conteúdo patrocinado


    Listbox quando selecionada o listcount = 1 Empty Re: Listbox quando selecionada o listcount = 1

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 3/5/2024, 03:03