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

    Formulário Não Carrega

    avatar
    gilmarjs7
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 24/08/2021

    Formulário Não Carrega Empty Formulário Não Carrega

    Mensagem  gilmarjs7 9/7/2022, 16:50

    Pessoal, boa tarde, como vão?

    Eu estou fazendo um formulário como uma consulta, a ideia é que ao selecionar dois campos de datas, apareçam os registros que estiverem entre essas duas datas em uma listbox — no meu caso, quero que apareçam entre anos. Ex.: Quero que apareçam os registros entre 2010 e 2020.

    Porém, quando seleciono e coloco para carregar o Access fica carregando e "trava", não dá nenhuma mensagem de erro e tenho que fechar no Gerenciador de Tarefas.

    Podem me ajudar?

    O código que estou usando é esse:

    Private Sub txt_consultaanofim_AfterUpdate()

    Dim strSQL As String
    Dim rs As DAO.Recordset

    strSQL = "SELECT bd_ano, bd_tecnico, bd_equipe FROM Base WHERE (bd_ano>=" & Me.txt_consultaanoinicio & " AND bd_ano<=" & Me.txt_consultaanofim & ") ORDER BY bd_ano DESC"

    Set rs = CurrentDb.OpenRecordset(strSQL, , 4)

    Me.lstconsulta.AddItem "Ano;Equipe;Técnico"

    Do Until rs.EOF

       Me.lstconsulta.AddItem rs!bd_ano & ";" & rs!bd_equipe & ";" & rs!bd_tecnico

    Loop

    rs.Close
    Set rs = Nothing

    End Sub
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Formulário Não Carrega Empty Re: Formulário Não Carrega

    Mensagem  Alexandre Fim 9/7/2022, 17:08

    Ele trava porque está em looping constante:

    Do Until rs.EOF
      Me.lstconsulta.AddItem rs!bd_ano & ";" & rs!bd_equipe & ";" & rs!bd_tecnico
    Loop

    O correto é movimentar os registros do recordset:
    Do Until rs.EOF
      Me.lstconsulta.AddItem rs!bd_ano & ";" & rs!bd_equipe & ";" & rs!bd_tecnico
    rs.MoveNext

    Loop

    É isso

    Att,
    Alexandrfe Fim


    .................................................................................
    Formulário Não Carrega Information2 Marcar tópico como Resolvido: CLIQUE AQUI
    Formulário Não Carrega Information2 Postar anexos no fórum: CLIQUE AQUI

    Formulário Não Carrega Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    gilmarjs7
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 24/08/2021

    Formulário Não Carrega Empty Re: Formulário Não Carrega

    Mensagem  gilmarjs7 13/7/2022, 01:21

    Muito obrigado pela resposta, ajudou bastante, era isso mesmo.

    Mas me surgiu uma outra dúvida: como faço para ele reinicializar os registros?

    Exemplo: eu selecionei as premissas e veio os resultados, OK, mas quando eu selecionar outras premissas eu quero venha somente os resultados dessa segunda pesquisa.

    Quando executo a primeira consulta vem assim:

    ANO | EQUIPE | TÉCNICO
    2022 | Brasil | Tite
    2014 | Brasil | Felipão

    Daí quando executo a segunda pesquisa, ele me traz o resultado mais o da primeira, fica assim:

    ANO | EQUIPE | TÉCNICO
    2022 | Brasil | Tite
    2014 | Brasil | Felipão
    ANO | EQUIPE | TÉCNICO
    2010 | Brasil | Dunga
    2006 | Brasil | Parreira

      Data/hora atual: 15/8/2022, 13:48