Usuário com melhor resposta
ComboBox

Pergunta
-
no meu form de consulta de clientes cadastrado, coloquei um código para que meu comboBox me de o nome dos clientes cadastrado no banco de dados do access, só que eu não consigo fazer com que meus textbox automaticamente seja preenchido com os dados do cliente que eu selecionei no meu comboBox. podem me ajudar ?
Respostas
-
Esse é o problema todos são comboBox e cadê os textbox, a impressão que tive foi que queria fazer um combobox em cascara, que escolhendo uma razão preenchia os demais.
A vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel
- Marcado como Resposta Matheus L. M. C. Campos sexta-feira, 22 de maio de 2015 20:00
Todas as Respostas
-
-
Primeiro de tudo ,como esta sendo feito essa consulta (código) e como esta pegando o retorno, sabendo-se isso, por exemplo, se estiver retornando um dataTable basta fazer um foreach e implicar os dados para os respectivos textBox.
Mais o Ideal é que poste seu código e o método que utiliza do combobox.A vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel
-
Essa é a minha de linda de comando .
Imports System.Data.OleDb
Public Class Frm_Edit_Clientes
Private Sub Frm_Edit_Clientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cmb_Buscar.Enabled = False
Cmb_CPF_CNPJ.Enabled = False
Cmb_Nome_Fantasia.Enabled = False
Cmb_Razão_Social.Enabled = False
End Sub
Private Sub Cmb_Filtrar_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmb_Filtrar.SelectedIndexChanged
'Regras de Validação dos campos de busca.
If Cmb_Filtrar.Text.Contains("Razão Social") Then
Razao()
Cmb_Razão_Social.Enabled = True
Cmb_Razão_Social.Visible = True
Cmb_Buscar.Enabled = False
Cmb_Buscar.Visible = False
Cmb_Nome_Fantasia.Enabled = False
Cmb_Nome_Fantasia.Visible = False
Cmb_CPF_CNPJ.Enabled = False
Cmb_CPF_CNPJ.Visible = False
End If
If Cmb_Filtrar.Text.Contains("Nome Fantasia") Then
Fantasia()
Cmb_Buscar.Enabled = False
Cmb_Buscar.Visible = False
Cmb_Razão_Social.Enabled = False
Cmb_Razão_Social.Visible = False
Cmb_CPF_CNPJ.Enabled = False
Cmb_CPF_CNPJ.Visible = False
Cmb_Nome_Fantasia.Enabled = True
Cmb_Nome_Fantasia.Visible = True
End If
If Cmb_Filtrar.Text.Contains("CPF/CNPJ") Then
CPFCNPJ()
Cmb_Nome_Fantasia.Enabled = False
Cmb_Nome_Fantasia.Visible = False
Cmb_Buscar.Enabled = False
Cmb_Buscar.Visible = False
Cmb_Razão_Social.Enabled = False
Cmb_Razão_Social.Visible = False
Cmb_CPF_CNPJ.Enabled = True
Cmb_CPF_CNPJ.Visible = True
End If
End Sub
Private Sub Txt_Razão_Social_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_Razão_Social.TextChanged
End Sub
Private Sub Razao()
Using con As OleDbConnection = Conexao()
Try
con.Open()
Dim sql As String = "SELECT * FROM Clientes"
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_Razão_Social.ValueMember = "ID"
Cmb_Razão_Social.DisplayMember = "Razao_Social"
Cmb_Razão_Social.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
Private Sub Fantasia()
Using con As OleDbConnection = Conexao()
Try
con.Open()
Dim sql As String = "SELECT * FROM Clientes"
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_Nome_Fantasia.ValueMember = "ID"
Cmb_Nome_Fantasia.DisplayMember = "Nome_Fantasia"
Cmb_Nome_Fantasia.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
Private Sub CPFCNPJ()
Using con As OleDbConnection = Conexao()
Try
con.Open()
Dim sql As String = "SELECT * FROM Clientes"
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_CPF_CNPJ.ValueMember = "ID"
Cmb_CPF_CNPJ.DisplayMember = "CPF_CNPJ"
Cmb_CPF_CNPJ.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
Private Sub Frm_Edit_Clientes_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyCode
Case Keys.Enter
SendKeys.Send("{Tab}")
End Select
End Sub
Private Sub Btn_Edit_Salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Edit_Salvar.Click
End Sub
Private Sub Btn_Sair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Sair.Click
Me.Close()
End Sub
Private Sub Txt_ID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_ID.TextChanged
End Sub
Private Sub Grp_Cad_Edit_Cliente_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Grp_Cad_Edit_Cliente.Enter
End Sub
End Class -
Essa é a minha de linda de comando .
Imports System.Data.OleDb
Public Class Frm_Edit_Clientes
Private Sub Frm_Edit_Clientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cmb_Buscar.Enabled = False
Cmb_CPF_CNPJ.Enabled = False
Cmb_Nome_Fantasia.Enabled = False
Cmb_Razão_Social.Enabled = False
End Sub
Private Sub Cmb_Filtrar_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmb_Filtrar.SelectedIndexChanged
'Regras de Validação dos campos de busca.
If Cmb_Filtrar.Text.Contains("Razão Social") Then
Razao()
Cmb_Razão_Social.Enabled = True
Cmb_Razão_Social.Visible = True
Cmb_Buscar.Enabled = False
Cmb_Buscar.Visible = False
Cmb_Nome_Fantasia.Enabled = False
Cmb_Nome_Fantasia.Visible = False
Cmb_CPF_CNPJ.Enabled = False
Cmb_CPF_CNPJ.Visible = False
End If
If Cmb_Filtrar.Text.Contains("Nome Fantasia") Then
Fantasia()
Cmb_Buscar.Enabled = False
Cmb_Buscar.Visible = False
Cmb_Razão_Social.Enabled = False
Cmb_Razão_Social.Visible = False
Cmb_CPF_CNPJ.Enabled = False
Cmb_CPF_CNPJ.Visible = False
Cmb_Nome_Fantasia.Enabled = True
Cmb_Nome_Fantasia.Visible = True
End If
If Cmb_Filtrar.Text.Contains("CPF/CNPJ") Then
CPFCNPJ()
Cmb_Nome_Fantasia.Enabled = False
Cmb_Nome_Fantasia.Visible = False
Cmb_Buscar.Enabled = False
Cmb_Buscar.Visible = False
Cmb_Razão_Social.Enabled = False
Cmb_Razão_Social.Visible = False
Cmb_CPF_CNPJ.Enabled = True
Cmb_CPF_CNPJ.Visible = True
End If
End Sub
Private Sub Txt_Razão_Social_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_Razão_Social.TextChanged
End Sub
Private Sub Razao()
Using con As OleDbConnection = Conexao()
Try
con.Open()
Dim sql As String = "SELECT * FROM Clientes"
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_Razão_Social.ValueMember = "ID"
Cmb_Razão_Social.DisplayMember = "Razao_Social"
Cmb_Razão_Social.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
Private Sub Fantasia()
Using con As OleDbConnection = Conexao()
Try
con.Open()
Dim sql As String = "SELECT * FROM Clientes"
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_Nome_Fantasia.ValueMember = "ID"
Cmb_Nome_Fantasia.DisplayMember = "Nome_Fantasia"
Cmb_Nome_Fantasia.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
Private Sub CPFCNPJ()
Using con As OleDbConnection = Conexao()
Try
con.Open()
Dim sql As String = "SELECT * FROM Clientes"
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_CPF_CNPJ.ValueMember = "ID"
Cmb_CPF_CNPJ.DisplayMember = "CPF_CNPJ"
Cmb_CPF_CNPJ.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
Private Sub Frm_Edit_Clientes_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyCode
Case Keys.Enter
SendKeys.Send("{Tab}")
End Select
End Sub
Private Sub Btn_Edit_Salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Edit_Salvar.Click
End Sub
Private Sub Btn_Sair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Sair.Click
Me.Close()
End Sub
Private Sub Txt_ID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_ID.TextChanged
End Sub
Private Sub Grp_Cad_Edit_Cliente_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Grp_Cad_Edit_Cliente.Enter
End Sub
End Class -
Vamos as dicas:
1 - Se vai usar uma variavel N vezes com a mesma informação faz somente uma vez, me refiro ao codigo abaixo que se refere a mesma coisa em varios locais, basta declarar como Global as variáveis e só fazer o reaproventamento.:
Dim sql As String = "SELECT * FROM Clientes" Dim cmd As OleDbCommand = New OleDbCommand(sql, con) Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd) Dim dt As DataTable = New DataTable
2 - O que seria isso:
Cmb_Buscar Cmb_Razão_Social Cmb_CPF_CNPJ Cmb_Nome_Fantasia Cmb_Filtrar
São Botoes? São ComboBox ? São textBox?A vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel
-
-
Esse é o problema todos são comboBox e cadê os textbox, a impressão que tive foi que queria fazer um combobox em cascara, que escolhendo uma razão preenchia os demais.
A vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel
- Marcado como Resposta Matheus L. M. C. Campos sexta-feira, 22 de maio de 2015 20:00