Jump to content

Fill a partir de uma combobox


gastao

Recommended Posts

a minha duvida e a seguinte tenho um form em que a partir de a combobox quero escolher/consultar um cliente existente numa tabela e ao escolher o cliente aparecer me os dados referentes ao escolhido... eu tou a csg fazer essas situaçao ao escolher um item da combo so essa e q me aparece na datagrid mas nao tou a csg mostra los para os textbox's respectivos.

tou com o seguinte codigo:

Código: [select]     

 Try
            Call fCnnString()
            Dim dt As New DataTable
            Dim ds As New DataSet
            Dim adap As New OleDbDataAdapter("select * from cliente where nome = '" & ComboBox2.SelectedItem & "'", fCnnString)
            Dim dv As New DataView
            adap.Fill(ds, "cliente")
            DataGridView1.DataSource = ds.Tables("cliente")

eu fiz o que eu quero de uma outra pequena forma mas nao da correcta pq eu estou a carregar a base de dados a partir de um ini e a partir de um modulo

desta maneira da mas da outra que esta em cima nao.

     If con.State = ConnectionState.Closed Then con.Close()
            con.Open()
            Dim cmd As New OleDbCommand("select * from tabela where nome = '" & combobox1.SelectedItem & "'", con)
            Dim drdr As OleDbDataReader
            drdr = cmd.ExecuteReader
            drdr.Read()
            TextBox1.Text = drdr.Item("id")
            TextBox2.Text = drdr.Item("nome")
Link to comment
Share on other sites

Estão o teu problema é mostrar a informação nos textboxes ? Podes mostrar uma imagem do problema ?

http://img80.imageshack.us/img80/2439/semttulozj.jpg

Exactamente o meu problema e nao mostrar a informaçao nos textboxes, imagina escolho o cliente a partir da combobox e assim que escolho ele lista me nas textboxs para depois poder editar ou msm elimina lo...

Link to comment
Share on other sites

Penso que o teu erro estará na consulta pois:

            Dim cmd As New OleDbCommand("select * from tabela where nome = '" &  combobox1.SelectedItem & "'", con)

combobox.SelectedItem está a passar-te o objecto seleccionado e não uma string para a consulta

basta alterares assim:

combobox1.SelectedItem.ToString()

assim já passas uma string para a consulta.

não testei, mas deve ser algo assim

Link to comment
Share on other sites

Penso que o teu erro estará na consulta pois:

            Dim cmd As New OleDbCommand("select * from tabela where nome = '" &  combobox1.SelectedItem & "'", con)

combobox.SelectedItem está a passar-te o objecto seleccionado e não uma string para a consulta

basta alterares assim:

combobox1.SelectedItem.ToString()

assim já passas uma string para a consulta.

não testei, mas deve ser algo assim

nao funciona

eu coloquei dois bocados de codigo, um que funciona e outro que nao esta a funcionar para fazer a mesma situação, o de baixo esta a funcionar da maneira que eu quero sem problemas, o de cima e que nao consigo listar o resultado da combobox

Link to comment
Share on other sites

nao funciona

eu coloquei dois bocados de codigo, um que funciona e outro que nao esta a funcionar para fazer a mesma situação, o de baixo esta a funcionar da maneira que eu quero sem problemas, o de cima e que nao consigo listar o resultado da combobox

devera ser algo deste genero so que nao funciona

      Dim adap As New OleDbDataAdapter("select * from cliente where nome = '" & ComboBox2.SelectedItem.ToString & "'", fCnnString)

            adap.Fill(ds, "cliente")

            DataGridView1.DataSource = ds.Tables("cliente")

            TextBox1.Text = ds.Tables.Item("idCliente").ToString

Link to comment
Share on other sites

alguem me consegue ajudar aqui pois a conexao vem a partir de um modulo e eu chamo a conexao a partir do call fcnnstring

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        Call fCnnString()
        Dim dt As New DataTable
        Dim ds As New DataSet
        Dim cmd As New OleDbCommand("select * from GrupoCliente where Grupo = '" & ComboBox1.SelectedItem & "", fCnnString)
        Dim drdr As OleDbDataReader
        drdr = cmd.ExecuteReader
        drdr.Read()
        DataGridView1.DataSource = ds.Tables("GrupoCliente")
        TextBox1.Text = drdr.Item("id")
    End Sub
Link to comment
Share on other sites

eu tenho um modulo na aplicaçao e nesse modulo lancei as seguintes variaveis:

Public strIniFile As String = "caminho onde se encontra o ficheiro\config.ini"

    Public strDb As String = GetIniSetting("CaminhoBaseDados", "BaseDados", strIniFile) & _

                      GetIniSetting("NomeBaseDados", "BaseDados", strIniFile)

    Public con As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDb & ";User Id=admin;Password=;")

de seguida o codigo e o ja lançado em cima :

Dim ds As New DataSet

            Dim dt As New DataTable

            Dim adap As New OleDbDataAdapter("select * from Tabela", con)

            adap.Fill(ds, "Tabela")

            ' DataGridView1.DataSource = ds.Tables("Tabela") 'preenche o DaraGrid no caso de ter uma datagrid apenas para visualizaçao de dados

            dt = ds.Tables(0)

            For Each DR As DataRow In dt.Rows

                ComboBox1.Items.Add(DR.Item("campodesejado")) ' carregar dados na combo

                TextBox1.Text = DR("campodesejado1").ToString.Trim

                TextBox2.Text = DR("campodesejado2").ToString.Trim

                    Next

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.