VB6 Problema a filtrar Recordset

Jekkaman

Power Member
Boas colegas,tou a desenvolver uma aplicação em vb6,quando tento filtrar o recordset da-me um erro a dizer que os argumentos sao do tipo incorrecto...basicamente a ideia é obter todos os resultados que se encontrem num intervalo de datas.
Aqui fica o código:

Código:
rs.filter = "(DataPrevista BETWEEN #" & CDate(di1) & "# And #" & CDate(di2) & "#"

DataPrevista é o campo que quero filtrar e d1 é a data inicial e di2 a datafinal,o erro como já disse é:

Run-Time Error 3001 - Arguments are of the wrong type,are out of acceptable range,or are in conflict with another
Ja tentei sem o cdate também mas é igual..Já usei o >= e <= mas em vez do programa filtrar pela data completa filtra so pelo dia do mes...enfim..

Desde já obrigado pela ajuda pessoal.

Cumps.
 
Presumo que o que escreveste era isto:
rs.filter = "DataPrevista BETWEEN '#(" & CDate(di1) & "# And #" & CDate(di2) & ")#'"
mas não funciona...nao consigo executar o between não sei porque...

colocando o filtro antes ou depois da abertura do recordset da o mesmo erro....
estou a usar o jet 4.0 para me ligar a base de dados não sei se fará diferença.
 
Já consegui,tinha o campo DataPrevista na base de dados como texto e não como data,já funciona com o >= e com <= mesmo assim o between não funciona dando o mesmo erro mas não interessa problema resolvido ;)

Obrigado pela a ajuda!:009:
 
oi estou com um problema parecido, alguem pode me ajudar por favor? esse comando da um erro "nenhum valor foi fornecido para um ou mais parâmetros necessarios" mas quando verifico o conteúdo das variáveis está com o texto das caixas de texto onde foram inseridas as datas normal

instsql = "SELECT * from entradas where dia >= '#(" & CDate(D1) & ")#' and dia <= '#(" & CDate(D2) & ")#' ORDER BY id ASC"

entradas é a tabela, dia o campo na base de dados, D1 e D2 variáveis do tipo Date onde atribuo o valor de 1 textbox a cada uma (data inicial e final da pesquisa por periodo)

Obrigado
 
Back
Topo