COMBOBOX

PERCIFILHO 05/11/2010 11:59:38
#356708
Olá, pessoal, estou mostrando os dados de um cadastro de cliente, e neste formulário há uma ComboBox. Eu preencho a ComboBox com os itens e mostro nela o conteúdo do campo referente ao cliente. Porém se eu clicar na [Ô]seta[Ô] para ver os itens da ComboBox, ela me mostra os itens, porém o conteúdo que estava nela, referente ao cliente, desaparece.
O código para preencher a ComboBox é esse:

Private Sub CmbTipo_DropDown()
sqltipos = [Ô]Select codigo,descricao From Tipos Order by descricao[Ô]
Set rstipos = db.OpenRecordset(sqltipos)
CmbTipo.Clear
While Not rstipos.EOF
CmbTipo.AddItem rstipos([Ô]codigo[Ô]) & [Ô] - [Ô] & rstipos([Ô]descricao[Ô])
rstipos.MoveNext
Wend
End Sub

O estilo da Combo é DropDownCombo.

Se alguém puder me ajudar, agradeço muito.

Até mais.

ACG1574 05/11/2010 12:58:12
#356717
aparentemente nao esta vindo dados no seu select
PERCIFILHO 05/11/2010 13:11:04
#356719
Colega Alexandre, obrigado por postar. Eu não estou tendo problemas com os dados do BD, ao contrário do que você postou, eu estou conseguindo trazer os dados do select para a Combo. O único probhlema é que quando eu clico na [Ô]seta[Ô] para ver as opções da Combo, o texto que está na Combo desaparece. Eu queria que o que estivesse na Combo permanecesse e só alterasse quando o usuário clicar em uma opção da Combo.

Aguardo...

Até mais.
JONATHANSTECKER 05/11/2010 13:31:14
#356722
Acredito que o problema esteja no evento DropDown
Tente colocar essa função em outro evento! Talvez no Load do Form.
ACG1574 05/11/2010 13:31:57
#356724
percifilho eu fiz um teste aqui e o meu nao faz isso nao, só me diga uma coisa, pq vc coloca no evento drodown ?
outra coisa, vc preenche ele no load do form ? se sim, coloque o codigo aqui do preenchimento dele por favor.
ACG1574 05/11/2010 13:35:39
#356727
a sim, vi o problema , entendi agora o que vc falou, quando vc clica some o que esta selecionado né, é verdade
ACG1574 05/11/2010 13:50:52
#356729
perfifilho , bem , nao achei propriedade que contorne isso nao, entao fiz uma gambi..

Dim j As Integer
Dim i As Integer

Private Sub Combo1_Click()
j = Me.Combo1.ListIndex
End Sub

Private Sub Combo1_DropDown()
Me.Combo1.Clear
For i = 1 To 10
Me.Combo1.AddItem i
Next i
Me.Combo1.ListIndex = j
End Sub

teste ai e me fale se deu certo
PERCIFILHO 05/11/2010 14:15:14
#356739
Olá, Alexandre, é, colega, às vezes uma boa gambiarra (bem feita) resolve o problema.
Fiz um teste repidinho, aqui, depois eu testo com mais tempo, mas parece que serviu direitinho.
Só não entendo uma coisa, será que nunca ninguém passou por esse problema, ou eu é que estou realizando esses processos de maneira errada? Respondendo a sua pergunta, eu coloco no evento DropDown porque eu aprendi assim. Está errado? Existe outra forma? De repente estou fazendo algo errado e não sei.

Obrigado e abraços.

Até mais.
ACG1574 05/11/2010 14:37:19
#356743
nao, nao é que esta errado, mas, nos combos da tela, eu quando entro no sistema ja carrego eles no combo, assim eu nao preciso carregar toda hora, só carrego uma fez no load do form, agora a questao de estar apagando é normal, vc que nao esta acostumado.
ACG1574 05/11/2010 14:40:43
#356744
na verdade esta acontecendo isso com vc , pq vc esta fazendo o clear toda hora é porisso , ele limpa todo o combo mesmo, o clear é exatamente pra isso. tentar fazer só assim no evento load do form

Private Sub Form_Load()
Dim i As Integer
Me.Combo1.Clear
For i = 1 To 10
Me.Combo1.AddItem i
Next i
End Sub


assim eu preencho o combo só uma fez e pronto, depois posso clicar a vontade que nao vai sumir meus dados
PERCIFILHO 05/11/2010 15:29:40
#356745
Ok, na segunda-feira vou analisar melhor, pois agora é impossível, qualquer coisa eu posto novamente.
Mais uma vez obrigado e até mais.
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas