• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

gastao

Fill a partir de uma combobox

10 mensagens neste tópico

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")

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas nao tou a csg mostra los para os textbox's respectivos.

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

RESOLVIDO pus as variaveis num modulo como publicas e em vez de chamar um procedimento chamo apenas a conexao e tenho de a abrir e fechar sempre em cada procedimento

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

RESOLVIDO pus as variaveis num modulo como publicas e em vez de chamar um procedimento chamo apenas a conexao e tenho de a abrir e fechar sempre em cada procedimento

Podes mostrar como fizeste ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora