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
|
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
|
|
|
|
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
|
|
|