COMBOBOX ITEMDATA - PROBLEMA

 Tópico anterior Próximo tópico Novo tópico

COMBOBOX ITEMDATA - PROBLEMA

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#484538 - 18/09/2018 20:06:56

WESLEYWWS
LAVRAS
Cadast. em:Junho/2009


Boa noite pessoal!

Tenho uma aplicação em VB6 e comecei a ter o seguinte problema com o ItemData do ComboBox:

Tenho um ComboBox populado com os meses do ano de Janeiro a Dezembro e no ItemData os valore de 1 a 12.

O problema que começou a ocorrer de uns tempos para cá, é que os valores no ItemData com menos de 2 caracteres, por exemplo de 1 a 9, estão virando 0 e somente o 10, 11 e 12 que aparecem correto.

Imaginei de ser algum Plugin instalado na IDE, mas já desinstalei todos, deixei a IDE do VB6 limpa e mesmo assim o problema persiste.

Meu VB6 esta com o SP6 instalado
Meu computador é um windows 10, mas já havia visto este problema em outra máquina com o Windows 7.

Este problema começou a ocorrer a pouco tempo.

Alguem já teve este problema e saberia me dizer como resolver?



#484553 - 19/09/2018 15:49:27

JONESPARIS
ERECHIM
Cadast. em:Fevereiro/2006


Olá,

Provavelmente você mudou o Style do Combo para "2 - Drop Down List".

Mude para Style = "1" ajuste o ItemData

Abraço

Jones Paris

#484573 - 21/09/2018 09:00:25

WESLEYWWS
LAVRAS
Cadast. em:Junho/2009


Citação:
:
Olá,

Provavelmente você mudou o Style do Combo para "2 - Drop Down List".

Mude para Style = "1" ajuste o ItemData

Abraço


Bom dia amigo! Obrigado pela ajuda, mas não resolveu. Ele persiste em mudar qualquer valore menor que 10 para 0. A "solução" que encontrei foi alterar os valores para números maiores que 10. Mas acredito ser algum bug do VB6 mesmo.

Infelizmente não tenho tempo de migrar a aplicação para VB.NET e o software tem mais de 100 forms e uns 10 módulos. Umas 40 mil linhas de código, então, por enquanto, tenho que dar manutenção na aplicação usando o VB6 mesmo.



#484583 - 21/09/2018 12:51:46

ALVAROVB2009
GUARULHOS
Cadast. em:Maio/2009


Amigo coloca o código aqui que vc esta preenchendo o combo, pode ser alguma coisa

Teoria é quando se sabe tudo, e nada funciona. Prática e quando tudo funciona e ninguém sabe porque.
"Aquele que quer aprender gosta que lhe digam quando esta errado;
só o tolo não gosta de ser corrigido -"Prov.12:1


#484584 - 21/09/2018 13:16:32

WESLEYWWS
LAVRAS
Cadast. em:Junho/2009


Citação:
:
Amigo coloca o código aqui que vc esta preenchendo o combo, pode ser alguma coisa


Estes combos estão sendo utilizados para alguns filtros. São preenchidos manualmente, pois valores são fixos e não mudam. Os combos que são preenchidos dinamicamente via código estão funcionando normalmente.



#484585 - 21/09/2018 20:31:54

JABA
CABO FRIO
Cadast. em:Agosto/2005


Talvez tenha a ver com a formatação do mês para duas casas decimais.

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#484586 - 22/09/2018 10:16:01

WESLEYWWS
LAVRAS
Cadast. em:Junho/2009


Citação:
:
Talvez tenha a ver com a formatação do mês para duas casas decimais.


Ele não usa nenhuma formatação. Estou usando para informações genéricas, como por exemplo:

List = TODOS | ItemData = 1
List = MASCULINO | ItemData = 2
List = FEMININO | ItemData = 3
Neste exemplo acima, o ItemData com o numero de apenas 1 caractere, torna-se 0

Se eu fizer desta forma a seguir, funciona:
List = TODOS | ItemData = 10
List = MASCULINO | ItemData = 20
List = FEMININO | ItemData = 30
Neste exemplo funciona por ter 2 caracteres.

Esta é a solução que estou utilizando, mas até agora não consegui identificar o motivo de o ItemData com valores de 1 a 9 se modificarem para 0. Já vasculhei os forums e nada. Mexi em todas as propriedades possível do ComboBox e nada! Muito estranho isto!!



#484587 - 22/09/2018 10:18:09

WESLEYWWS
LAVRAS
Cadast. em:Junho/2009


 Anexos estao visíveis somente para usuários registrados

Segue um print das propriedades do meu ComboBox.

Obs: Uso VB6 ha mais de 14 anos, sempre usei ComboBox com ItemData sem nenhum problema. Agora recente que comecei a ter estes probelamas.



#484589 - 22/09/2018 21:11:14

SRBRITO
JOAO PESSOA
Cadast. em:Abril/2012


Ja tentou enumerar 0,1,2...?




#484590 - 23/09/2018 10:56:18

ALVAROVB2009
GUARULHOS
Cadast. em:Maio/2009


WESLEYWWS o problema pode estar no momento em que vc pega o valor do itemdata do combo, darei um exemplo do que aconteceu comigo a  muito tempo, lembro pq fiquei um tempão procurando, porque eu tinha vários combos que se carregavam com dados do banco e todos estavam corretos e em apenas um estava dando o problema e fiquei procurando o que estava de errado com o código.

Para preencher o meu combo
    CboCliente.Clear
    CboCliente.AddItem ""
    While Not Rs.EOF
        CboCliente.AddItem Rs(1)
        CboCliente.ItemData(CboCliente.NewIndex) = Rs(0)
        Rs.MoveNext
    Wend

pegar o valor do itemdata
correto:    TxtCodCliente.Text = CboCliente.ItemData(CboCliente.ListIndex)
errado:    TxtCodCliente.Text = CboCliente.ItemData(CboCliente.Text) ' era como que estava o meu código e ai vinha tudo zero


Depois disso aprendi a criar uma função única para preencher combo e o problema acabou rsrsrs

Más o seu problema pode ser algo assim, no momento de pegar o valor do itemdata do seu combo

E também vale sempre olhar, td bem que vc já disse que mudou, a propriedade do itemdata do combo e se certifique que não esteja zerada para os itens, pois a medida que a gente coloca algum item na list, ele cria o valor do itemdata = 0 para esse item, talvez vc tenha alterado somente os valores acima de 9 ou algo assim, más como comentei é só para ver

Teoria é quando se sabe tudo, e nada funciona. Prática e quando tudo funciona e ninguém sabe porque.
"Aquele que quer aprender gosta que lhe digam quando esta errado;
só o tolo não gosta de ser corrigido -"Prov.12:1


#484596 - 24/09/2018 09:52:26

WESLEYWWS
LAVRAS
Cadast. em:Junho/2009


Citação:
:
Ja tentou enumerar 0,1,2...?


Não funciona.



 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário