Mi spiace ma come ti ho detto non conoscendo l'ambiente MSAccess non saprei cos'altro indicarti.
La sola cosa che posso dirti è che devi controllare il formato della data che dipende dalle impostazioni del database.
MSAccess di norma usa internamente il formato americano MM/DD/YYYY, anche se poi quando si apre la tabella direttamente, la data la mostra nel formato italiano DD/MM/YYYY.
Anche Oracle dovrebbe usare MM/DD/YYYY (ad esempio nel db di Oracle dove lavoro io è così).
Capisco che sei alle prime armi, ed è proprio per questo che più di altri devi analizzare e documentarti. La programmazione dei database non è banale (come molti credono) e richiede delle solide conoscenze di base, altrimenti non si va molto avanti.
Prova a fare questa query:
"select alimenti, data from utente where matricola ='" & matricola.value & "'"
e verifica se il formato della data è esattamente come tu ti aspetti. Ricorda che la data è sempre di tipo DateTime, cioè data + ora.
Se tuo fai un confronto tra due date, entrambe devono avere lo stesso formato altrimenti il confronto fallisce. Esempio se tu cerchi la data 25/03/2008 e nella tabella la data è 25/03/2008 12.23.00 non riuscirai mai a trovarla.
"25/03/2008" = "25/03/2008 12.23.00" > FALSO
In VBA dovresti formattare la data per cui dovrebbe essere
"25/03/2008" = Format("25/03/2008", "MM/DD/YYY") -> VERO
Ma, come ti ho già detto, prendi con le pinze quanto scrivo perchè non conosco minimamente l'ambiente di programmazione di MSAccess.
Ciao![]()