none
Combo nao carrega - VS2003 RRS feed

  • Pergunta

  • Olá a todos!

    Estou tentando popular uma combo com codigo e nome do cliente para q o usuario possa selecionar pelo nome do cliente,mas ela so mostra o codigo...
    O q pode estar errado?O nome da combo é Cliente. O código é :

            Cliente.DataSource = Nothing
            Cliente.Items.Clear() '....zera a combo
            '..Preenche a combo clientes
            Dim strCon As String = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & String_Connect & ";jet oledb:database password=123")
            Dim cnn As New OleDbConnection(strCon) 'ACESSO PELO ACCESS
            Dim sql3 As String = "SELECT codcli,nomecli FROM Cadcli order by nomecli"
            Dim comam3 = New OleDbCommand(sql3, cnn)
            Dim adapter As New OleDbDataAdapter(comam3)
            Dim ds2 As DataSet = New DataSet
            ds2.Clear()
            Try
                '.....Preenche a combo- modo 1 .........
                adapter.Fill(ds2, "Cadcli")
                Cliente.DataSource = ds2.Tables(0)
                Cliente.DisplayMember = "NomeCli"
                Cliente.ValueMember = "codcli"
                'Cliente.DataBindings.Add("SelectedValue", ds, "TabProntoAt.codcli")
            Catch
                MsgBox(Err.Description & " - " & Err.Number)
                cnn.Dispose()
            Finally
                cnn.Dispose()
            End Try
    Obrigado pela ajuda.....
    quinta-feira, 25 de fevereiro de 2010 11:03

Respostas

  • Obrigado a todos que responderam, mas a solução que achei vou relatar aqui para q outros tambem possam se beneficiar da resposta:

    o erro foi digitar o nome do campo de uma maneira na linha do sql e depois de outra maneira na linha do DisplayMember,pois ao que parece ele diferencia maiuscula de minuscula;

    na linha do sql eu havia digitado nomecli e depois abaixo eu coloquei Nomecli

    Depois que padronizei os dois como Nomecli, funcionou....


    Valeu!!
    • Marcado como Resposta Groff quinta-feira, 25 de fevereiro de 2010 18:14
    quinta-feira, 25 de fevereiro de 2010 18:14

Todas as Respostas

  • Olá
    Não sei se resolve, mas não custa tentar... coloca as linhas            
    Cliente.DisplayMember = "NomeCli"
    Cliente.ValueMember = "codcli"
    antes de setar o datasource. Seta estas duas propriedades antes da linha "Cliente.DataSource = ds2.Tables(0)".

    Outra coisa q vale ser conferida é o conteúdo do dataset, depois do fill do adapter. Dá uma olhada e v se a informação q vem do banco vem certinha.
    Falou.
    quinta-feira, 25 de fevereiro de 2010 11:43
  • Bom dia!

    na linha

    Cliente.DataSource = ds2.Tables(0)

    substitua o 0 pelo nome da tabela.

    Cliente.DataSource = ds2.Tables("Cadcli")

    talvez isso resolva!
    quinta-feira, 25 de fevereiro de 2010 12:50
  • Tens de encher a tua dataset....


     Dim ds2 As DataSet = New DataSet
            ds2.table.add("Cadcli")
            Try
                
                adapter.Fill(ds2, "Cadcli")
                Cliente.DataSource = ds2.Tables(0).DefaultView
                Cliente.DisplayMember = "NomeCli"
                Cliente.ValueMember = "codcli"
               

    agora teste, nao precisas isto: 'Cliente.DataBindings.Add("SelectedValue", ds, "TabProntoAt.codcli")


    Just Be Humble Malange!
    • Marcado como Resposta Groff quinta-feira, 25 de fevereiro de 2010 18:08
    • Não Marcado como Resposta Groff quinta-feira, 25 de fevereiro de 2010 18:09
    quinta-feira, 25 de fevereiro de 2010 17:56
    Moderador
  • Obrigado a todos que responderam, mas a solução que achei vou relatar aqui para q outros tambem possam se beneficiar da resposta:

    o erro foi digitar o nome do campo de uma maneira na linha do sql e depois de outra maneira na linha do DisplayMember,pois ao que parece ele diferencia maiuscula de minuscula;

    na linha do sql eu havia digitado nomecli e depois abaixo eu coloquei Nomecli

    Depois que padronizei os dois como Nomecli, funcionou....


    Valeu!!
    • Marcado como Resposta Groff quinta-feira, 25 de fevereiro de 2010 18:14
    quinta-feira, 25 de fevereiro de 2010 18:14