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]Listbox em ordem decrescente

    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Listbox em ordem decrescente Empty [Resolvido]Listbox em ordem decrescente

    Mensagem  vailson Ter 27 Jun 2017, 13:15

    Olá amigos,
    preciso colocar essa listbox em ordem decrescente (ou reverter a ordem), como faço?
    Código:
    Private Sub Form_Open(Cancel As Integer)
    'Autor JPaulo
    Me.Recalc
    Dim strArquivo As String
    Dim strCaminho As String
    Me!lista0.RowSource = ""
    strCaminho = CurrentProject.Path & "\relatorios\"
    strArquivo = Dir$(strCaminho & "*.pdf")
    Do While Len(strArquivo) > 0
    Me.lista0.AddItem strArquivo
    strArquivo = Dir$()
    Loop

    End Sub

    Essa listbox aí lista arquivos em uma pasta no computador.
    Obrigado!
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  thiagomcosta Ter 27 Jun 2017, 14:01

    Tenta o seguinte
    Código:
    Private Sub Form_Open(Cancel As Integer)
    'Autor JPaulo
    Me.Recalc
    Dim strArquivo As String
    Dim strCaminho As String
    Dim vTemp As String
    Dim vArquivos()
    Me!lista0.RowSource = ""
    strCaminho = CurrentProject.Path & "\relatorios\"
    strArquivo = Dir$(strCaminho & "*.pdf")
    'Grava os nomes dos arquivos numa array
    Do While Len(strArquivo) > 0
        ReDim Preserve vArquivos(UBound(vArquivos) + 1)
        vArquivos(UBound(vArquivos)) = strArquivo
        strArquivo = Dir$()
    Loop
    'Classifica a array
    For i = 1 To UBound(vArquivos)
        If vArquivos(i) < vArquivo(i - 1) Then
            vTemp = vArquivos(i - 1)
            vArquivos(i - 1) = vArquivos(i)
            vArquivos(i) = vTemp
            i = 1
        End If
    Next i
    'Mostra os arquivos na caixa de listagem
    For i = 0 To UBound(vArquivos)
        Me.lista0.AddItem vArquivos(i)
    Next i
    End Sub
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  vailson Dom 09 Jul 2017, 09:09

    Bom dia,
    a variável i não foi definida.
    Ela entra como aí?
    Obrigado!
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  thiagomcosta Seg 10 Jul 2017, 08:49

    Ops!

    Inlcui no começo:

    Código:
    Dim i as integer
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  vailson Ter 11 Jul 2017, 13:41

    Código:
    ReDim Preserve vArquivos(UBound(vArquivos) + 1)
    Erro em tempo de execução 9
    Subscrito fora do intervalo
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  vailson Ter 18 Jul 2017, 10:42

    alguém?
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  thiagomcosta Ter 18 Jul 2017, 12:08

    Opa!
    Não tinha visto que estava dando erro.

    Consegui resolver com uma gambiarra, considerando que sempre terá ao menos um arquivo na pasta.

    Código:
    Private Sub Form_Open(Cancel As Integer)
    'Autor JPaulo
    Me.Recalc
    Dim strArquivo As String
    Dim strCaminho As String
    Dim vTemp As String
    Dim vArquivos()
    dim i as integer

    Me!lista0.RowSource = ""
    strCaminho = CurrentProject.Path & "\relatorios\"
    strArquivo = Dir$(strCaminho & "*.pdf")

    'Grava os nomes dos arquivos numa array
    vArquivos() = Array(strArquivo)
    strArquivo = Dir$()
    Do While Len(strArquivo) > 0
        ReDim Preserve vArquivos(UBound(vArquivos) + 1)
        vArquivos(UBound(vArquivos)) = strArquivo
        strArquivo = Dir$()
    Loop

    'Classifica a array
    For i = 1 To UBound(vArquivos)
        If vArquivos(i) < vArquivo(i - 1) Then
            vTemp = vArquivos(i - 1)
            vArquivos(i - 1) = vArquivos(i)
            vArquivos(i) = vTemp
            i = 1
        End If
    Next i
    'Mostra os arquivos na caixa de listagem
    For i = 0 To UBound(vArquivos)
        Me.lista0.AddItem vArquivos(i)
    Next i
    End Sub
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  vailson Qua 19 Jul 2017, 10:12

    Bem, a ordem dos arquivos não foi exibida da forma correta, ainda está crescente, está de A a Z. Preciso que seja de Z a A, ordem decrescente. Onde deve alterar?
    Obrigado
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  thiagomcosta Qua 19 Jul 2017, 10:42

    Muda esta linha

    Código:
    If vArquivos(i) < vArquivo(i - 1) Then

    Para

    Código:
    If vArquivos(i) > vArquivo(i - 1) Then
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  vailson Qua 19 Jul 2017, 10:56

    Certo. O problema agora é que último arquivo aparece em primeiro, e, só após ele, a classificação é feita.
    Ex.: Z A B C D E...
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  thiagomcosta Qua 19 Jul 2017, 11:33

    Isso que dá a gente responder rapido sem pensar, hehe....

    Troca esta linha
    Código:
    i = 1

    Por esta
    Código:
    i = 0
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  vailson Qua 19 Jul 2017, 12:07

    Código:
    Private Sub Form_Open(Cancel As Integer)
    'Autor JPaulo
    Me.Recalc
    Dim strArquivo As String
    Dim strCaminho As String
    Dim vTemp As String
    Dim vArquivos()
    Dim i As Integer

    Me!lista0.RowSource = ""
    strCaminho = CurrentProject.Path & "\relatorios\"
    strArquivo = Dir$(strCaminho & "*.pdf")

    'Grava os nomes dos arquivos numa array
    vArquivos() = Array(strArquivo)
    strArquivo = Dir$()
    Do While Len(strArquivo) > 0
        ReDim Preserve vArquivos(UBound(vArquivos) + 1)
        vArquivos(UBound(vArquivos)) = strArquivo
        strArquivo = Dir$()
    Loop

    'Classifica a array
    For i = 1 To UBound(vArquivos)
        If vArquivos(i) > vArquivos(i - 1) Then
            vTemp = vArquivos(i - 1)
            vArquivos(i - 1) = vArquivos(i)
            vArquivos(i) = vTemp
            i = 0
        End If
    Next i
    'Mostra os arquivos na caixa de listagem
    For i = 0 To UBound(vArquivos)
        Me.lista0.AddItem vArquivos(i)
    Next i
    End Sub

    Valeu amigo. Agora sim.
    Obrigado!

    Conteúdo patrocinado


    [Resolvido]Listbox em ordem decrescente Empty Re: [Resolvido]Listbox em ordem decrescente

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qui 28 Mar 2024, 23:10