Salve,
chiedo un aiuto. Ho un programmino Access che tramite un form un utente inserisce il nome di un Comune e l'indirizzo ed gli estrapola dal database.
Il problema è che da come ho scritto la funzione di ricerca, i risultati contemplano tutte le sottostringhe del nome del Comune, facendo uscire Comuni non corretti.
Es. il mio DB ha dentro
[Verona, Milano, Lano, Venezia, Lano, Solano, Lano Marittima...]
la ricerca del Comune di Lano darà come risultato: Milano, Lano, Lano, Solano, Lano Marittima, ...
Cioè tutti i comuni che hanno "lano" all'interno della parola, ma non dovrebbe essere così.
Il risultato corretto sarebbe: Lano, Lano, Lano Marittima.
La funzione che ho scritto è questa:
SELECT Contatti.ID, Contatti.[Cognome_Società], Contatti.Nome, Contatti.Indirizzo, Contatti.Comune, Contatti.Telefono, Contatti.Cellulare, Contatti.Referente, Contatti.Note
FROM Contatti
WHERE ((
(LCase(Contatti.Comune)) Like "*" & LCase(Forms!Comune!NomeComune) & "*")
And ((LCase(Contatti.Indirizzo)) Like "*" & LCase(Forms!Comune!Indirizzo) & "*"))
ORDER BY Contatti.Indirizzo;
l'indirizzo potete anche non considerarlo perché è sempre opzionale.
soffermandoci sulla funzione where ho pensato di sostituirla con:
WHERE (
(
(("*" & LCase(Forms!Comune!NomeComune) & "*") Like ("* " & LCase(Contatti.Comune) & " *")) Or
(("*" & LCase(Forms!Comune!NomeComune) & "*") Like ("* " & LCase(Contatti.Comune))) Or
(("*" & LCase(Forms!Comune!NomeComune) & "*") Like (LCase(Contatti.Comune) & " *")) Or
(("*" & LCase(Forms!Comune!NomeComune) & "*") Like (LCase(Contatti.Comune)))
)
And (LCase(Contatti.Indirizzo) Like ("*" & LCase(Forms!Comune!Indirizzo) & "*"))
)
ma ora ricevo un errore
#Tipo!
Mi potreste aiutare, non so più come andare avanti.
Grazie