1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

duvida com combobox em vb

Discussão em 'Programação' iniciada por jah, 7 de Abril de 2009. (Respostas: 8; Visualizações: 2535)

  1. jah

    jah

    boas

    é possivel ligar uma combobox a uma base de dados?
    tipo fazer aperecer todos os nomes de uma tabela da base de dados na combobox?

    agradeço desde já.
     
  2. ByMySlf

    ByMySlf Power Member

    Sim é possível. Vê se isto te ajuda.
     
  3. PNDmartins

    PNDmartins Power Member

    Claro!

    Existem 2 formas de o fazer. Imaginando que tens um Datatable com os dados da base de dados, e com duas colunas: ID e Nome.

    1- Podes criar um ciclo que precorre todos os items da datatable e insere o nome na combobox box 1 a 1.

    2- Usas a propriedade .DataSource da combobox e igualas a Datable, de seguida indicas qual o campo que aparece na combobox e se quiseres qual o valor que o nome vai ter quando escolhido. Ficas com algo do género:

    Código:
    Combobox1.DataSource = DataTable   [COLOR="YellowGreen"]'Ligar a DataTable a Combobox[/COLOR]
    Combobox1.DisplayMember = "Nome"   [COLOR="YellowGreen"]'Indica a Combobox que quando se carrega para aparecer a lista mostra o nome[/COLOR]
    Combobox1.ValueMember = "ID"       [COLOR="YellowGreen"]'Indica que quando se escolhe um nome, podes obter este valor[/COLOR]
    
    A segunda forma é a mais rápida e correcta de fazer, e dá-te a vantagem de se trabalhares com ID, quando o utilizador escolher um nome podes obter o ID correspondente a esse nome pela propriedades .SelectedValue
     
  4. jah

    jah

    onde faço a ligação a base de dados?
    o que é a datatable?

    desculpem mas sou um nabo a programação
     
  5. PNDmartins

    PNDmartins Power Member

    Bom, vou-te preguntar uma outra coisa primeiro.. tu já sabes obter dados da tua base de dados? Se sim como o fazes?
     
  6. jah

    jah

    so sei com o data e o adodc.
     
  7. jah

    jah

    andei aqui a invetar é ja consegui alguma coisa.
    criei um form com uma ado data control e uma combobox.
    ligei o adodc a base de dados e a combobox ao adodc.
    nas propriadades do adodc coloquei-o invisivel.
    agora ja apareçe o 1º registo da base de dados na combobox mas como
    faço para apareçerem os restantes registos da bd na combobox?
     
  8. alfinete

    alfinete Power Member

    do tipo tens dataset , datatable e datatrow

    dataset, é o tua query ou store procedure onde tens tdos os teus selects do tipo

    1) select *

    from table c

    2) select *

    from table d

    where x= n

    agora o 1 e o 2 são o teus datatables referentes a esse dataset

    um datarow é uma linha de pesquisa coorespondente a um datatable

    dataset ds = selectacima
    datateble dt ;

    dt = ds.tables[0] date o 1º select
    dt = ds.tables[0] date o 2º select

    ds.tables[0].rows[0][1] , date o valor do reg referente a linha 0 coluna 1 referente a essa lina

    atenção isto esta em c# é so passar para vb

    é so para te dar umas dicas sobre os assuntos
     
  9. jah

    jah

    boas

    consegui resolver o meu problema com esta ajuda:
    "para ligares uma combobox a uma base de dados através do Ado, tens que utilizar um outro componente:
    Project -> Components -> Microsoft DataList Controls

    Irá aparecer-te uma chamada "DataCombo" e é com este que ligas à base de dados. Na propriedade RowSource
    metes para ligar ao Ado e depois no ListFiled o campo da base de dados que queres que apareça no DataCombo."


    agora tenho um nova duvida:
    com por hiperligações nisto? quer que cada registo da combobox tenha uma hiperligação.
    as hiperligações que pus na base de dados no access nao sao assumidas pelo vb.
     

Partilhar esta Página