Olá Korn, desculpa a demora mas é q a sua dúvida me pegou de jeito...
Tente fazer assim mas ainda acho q não seja a solução ideal:
SELECT *
FROM Tbl_Casas
WHERE codigo Between CodMin And CodMax And codigo Not Between CodNotMin And CodNotMax OR codigo = cod OR codigo = cod2;
Sendo:
CodMax é o maior número do codigo da sua consulta; por exemplo vc quer pegar do cod 1 até o 10 então CodMax = 10
CodMin é o menor número do codigo da sua consulta; por exemplo vc quer pegar do cod 1 até o 10 então CodMin = 1
CodNotMin é o menor número do codigo da sua consulta q vc quer excluir; por exemplo vc quer pegar do cod 1 até o 10 menos o código de número 4 e 5 então codMin = 4.
CodNotMax é o maior número do codigo da sua consulta q vc quer excluir; por exemplo vc quer pegar do cod 1 até o 10 menos o código de número 4 e 5 então codMax = 5.
Cod e Cod2 é o número do codigo q vc quer incluir dentro do intervalo q vc quer excluir; por exemplo vc quer pegar do cod 1 até o 10 menos o código de número 3 a 5, só q vc quer incluir o 4 então cod = 4 (ou cod2 = 4).
Fica difícil por exemplo se vc tiver 20 códigos, do 1 ao 20 . Aí vc quer do 1 ao 20 menos o 5, 7, 10 e 18 certo? Então o mais fácil q vc faz é assim
Partindo do exemplo acima filtre do 1 ao 4:
CodMin = 1
CodMax = 4
CodNotMin = 0
CodNotMax = 0
Cod = 0
Cod2 = 0
depois filtre do 6 ao 9 (vc quer excluir o 7):
CodMin = 6
CodMax = 9
CodNotMin = 7
CodNotMax = 7
Cod = 0
Cod2 = 0
depois filtre do 11 ao 20 (vc quer excluir o 18):
CodMin = 11
CodMax = 20
CodNotMin = 18
CodNotMax = 18
Cod = 0
Cod2 = 0
Cod e cod2 serve pra fazer isso por exemplo:
Temos os códigos do 1 ao 6, não queremos 2 nem 5 então
CodMin = 1
CodMax = 6
CodNotMin = 2
CodNotMax = 5
Cod = 3
Cod2 = 4
resultado: codigo = 1,3,4,6
Mas se vc tiver q filtrar ainda mais faça como citei acima. Filtre por partes. Senão vamos ter infinitos "ors" ou "ands". Se eu conseguir achar uma solução mais prática eu coloco aqui ok?
t+