SELECT COMPLICADO PARA FAZER

 Tópico anterior Próximo tópico Novo tópico

SELECT COMPLICADO PARA FAZER

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#327004 - 05/11/2009 11:55:04

MARCELO-TREZE
SAO VICENTE
Cadast. em:Abril/2009


só uma pequena modificação

"SELECT Clientes.DataCadastro,Clientes.Ativo,Consultas.* FROM Clientes INNER JOIN Consultas ON (Clientes.DataCadastro BETWEEN '" & Format(DataINI.Text,"YYYY-MM-DD) & "' AND '" & Format(DataFim.Text,"YYYY-MM-DD) & "') AND (Clientes.ativo = 'True') AND (Consultas.Data < '" & Format(DataIni.Text,"YYYY-MM-DD) & "' AND  Consultas.Data > '" & Format(DataFim.Text,"YYYY-MM-DD) & "')"


vamos lá uma hora a gente acerta



________________________________________________________________________________________
O orgulho cega até os sábios, ao ponto de não percebam que não são tão sábios como pensam.



#327005 - 05/11/2009 12:02:44

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Marcelo, fiz uma pequena alteração e QUASE deu certo..... Fiz assim:

SELECT clientes.datainclusao, consultas.* FROM clientes INNER JOIN consultas ON
clientes.codigo = consultas.codcliente where
(clientes.DataInclusao BETWEEN '2009-11-04' AND '2009-11-04') AND (clientes.situacao = 'A') AND
(consultas.Data <= '2009-11-04' AND  consultas.Data >= '2009-11-04')


Só que assim, ele me trará os registros SOMENTE do cara que foi CADASTRADO no dia 04.
Na verdade eu quero é saber QUEM não usou o sistema no dia 04

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#327007 - 05/11/2009 12:04:45

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Corrigindo a query.....

SELECT clientes.datainclusao, consultas.* FROM clientes INNER JOIN consultas ON
clientes.codigo = consultas.codcliente where
(clientes.DataInclusao <= '2009-11-04' ) AND (clientes.situacao = 'A') AND
(consultas.Data <= '2009-11-04' AND  consultas.Data >= '2009-11-04')


Assim eu trago TODAS as consultas FEITAS no período, mas quero é saber o contrário... QUEM não usou o sistema...

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#327009 - 05/11/2009 12:18:07

MARCELO-TREZE
SAO VICENTE
Cadast. em:Abril/2009


tire o igual desta parte

consultas.Data <= '2009-11-04' AND  consultas.Data >= '2009-11-04')

deixe assim,

consultas.Data < '2009-11-04' AND  consultas.Data > '2009-11-04')


________________________________________________________________________________________
O orgulho cega até os sábios, ao ponto de não percebam que não são tão sábios como pensam.



#327010 - 05/11/2009 12:20:16

MARCELO-TREZE
SAO VICENTE
Cadast. em:Abril/2009


a quer que vc postou achoa mais correta

SELECT clientes.datainclusao, consultas.* FROM clientes INNER JOIN consultas ON
clientes.codigo = consultas.codcliente where
(clientes.DataInclusao BETWEEN '2009-11-04' AND '2009-11-04') AND (clientes.situacao = 'A') AND
(consultas.Data < '2009-11-04' AND  consultas.Data > '2009-11-04')


________________________________________________________________________________________
O orgulho cega até os sábios, ao ponto de não percebam que não são tão sábios como pensam.



#327022 - 05/11/2009 13:16:05

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Marcelo, negativo....


Tenho clientes neste período que não utilizaram o sistema onde não está aparendo para mim neste select.


acho que vou ter que apelar e fazer da seguinte forma:
Fazer um select na tabela de cliente com data de inclusão <= data selecionada.
Jogar este resultado pra um RECORDSET e deste recordset fazer um SELECT TOP 1 na tabela CONSULTA no período (por cliente), e verificar se existe registro no período. Se não exisitir, incluir no relatório este cara.
Vai ser mais fácil..............

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

#327023 - 05/11/2009 13:32:43

MARCELO-TREZE
SAO VICENTE
Cadast. em:Abril/2009


e assim

SELECT clientes.datainclusao, consultas.* FROM clientes INNER JOIN consultas ON
clientes.codigo = consultas.codcliente where
(clientes.DataInclusao BETWEEN '2009-11-04' AND '2009-11-04') AND (clientes.situacao = 'A') AND consultas.Data <> Clientes.dataInclusao


________________________________________________________________________________________
O orgulho cega até os sábios, ao ponto de não percebam que não são tão sábios como pensam.



#327027 - 05/11/2009 14:03:52

LCSD
SAO PAULO
Cadast. em:Janeiro/2001


Negativo MARCELO....


Vou ter que apelar mesmo e fazer como descreví acima.... Tenho até SABADO para terminar este e outros 2 relatórios.... Não posso perder mais muito tempo nisso....

  
Quando precisar, pode contar comigo....
E quando precisar, não esqueça de agradecer, pois a educação é a ALMA DO NEGÓCIO...


Obrigado.

Luiz Cesar

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LCSD em 05/11/2009 16:13:06