CONSULTA NO BANCO ACCESS USANDO DATA

USUARIO.EXCLUIDOS 05/12/2006 21:35:05
#188206
ai pessoal.. fiz a seguinte consulta
Data1.RecordSource = "select Clientes.codigo_cliente, Clientes.Nome,Endereco,bairro, Cidades.nome, telefone from Clientes, Telefones, cidades where status = '1' and clientes.nome like '*" & Replace(txtBuscarNome.Text, "'", "") & "*' and endereco like '*" & Replace(txtBuscarEndereco.Text, "'", "") & "*' and bairro like '*" & Replace(txtBuscarBairro.Text, "'", "") & "*' and Clientes.codigo_cidade like '*" & txtBuscarCodCidade & "*' and telefone like '*" & mskBuscarTelefone.Text & "*' And Telefones.codigo_cliente = Clientes.codigo_cliente  And Cidades.codigo_cidade = clientes.codigo_cidade order by Clientes.nome"


o problema é que se o cliente possui mais de um telefone, mostra é claro, mais de um resultado do mesmo ..

...queria que mostrasse apenas um do mesmo cliente.. sendo que no telefone mostrasse apenas o primeiro telefone encontrado.
me ajudem.. t+
USUARIO.EXCLUIDOS 05/12/2006 23:25:42
#188212
pesssoall.. me ajudem ai
USUARIO.EXCLUIDOS 06/12/2006 00:28:16
#188215
Um exemplo simples, ai vc coloca na sua sql.

Select codigo_cliente, (Select Telefone from tabtelefone where telefones.codigo_cliente = Clientes.codigo_cliente) From tabCliente
USUARIO.EXCLUIDOS 06/12/2006 00:40:11
#188216
cara nao eu certo...
CLEVERTON 06/12/2006 01:16:28
#188217
Ué, é só usar o Distinct

Data1.RecordSource = "Select Distinct Codigo_Cliente, Telefone from Telefone"

USUARIO.EXCLUIDOS 06/12/2006 12:19:06
#188310
o que faz esse comando amigo? distinct?? to sem vb agora!!
LUIS.FLAVIO 06/12/2006 12:22:42
#188312
Pega todos os códigos diferente tipo:

1
2
1

Ele retorna apenas 1 e 2 pois 1 tem várias vezes.
USUARIO.EXCLUIDOS 06/12/2006 13:36:33
#188325
cara fiz assim... mas nao deu certo.. o que pode ser...??

Data1.RecordSource = "select Distinct Clientes.codigo_cliente, Clientes.Nome,Endereco,bairro, Cidades.nome, telefone from Clientes, Telefones, cidades where status = '1' and clientes.nome like '*" & Replace(txtBuscarNome.Text, "'", "") & "*' and endereco like '*" & Replace(txtBuscarEndereco.Text, "'", "") & "*' and bairro like '*" & Replace(txtBuscarBairro.Text, "'", "") & "*' and Clientes.codigo_cidade like '*" & txtBuscarCodCidade & "*' and telefone like '*" & mskBuscarTelefone.Text & "*' And Telefones.codigo_cliente = Clientes.codigo_cliente  And Cidades.codigo_cidade = clientes.codigo_cidade order by Clientes.nome"

USUARIO.EXCLUIDOS 06/12/2006 14:16:42
#188343
???

USUARIO.EXCLUIDOS 06/12/2006 14:54:50
#188354
me ajudem amigos...
eu fiz que nem o CLEVERTON disse mas ele retorna a mesma coisa..
... espero contar com vcs.. t+
HUGOSSOUZA 06/12/2006 15:00:45
#188356
qual o banco de dados?
tenta o exemplo do ADVANCE mas coloca um top 1 se for access dentro da subquery para voltar somente 1 registro.

Select codigo_cliente, (Select top 1 Telefone from tabtelefone where telefones.codigo_cliente = Clientes.codigo_cliente) as telefone From tabCliente
Página 1 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas