CARREGAR COMBOBOX COM 2 CAMPOS
Olá, estou com um sistema e vb6/access 2007 e em um formulário é feito um cadastro onde tem dois textbox : Tel1 e Tel2. Em outro form preciso carregar esses números de telefone em um combobox para que na hora do usuário registrar qual número foi usado será feita a seleção no combobox. Até carreguei o combo com os números, mas o tel1 aparece repetido.Ex:
36787225 -->Tel1
36787225 -->Tel1
36787200 -->Tel2
Como fazer para não repetir??? As rotinas para carregar o combo são as seguintes...
Sub CarregaCombo()
[ô]Abre o Recordset...
Dim rs As New ADODB.Recordset
Dim ComandoSQL As String
[ô]SQL = [Ô]Select * from tbCad where tbcad.codContato=[Ô] & txtCodContato
[ô] rs.Open SQL, conn, adOpenStatic
ComandoSQL = [Ô]SELECT * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
rs.Open ComandoSQL, conn, adOpenStatic
[ô] rs.MoveFirst
[ô] Do While Not rs.EOF
Combo1.AddItem rs![Tel1]
[ô] Combo1.AddItem rs![Tel2]
[ô] rs.MoveNext
[ô] Loop
End Sub
Sub CarregaCombo2()
[ô]Abre o Recordset...
Dim rs As New ADODB.Recordset
Dim ComandoSQL As String
[ô]SQL = [Ô]Select * from tbCad where tbcad.codContato=[Ô] & txtCodContato
[ô] rs.Open SQL, conn, adOpenStatic
ComandoSQL = [Ô]SELECT * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
rs.Open ComandoSQL, conn, adOpenStatic
[ô] rs.MoveFirst
[ô]Do While Not rs.EOF
[ô]Combo1.AddItem rs![Tel1]
Combo1.AddItem rs![Tel2]
[ô] rs.MoveNext
[ô]Loop
End Sub
36787225 -->Tel1
36787225 -->Tel1
36787200 -->Tel2
Como fazer para não repetir??? As rotinas para carregar o combo são as seguintes...
Sub CarregaCombo()
[ô]Abre o Recordset...
Dim rs As New ADODB.Recordset
Dim ComandoSQL As String
[ô]SQL = [Ô]Select * from tbCad where tbcad.codContato=[Ô] & txtCodContato
[ô] rs.Open SQL, conn, adOpenStatic
ComandoSQL = [Ô]SELECT * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
rs.Open ComandoSQL, conn, adOpenStatic
[ô] rs.MoveFirst
[ô] Do While Not rs.EOF
Combo1.AddItem rs![Tel1]
[ô] Combo1.AddItem rs![Tel2]
[ô] rs.MoveNext
[ô] Loop
End Sub
Sub CarregaCombo2()
[ô]Abre o Recordset...
Dim rs As New ADODB.Recordset
Dim ComandoSQL As String
[ô]SQL = [Ô]Select * from tbCad where tbcad.codContato=[Ô] & txtCodContato
[ô] rs.Open SQL, conn, adOpenStatic
ComandoSQL = [Ô]SELECT * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
rs.Open ComandoSQL, conn, adOpenStatic
[ô] rs.MoveFirst
[ô]Do While Not rs.EOF
[ô]Combo1.AddItem rs![Tel1]
Combo1.AddItem rs![Tel2]
[ô] rs.MoveNext
[ô]Loop
End Sub
veja
primeiro tenta esta alteração
ComandoSQL = [Ô]SELECT * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text [Ô] [txt-color=#0000f0]GROUP BY Tel1,Tel2[Ô][/txt-color]
rs.Open ComandoSQL, conn, adOpenStatic
primeiro tenta esta alteração
ComandoSQL = [Ô]SELECT * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text [Ô] [txt-color=#0000f0]GROUP BY Tel1,Tel2[Ô][/txt-color]
rs.Open ComandoSQL, conn, adOpenStatic
MARCELO-TREZE, como que se escreve essa query, copiei como está acima e só da erro de [Ô]Expected: end of statement[Ô]?????Já botei ponto e virgula, sem aspas , com aspas.....e dá o mesmo erro....
segunda tentativa
ComandoSQL = [Ô]SELECT [txt-color=#0000f0]DISTINCT[/txt-color] * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
ComandoSQL = [Ô]SELECT [txt-color=#0000f0]DISTINCT[/txt-color] * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
Em um dos meus tópicos tem a solução...
http://vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=434984&varWorld=
....
Pontue e encerre o tópico caso tenha lhe ajudado!
http://vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=434984&varWorld=
....
Pontue e encerre o tópico caso tenha lhe ajudado!
Pessoal consegui resolver com o que eu já tinha. Na linha anterior que adiciona os itens no combo estava faltando limpar o conteúdo do combo: Combo1.clear. Ficou conforme abaixo:
Sub CarregaCombo()
Dim rs As New ADODB.Recordset
Dim ComandoSQL As String
ComandoSQL = [Ô]SELECT * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
rs.Open ComandoSQL, conn, adOpenStatic
Combo1.Clear [ô] ESSA LINHA QUE FALTAVA .
If txtCodContato.Text = [Ô][Ô] Then Exit Sub
Combo1.AddItem rs![Tel1]
Combo1.AddItem rs![Tel2]
End Sub
Obrigado a todos e estou encerrando....
Sub CarregaCombo()
Dim rs As New ADODB.Recordset
Dim ComandoSQL As String
ComandoSQL = [Ô]SELECT * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
rs.Open ComandoSQL, conn, adOpenStatic
Combo1.Clear [ô] ESSA LINHA QUE FALTAVA .
If txtCodContato.Text = [Ô][Ô] Then Exit Sub
Combo1.AddItem rs![Tel1]
Combo1.AddItem rs![Tel2]
End Sub
Obrigado a todos e estou encerrando....
Tópico encerrado , respostas não são mais permitidas