CARREGAR COMBOBOX COM 2 CAMPOS

ALANTB 27/02/2014 14:33:06
#435368
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
MARCELO.TREZE 27/02/2014 15:08:06
#435369
Resposta escolhida
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
ALANTB 27/02/2014 15:17:47
#435370
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....

MARCELO.TREZE 27/02/2014 16:18:23
#435372
segunda tentativa

ComandoSQL = [Ô]SELECT [txt-color=#0000f0]DISTINCT[/txt-color] * FROM tbCad [Ô] & _
[Ô]WHERE tbCad.CodContato=[Ô] & txtCodContato.Text
ADRIANOM 27/02/2014 19:29:13
#435389
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!
ALANTB 28/02/2014 14:46:46
#435405
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....
Tópico encerrado , respostas não são mais permitidas