COMBOBOX
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.
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.
aparentemente nao esta vindo dados no seu select
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.
Aguardo...
Até mais.
Acredito que o problema esteja no evento DropDown
Tente colocar essa função em outro evento! Talvez no Load do Form.
Tente colocar essa função em outro evento! Talvez no Load do Form.
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.
outra coisa, vc preenche ele no load do form ? se sim, coloque o codigo aqui do preenchimento dele por favor.
a sim, vi o problema , entendi agora o que vc falou, quando vc clica some o que esta selecionado né, é verdade
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
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
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.
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.
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.
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
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
Ok, na segunda-feira vou analisar melhor, pois agora é impossÃvel, qualquer coisa eu posto novamente.
Mais uma vez obrigado e até mais.
Mais uma vez obrigado e até mais.
Tópico encerrado , respostas não são mais permitidas