PREENCHENDO COMBOBOX
Boa tarde pessoal, esta é minha primeira pergunta neste fórum.
Gostaria de vossas ajudas no seguinte código abaixo:
Este código abaixo vai popular um combo chamado de cboEstado quando o utilizador informar o CEP que é feito busca na internet automaticamente. Até aqui, beleza, funciona perfeito.
// Using con As OleDbConnection = GetConection()
con.Open()
Dim Dr As OleDbDataReader
Dim Sql As String = [Ô]select UF from TBEstados[Ô]
Dim Cmd As OleDbCommand = New OleDbCommand(Sql, con)
Dr = Cmd.ExecuteReader
cboEstado.Items.Clear()
While Dr.Read
cboEstado.Items.Add(Dr.Item([Ô]UF[Ô]).ToString)
End While
cboEstado.EndUpdate()
con.Close()
End Using
Já este outro código vai popular uma outra combo por nome de cboMunicpios com os municÃpios do estado selecionado na cboEstado
Using con As OleDbConnection = GetConection()
con.Open()
Dim Dr As OleDbDataReader
Dim Sql As String = [Ô]select NomeMunicipio from TBMunicipios Where Estado Like [ô]%[Ô] & CStr(cboEstado.Text) & [Ô]%[ô][Ô]
Dim Cmd As OleDbCommand = New OleDbCommand(Sql, con)
Dr = Cmd.ExecuteReader
cboMunicipio.Items.Clear()
txtCodigoMunicipio.Clear()
txtCodPais.Clear()
While Dr.Read
cboMunicipio.Items.Add(Dr.Item([Ô]NomeMunicipio[Ô]).ToString)
End While
cboEstado.EndUpdate()
con.Close()
End Using
Até aqui tudo certo, porém meu problema começa agora.
Este outro codigo abaixo, preenche dois textBox, um txtCodMunicÃpio e outro txtCodPais
Está funcionando, porém, de forma aleatória, se existir municipios de mesmo nome em estados diferentes a busca não está coincidindo o Estado com seus muncipios.
o municÃpio de Bonito existe em outros estados brasileiro, sendo PA-Para, ?BA-Bahia e MS-Mato G. Sul, PE-Pernambuco
ao selecionar o estado da bahia, ele está buscando o codigo do municipio de MS
e assim pros demais estados que tenham mesmo nome de municpÃos, é como se ele estivesse buscando o ultimo ou o primeiro, nao sei, mas pela lógia deve ser o ultimo pois o Municpio de Bonito da Bahia tem o codigo nr 2904050 e MS é 5002209
Não sei o que está acontecendo
Alguem poderia me ajudar?
Codigo que faz a busca pelo nome do múnicipio
Using con As OleDbConnection = GetConection()
con.Open()
Dim Dr As OleDbDataReader
Dim Sql As String = [Ô]select CodMunicipio,CodPais from TBMunicipios Where NomeMunicipio Like [ô]%[Ô] & CStr(cboMunicipio.Text) & [Ô]%[ô][Ô]
Dim Cmd As OleDbCommand = New OleDbCommand(Sql, con)
Dr = Cmd.ExecuteReader
txtCodigoMunicipio.Clear()
txtCodPais.Clear()
While Dr.Read
txtCodigoMunicipio.Text = Dr.Item([Ô]CodMunicipio[Ô])
txtCodPais.Text = Dr.Item([Ô]CodPais[Ô])
End While
con.Close()
End Using
Obrigado por enquanto.
Gostaria de vossas ajudas no seguinte código abaixo:
Este código abaixo vai popular um combo chamado de cboEstado quando o utilizador informar o CEP que é feito busca na internet automaticamente. Até aqui, beleza, funciona perfeito.
// Using con As OleDbConnection = GetConection()
con.Open()
Dim Dr As OleDbDataReader
Dim Sql As String = [Ô]select UF from TBEstados[Ô]
Dim Cmd As OleDbCommand = New OleDbCommand(Sql, con)
Dr = Cmd.ExecuteReader
cboEstado.Items.Clear()
While Dr.Read
cboEstado.Items.Add(Dr.Item([Ô]UF[Ô]).ToString)
End While
cboEstado.EndUpdate()
con.Close()
End Using
Já este outro código vai popular uma outra combo por nome de cboMunicpios com os municÃpios do estado selecionado na cboEstado
Using con As OleDbConnection = GetConection()
con.Open()
Dim Dr As OleDbDataReader
Dim Sql As String = [Ô]select NomeMunicipio from TBMunicipios Where Estado Like [ô]%[Ô] & CStr(cboEstado.Text) & [Ô]%[ô][Ô]
Dim Cmd As OleDbCommand = New OleDbCommand(Sql, con)
Dr = Cmd.ExecuteReader
cboMunicipio.Items.Clear()
txtCodigoMunicipio.Clear()
txtCodPais.Clear()
While Dr.Read
cboMunicipio.Items.Add(Dr.Item([Ô]NomeMunicipio[Ô]).ToString)
End While
cboEstado.EndUpdate()
con.Close()
End Using
Até aqui tudo certo, porém meu problema começa agora.
Este outro codigo abaixo, preenche dois textBox, um txtCodMunicÃpio e outro txtCodPais
Está funcionando, porém, de forma aleatória, se existir municipios de mesmo nome em estados diferentes a busca não está coincidindo o Estado com seus muncipios.
o municÃpio de Bonito existe em outros estados brasileiro, sendo PA-Para, ?BA-Bahia e MS-Mato G. Sul, PE-Pernambuco
ao selecionar o estado da bahia, ele está buscando o codigo do municipio de MS
e assim pros demais estados que tenham mesmo nome de municpÃos, é como se ele estivesse buscando o ultimo ou o primeiro, nao sei, mas pela lógia deve ser o ultimo pois o Municpio de Bonito da Bahia tem o codigo nr 2904050 e MS é 5002209
Não sei o que está acontecendo
Alguem poderia me ajudar?
Codigo que faz a busca pelo nome do múnicipio
Using con As OleDbConnection = GetConection()
con.Open()
Dim Dr As OleDbDataReader
Dim Sql As String = [Ô]select CodMunicipio,CodPais from TBMunicipios Where NomeMunicipio Like [ô]%[Ô] & CStr(cboMunicipio.Text) & [Ô]%[ô][Ô]
Dim Cmd As OleDbCommand = New OleDbCommand(Sql, con)
Dr = Cmd.ExecuteReader
txtCodigoMunicipio.Clear()
txtCodPais.Clear()
While Dr.Read
txtCodigoMunicipio.Text = Dr.Item([Ô]CodMunicipio[Ô])
txtCodPais.Text = Dr.Item([Ô]CodPais[Ô])
End While
con.Close()
End Using
Obrigado por enquanto.
Vi rapidamente, mas me parece aqui o problema.
Like não se utiliza nesse caso.
Utlize:Where Estado = [ô][Ô] & CStr(cboEstado.Text) & [Ô][ô]
Citação:Where Estado Like [ô]%[Ô] & CStr(cboEstado.Text) & [Ô]%[ô]
Like não se utiliza nesse caso.
Utlize:Where Estado = [ô][Ô] & CStr(cboEstado.Text) & [Ô][ô]
refine a busca, where nomemunicipio = o combo and estado = o combo
assim o retorno tem q atender aos 2 criterios, e nao qq municipio com aquele nome, seja no estado ou nao
assim o retorno tem q atender aos 2 criterios, e nao qq municipio com aquele nome, seja no estado ou nao
Obrigado, tente da forma que me falastes, porem ainda não deu certo.
Veja bem o codigo que preenche a combo estado e o codigo que peenche a compo municipios está perfeito.
o problema está no codigo abaixo:
Using con As OleDbConnection = GetConection()
con.Open()
Dim Dr As OleDbDataReader
Dim Sql As String = [Ô]select CodMunicipio,CodPais from TBMunicipios Where NomeMunicipio = [ô][Ô] & CStr(cboMunicipio.Text) & [Ô][ô][Ô]
Dim Cmd As OleDbCommand = New OleDbCommand(Sql, con)
Dr = Cmd.ExecuteReader
txtCodigoMunicipio.Clear()
txtCodPais.Clear()
While Dr.Read
txtCodigoMunicipio.Text = Dr.Item([Ô]CodMunicipio[Ô])
txtCodPais.Text = Dr.Item([Ô]CodPais[Ô])
End While
con.Close()
End Using
Veja bem o codigo que preenche a combo estado e o codigo que peenche a compo municipios está perfeito.
o problema está no codigo abaixo:
Using con As OleDbConnection = GetConection()
con.Open()
Dim Dr As OleDbDataReader
Dim Sql As String = [Ô]select CodMunicipio,CodPais from TBMunicipios Where NomeMunicipio = [ô][Ô] & CStr(cboMunicipio.Text) & [Ô][ô][Ô]
Dim Cmd As OleDbCommand = New OleDbCommand(Sql, con)
Dr = Cmd.ExecuteReader
txtCodigoMunicipio.Clear()
txtCodPais.Clear()
While Dr.Read
txtCodigoMunicipio.Text = Dr.Item([Ô]CodMunicipio[Ô])
txtCodPais.Text = Dr.Item([Ô]CodPais[Ô])
End While
con.Close()
End Using
NICKOSOFT
Poderia por gentileza descrever como eu refinaria esta busca dentro da linha de comando? por favor;
Dim Sql As String = [Ô]select * from TBMunicipios Where NomeMunicipio = [ô][Ô] & cboMunicipio.Text & [Ô][ô][Ô]
Poderia por gentileza descrever como eu refinaria esta busca dentro da linha de comando? por favor;
Dim Sql As String = [Ô]select * from TBMunicipios Where NomeMunicipio = [ô][Ô] & cboMunicipio.Text & [Ô][ô][Ô]
Nesse caso vc tem que passar o municipio e o estado desejado.
[Ô]select CodMunicipio,CodPais from TBMunicipios Where NomeMunicipio = [ô][Ô] & CStr(cboMunicipio.Text) & [Ô][ô] And Estado= [ô][Ô] & CStr(cboEstado.Text) & [Ô][ô][Ô]
[Ô]select CodMunicipio,CodPais from TBMunicipios Where NomeMunicipio = [ô][Ô] & CStr(cboMunicipio.Text) & [Ô][ô] And Estado= [ô][Ô] & CStr(cboEstado.Text) & [Ô][ô][Ô]
Citação::
Nesse caso vc tem que passar o municipio e o estado desejado.
[Ô]select CodMunicipio,CodPais from TBMunicipios Where NomeMunicipio = [ô][Ô] & CStr(cboMunicipio.Text) & [Ô][ô] And Estado= [ô][Ô] & CStr(cboEstado.Text) & [Ô][ô][Ô]
Cara valeu, agora
Funcionou beleza.
O que seria dos aprendizes se não fossem os professores. Ainda assim o Brasil desvaloriza e desmerecem os professores deste paÃs.
Obrigado amigos, solucionado o problema.
Att
Almir
Tópico encerrado , respostas não são mais permitidas