COMBO - TABELA - LABEL

TIAGOVARETA 19/04/2012 14:17:36
#400246
Boas pessoal tenho uma combo que é preenchida com os dados de uma tabela com o seguinte código:

Public Sub preencher_combocatalogoenviado()
frm_contacto.cmb_catalogoenviado.Items.Clear()
myCON.Open()
myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select catalogo from tb_catalogos[Ô], myCON)
myDRR = myCMD.ExecuteReader()
While myDRR.Read
frm_contacto.cmb_catalogoenviado.Items.Add(myDRR.Item([Ô]catalogo[Ô]))
End While
[ô]Lendo do reader e adicionando no combobox
myDRR.Close()
myCON.Close()
End Sub

No entanto esta tabela tem mais campos entre os quais o inicio e fim de catalogo.
Como faço para quando seleccionar o catálogo na combobox preencha (dados da tabela) duas label[ô]s uma com o inicio e outra com o fim?
KERPLUNK 19/04/2012 14:33:59
#400250
Você pode simplesmente fazer:
frm_contacto.cmb_catalogoenviado.Items.Clear()
myCON.Open()
myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select catalogo from tb_catalogos[Ô], myCON)
myDRR = myCMD.ExecuteReader()
cmb_catalogoenviado.ValueMember = [Ô]catalogo[Ô]
cmb_catalogoenviado.TextMember = [Ô]catalogo[Ô]
cmb_catalogoenviado.DataSource = myDDR
....


Assim, todo e qualquer registro que aparecer no datareader vai ser colocado automaticamente na combo. Um erro muuuuito comum, é esquecer que os ítens da combo tem VALOR e TEXTO que podem ser coisas completamente diferentes. Como por exemplo, você quer que aparece o nome do cliente, mas quer usar o valor no seu código, assim, quando selecionar algum ítem, o valor do mesmo é o que vale...
TIAGOVARETA 20/04/2012 09:01:07
#400314
Citação:

:
Você pode simplesmente fazer:
frm_contacto.cmb_catalogoenviado.Items.Clear()
myCON.Open()
myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select catalogo from tb_catalogos[Ô], myCON)
myDRR = myCMD.ExecuteReader()
cmb_catalogoenviado.ValueMember = [Ô]catalogo[Ô]
cmb_catalogoenviado.TextMember = [Ô]catalogo[Ô]
cmb_catalogoenviado.DataSource = myDDR
....


Assim, todo e qualquer registro que aparecer no datareader vai ser colocado automaticamente na combo. Um erro muuuuito comum, é esquecer que os ítens da combo tem VALOR e TEXTO que podem ser coisas completamente diferentes. Como por exemplo, você quer que aparece o nome do cliente, mas quer usar o valor no seu código, assim, quando selecionar algum ítem, o valor do mesmo é o que vale...



Boas, obrigado pela resposta.
No entanto ao analisar o código que me enviou, julgo que seja para preencher a combo, certo?
Neste caso eu já consegui preencher a combo o que queria era:
A combo esta baseada no campo [Ô]catalogo[Ô] da tabela [Ô]tb_catalogos[Ô], no entanto esta tabela tem mais campos (inicio e fim de catalogo, entre outros). Eu queria que ao seleccionar um catálogo na combo, preencha (dados da tabela) duas label[ô]s uma com o inicio e outra com o fim do catálogo seleccionado.
TIAGOVARETA 20/04/2012 13:14:00
#400339
Resolvi assim:

Public Sub preencher_datascatalogo()
myCON.Open()

myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select * from tb_catalogos WHERE catalogo =[ô][Ô] & frm_contacto.cmb_catalogoenviado.Text & [Ô][ô][Ô], myCON)
myDRR = myCMD.ExecuteReader()

While myDRR.Read
frm_contacto.lbl_iniciocat.Text = myDRR.Item([Ô]data_inicio[Ô])
frm_contacto.lbl_fimcat.Text = myDRR.Item([Ô]data_fim[Ô])
End While

myDRR.Close()
myCON.Close()
End Sub
Tópico encerrado , respostas não são mais permitidas