Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Ecco la query finale:
SELECT Immobili.[Lotto vendita], Immobili.Prezzo, Immobili.[Superficie in Mq], Immobili.Indirizzo, Immobili.[Numero vani complessivo], Immobili.[Numero camere matrimoniali], Immobili.[Numero camerette], Immobili.[Tipo cucina], Immobili.Lavanderia, Immobili.Balconi, Immobili.Terrazza, Immobili.Garage, Immobili.[Posto auto], Immobili.Cantina, Immobili.Giardino, Immobili.Veranda, Immobili.[Terreno di pertinenza], Immobili.Piscina, Immobili.[Tipo riscaldamento], Immobili.[Aria condizionata], Immobili.Ascensore, Immobili.[Stato dell'immobile], Immobili.Certificazioni, Immobili.[Classe energetica]
FROM Immobili
GROUP BY Immobili.[Lotto vendita], Immobili.Prezzo, Immobili.[Superficie in Mq], Immobili.Indirizzo, Immobili.[Numero vani complessivo], Immobili.[Numero camere matrimoniali], Immobili.[Numero camerette], Immobili.[Tipo cucina], Immobili.Lavanderia, Immobili.Balconi, Immobili.Terrazza, Immobili.Garage, Immobili.[Posto auto], Immobili.Cantina, Immobili.Giardino, Immobili.Veranda, Immobili.[Terreno di pertinenza], Immobili.Piscina, Immobili.[Tipo riscaldamento], Immobili.[Aria condizionata], Immobili.Ascensore, Immobili.[Stato dell'immobile], Immobili.Certificazioni, Immobili.[Classe energetica], Immobili.[Tipo immobile], Immobili.Località, Immobili.[Tipo Contratto], Immobili.Venduto, Immobili.Annullato
HAVING (((Immobili.Prezzo) Between 1 And [Forms]![Cerca immobili su richiesta]![Prezzo]+(30*[Forms]![Cerca immobili su richiesta]![Prezzo]/100)) AND ((Immobili.[Superficie in Mq]) Between [Forms]![Cerca immobili su richiesta]![Superficie Min in Mq] And [Forms]![Cerca immobili su richiesta]![Superficie Max in Mq] Or (Immobili.[Superficie in Mq]) Is Null) AND ((Immobili.[Numero vani complessivo])>=[Forms]![Cerca immobili su richiesta]![Numero vani complessivo] Or (Immobili.[Numero vani complessivo]) Is Null) AND ((Immobili.[Numero camere matrimoniali])>=[Forms]![Cerca immobili su richiesta]![Numero camere matrimoniali] Or (Immobili.[Numero camere matrimoniali]) Is Null) AND ((Immobili.[Numero camerette])>=[Forms]![Cerca immobili su richiesta]![Numero camerette] Or (Immobili.[Numero camerette]) Is Null) AND ((Immobili.[Tipo cucina])=[Forms]![Cerca immobili su richiesta]![Tipo cucina] Or (Immobili.[Tipo cucina]) Is Null) AND ((Immobili.Lavanderia)=[Forms]![Cerca immobili su richiesta]![Lavanderia] Or (Immobili.Lavanderia) Is Null) AND ((Immobili.Balconi)=[Forms]![Cerca immobili su richiesta]![Balconi] Or (Immobili.Balconi) Is Null) AND ((Immobili.Terrazza)=[Forms]![Cerca immobili su richiesta]![Terrazza] Or (Immobili.Terrazza) Is Null) AND ((Immobili.Garage)=[Forms]![Cerca immobili su richiesta]![Garage] Or (Immobili.Garage) Is Null) AND ((Immobili.[Posto auto])=[Forms]![Cerca immobili su richiesta]![Posto auto] Or (Immobili.[Posto auto]) Is Null) AND ((Immobili.Cantina)=[Forms]![Cerca immobili su richiesta]![Cantina] Or (Immobili.Cantina) Is Null) AND ((Immobili.Giardino)=[Forms]![Cerca immobili su richiesta]![Giardino] Or (Immobili.Giardino) Is Null) AND ((Immobili.Veranda)=[Forms]![Cerca immobili su richiesta]![Veranda] Or (Immobili.Veranda) Is Null) AND ((Immobili.[Terreno di pertinenza])=[Forms]![Cerca immobili su richiesta]![Terreno di pertinenza] Or (Immobili.[Terreno di pertinenza]) Is Null) AND ((Immobili.Piscina)=[Forms]![Cerca immobili su richiesta]![Piscina] Or (Immobili.Piscina) Is Null) AND ((Immobili.[Tipo riscaldamento])=[Forms]![Cerca immobili su richiesta]![Tipo riscaldamento] Or (Immobili.[Tipo riscaldamento]) Is Null) AND ((Immobili.[Aria condizionata])=[Forms]![Cerca immobili su richiesta]![Aria condizionata] Or (Immobili.[Aria condizionata]) Is Null) AND ((Immobili.Ascensore)=[Forms]![Cerca immobili su richiesta]![Ascensore] Or (Immobili.Ascensore) Is Null) AND ((Immobili.Certificazioni)=[Forms]![Cerca immobili su richiesta]![Certificazioni] Or (Immobili.Certificazioni) Is Null) AND ((Immobili.[Classe energetica])=[Forms]![Cerca immobili su richiesta]![Classe energetica] Or (Immobili.[Classe energetica]) Is Null) AND ((Immobili.[Tipo immobile])=[Forms]![Cerca immobili su richiesta]![Tipo immobile]) AND ((Immobili.Località)=[Forms]![Cerca immobili su richiesta]![Località]) AND ((Immobili.[Tipo Contratto])="Vendita") AND ((Immobili.Venduto)=No) AND ((Immobili.Annullato)=No)) OR (((Immobili.Prezzo) Between 1 And [Forms]![Cerca immobili su richiesta]![Prezzo]+(30*[Forms]![Cerca immobili su richiesta]![Prezzo]/100)) AND ((Immobili.[Tipo immobile])=[Forms]![Cerca immobili su richiesta]![Tipo immobile]) AND ((Immobili.Località)=[Forms]![Cerca immobili su richiesta]![Località]) AND ((Immobili.[Tipo Contratto])="Vendita") AND ((Immobili.Venduto)=No) AND ((Immobili.Annullato)=No) AND (([Forms]![Cerca immobili su richiesta]![Numero vani complessivo]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Numero camere matrimoniali]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Numero camerette]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Tipo cucina]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Lavanderia]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Balconi]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Terrazza]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Garage]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Posto auto]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Cantina]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Giardino]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Veranda]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Terreno di pertinenza]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Piscina]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Tipo riscaldamento]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Aria condizionata]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Ascensore]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Certificazioni]) Is Null) AND (([Forms]![Cerca immobili su richiesta]![Classe energetica]) Is Null));
In pratica la base su cui ragionare è questa:
Usare il criterio normale, poi aggiungere OR ed un altro criterio (Il secondo criterio funge da parte falsa per il primo).