PREENCENDO CONTROLES COM COMBO BOX

 Tópico anterior Próximo tópico Novo tópico

PREENCENDO CONTROLES COM COMBO BOX

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#493383 - 09/04/2020 22:35:02

ALMIROLIVEIRA20
BRASILIA
Cadast. em:Março/2020


Ola pessoal boa noite, primeiramente quero dizer que sou novo aqui e que estou iniciando nesta rea mais uma vez.
Uso a plataforma de desenvolvimento Visual Studio 2010 (ainda). Acho que pra comear ta bom n.
Minha duvida a seguinte;
Tenho duas tabelas:
TBESTADOS e TBMUNICIPIOS
TABELA MUNICIPIOS tenho os seguintes campos: ID, COD_IBGE, NOME, ID_ESTADO
TABELA ESTADOS tenho os seguintes campos: ID, SIGLA, NOME, COD_IBGE,
No atentem pra questo COD_IBGE ainda por favor
Tenho um cdigo que faz o seguinte pra mim

Private Sub PreencheComboCidade()
        Using con As OleDbConnection = GetConnection()
            con.Open()
            Try
                Dim sql As String = []SELECT * FROM TBMUNICIPIOS ORDER BY NOME[]
                Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
                Dim dt As DataTable = New DataTable
                da.Fill(dt)
                cmbCidade.ValueMember = []id_Estado[]
                cmbCidade.DisplayMember = []nome[]
                cmbCidade.DataSource = dt
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
                con.Close()
            End Try
        End Using
    End Sub
Funcionando perfeitamente, carregando todas as cidades da Tabela TBMUNICIPIOS
Tenho este outro cdigo que carrega o txtCod_IBGE de acordo com a cidade selecionada na ComboBox Cidade.
Private Sub LerDados()
        Dim dr As OleDbDataReader = Nothing
        Using con As OleDbConnection = GetConnection()
            Try
                con.Open()
                Dim sql As String = []SELECT * FROM TBMUNICIPIOS WHERE NOME = [][] & cmbCidade.Text & [][][]
                Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                dr = cmd.ExecuteReader(CommandBehavior.SingleRow)
                If dr.HasRows Then
                    dr.Read()
                    txtIBGE.Text = dr.Item([]Cod_IBGE[])
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
                con.Close()
            End Try
        End Using
O que eu quero?
Carregar em um textBox a Sigla do Estado que est na TABELA TBESTADOS porem representada na Tabela TBMUNICIPIOS como ID_ESTADOS (neste campo est o ID da Sigla Estado na tabela TBESTADO.
Ou seja,
na TBMUNICIPIOS eu tenho o campo chamado ID_ESTADO que o ID da SIGLA que est na Tabela TBESTADOS.
Tentei de vrias formas conforme o cdigo abaixo, mas no consegui de jeito nenhum
Private Sub LerEstado()
        Dim dr As OleDbDataReader = Nothing
        Using con As OleDbConnection = GetConnection()
            Try
                con.Open()
                Dim sql As String = []SELECT * FROM TBESTADOS WHERE ID = [][] & cmbCidade.SelectedValue & [][][]
                Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                dr = cmd.ExecuteReader(CommandBehavior.SingleRow)
                If dr.HasRows Then
                    dr.Read()
                    txtEstado.Text = dr.Item([]SIGLA[])
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
                con.Close()
            End Try
        End Using

Algum que eu sei que sabe, poderia me ajudar?




Resposta escolhida #493385 - 10/04/2020 01:46:48

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


se o campo ID_ESTADO tipo inteiro,e obanco for access, tire o apostrofo ( [] )

O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


#493388 - 10/04/2020 07:36:51

ALMIROLIVEIRA20
BRASILIA
Cadast. em:Março/2020


um campo inteiro, tirei o apostrofo. porei s muda o a Sigla do Estado se eu passar pelo campo e digitar alguma coisa, mesmo que no seja a sigla correta ele preenche corretamente, mas depois que eu passo pelo campo txtEstado.text
no evento txtEstado_Change eu coloquei a funo LerEstado(), deveria mudar automaticamente quando seleciono a cidade. como feito no campo COD_IBGE, mas no est acontecendo.
Tem algo que possa ser feito?
Obrigado por enquanto



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por ALMIROLIVEIRA20 em 10/04/2020 08:18:16