USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  ORDENAR COMBOBOS PERSONALIZADO
Irenko
BELO HORIZONTE
MG - BRASIL
ENUNCIADA !
Postada em 16/03/2011 14:28 hs            
Minha rotina para carregar o ComboBox:

Private Sub CarregaComboPeriodo()
Set RsComboPeriodo = New ADODB.Recordset
If RsComboPeriodo.State = 1 Then RsComboPeriodo.Close
  If ChkComboPeriodo.Value = True Then
     Sql = "Select Distinct Right(Mes,4) AS Ano FROM Dados"
  Else
     Sql = "Select Distinct Mes FROM Dados"
  End If
     Set RsComboPeriodo = ConexaoCartao.Execute(Sql)

With RsComboPeriodo
  If Not .BOF And Not .EOF Then
         .MoveMin
         Me.ComboPeriodo.Clear
    For i = 1 To .RecordCount
        If ChkComboPeriodo.Value = True Then
            'Me.ComboPeriodo.AddItem Right(!Ano, 4)
            Me.ComboPeriodo.AddItem !Ano
            .MoveNext
        Else
            Me.ComboPeriodo.AddItem UCase(!Mes)
            .MoveNext
        End If
    Next
  End If
.Close
Set RsComboPeriodo = Nothing
End With
End Sub

Considerando o carregamento apos o ELSE, fica assim:

ABRIL/2009
DEZEMBRO/2008
FEVEREIRO/2009
JANEIRO/2009

EXISTE MANEIRA DE CARREGAR PERSONALIZADO, OU SEJA:

DEZEMBRO/2008
JANEIRO/2009
FEVEREIRO/2009
ABRIL/2009

SALIENTO Q O CAMPO MES É TEXTO. ACHO Q TERIA Q SER UMA GAMBIARRA ORDENANDO O TEXTO A PARTIR DO NUMERO DEPOIS DA BARRA.

GRATO
   
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 16/03/2011 14:58 hs         
Substitua
  If ChkComboPeriodo.Value = True Then
     Sql = "Select Distinct Right(Mes,4) AS Ano FROM Dados"
  Else
     Sql = "Select Distinct Mes FROM Dados"
  End If

Por isso:
  If ChkComboPeriodo.Value = True Then
     Sql = "Select Distinct Right(Mes,4) AS Ano FROM Dados Order by Mes, Ano"
  Else
     Sql = "Select Distinct Mes FROM Dados Order by Mes, Ano"
  End If
   
Irenko
BELO HORIZONTE
MG - BRASIL
ENUNCIADA !
Postada em 16/03/2011 15:17 hs            
KERPLUNK, VOU EXPLICAR MELHOR. NA TABELA EXISTE O CAMPO MES ONDE EU GRAVO O TEXTO, EX.:

DEZEMBRO/2008

NÃO EXISTE UM CAMPO ANO, AQUI EU FAÇO A PESQUISA:

Else
     Sql = "Select Distinct Mes FROM Dados"

E CARREGA O COMBO:

ABRIL/2009
DEZEMBRO/2008
FEVEREIRO/2009
JANEIRO/2009

ORDENADO ALFABETICAMENTE, A PERGUNTA É: SERIA POSSIVEL ORDENAR ESSE COMBO BASEANDO-SE NO TEXTO DEPOIS DA (/)? FICANDO:

DEZEMBRO/2008
JANEIRO/2009
FEVEREIRO/2009
ABRIL/2009

   
Juan Carlos R.A
Pontos: 2843
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 17/03/2011 11:12 hs            
o problema que se vc consegue ordenar pelo ano nao garante que o mes fique ordenado.
veja se isso resolve, caso contrario, para nao  se complicar criar campo mes e ano e so seria adicionar no combo fazendo o ordenamento pelo mes e ano.

  If ChkComboPeriodo.Value = True Then
     Sql = "Select Distinct Right(Mes,4) AS Ano FROM Dados Order by  Ano, mes"
  Else
     Sql = "Select Distinct Mes FROM Dados Order by Mes"
  End If
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página