CONSULTA SQL COM DATA ACCESS

CARINHENA 06/06/2005 21:49:10
#87362
PESSOAL, preciso pegar todos os registros cujo campo Status 1 seja igual a "Ativo"e que o campo Data de inicio 1 (Campo data na tabela acces) seja menor que o dia de hoje.

Fiz desse jeito:

Ass1 = "Ativo"
Ass2 = Format (now,"dd/mm/yy)

rs.Open "select * from [Cadastro de Alunos] where [Status 1] like '" & ass1 & "' and [Data de inicio 1] < '" & ass2 & "'", cn, adOpenForwardOnly, adOpenDynamic

mas, se eu uso somente o status 1 da certo, só que no campo data (formatação dessa forma 00/00/00) não funciona dizendo que são dados "imcompativeis".

Tentei usar # antes e depois do código.

Alguem pode dar esse help?

um abraço


[txt-color=#008000]** Título Original ("Ajuda com Consulta SQL") editado por KpellaJr [/txt-color]
LCSD 06/06/2005 22:01:17
#87364
Resposta escolhida
Carinhena

Se você sabe que o valor é fixo, não use o operador LIKE porque poderá demandar muito tempo quando sua Base de DAdos crescer. Para Data em Access é necessário # para delimitar. Teste:

rs.Open "select * from [Cadastro de Alunos] where [Status 1] =  '" & ass1 & "' and [Data de inicio 1] < #" & ass2 & "#", cn, 


Ainda, evite [STatus 1] e [Data de Inicio 1], se necessitar prefira Status1 e DataInicio1.

Até breve
[s40]
USUARIO.EXCLUIDOS 06/06/2005 22:02:14
#87365
bom de primeiro vista naum parece estar erradu so tenta usar # antes das datas assim

"select * form nome da tabela where data = #" & 06/06/2005 & "# "

pode ser que funcione
USUARIO.EXCLUIDOS 06/06/2005 22:15:32
#87367

SQL= "select * from tabela1 where data < #" & data & "#" & "And situacao='ativo' "

Acho que no seu código ficaria assim:
rs.Open "select * from tabela1 where data < #" & data & "#" & "And situacao='ativo' ",cn, adOpenForwardOnly, adOpenDynamic

Tópico encerrado , respostas não são mais permitidas