Aggiungo io i tag code, così è leggibile agevolmente
Ciccio_54 ha scritto:
fra cui (mi vergogno a pubblicarlo)
DoCmd.OpenForm "Contratti sottomaschera", acNormal, "", "[Codice]=" & "'" & [Codice] & "'" AND "[Importi]>" & "" & 0 & ""
Come da definizione, la WHERE condition è una stringa che ha la stessa struttura di una WHERE condition, senza la parola WHERE.
Non ottieni quello che ti interessa perché non concateni correttamente le parti costanti della stringa con la parti variabili, cosa resa più difficile, poi, dall'uso inutile di alcune operazioni di concatenazione, cioè alcune stringhe costanti concatenate con & possono diventare una sola. Ad esempio
"[Codice]=" & "'" & ...
diventa
"[Codice]='" & ...
Partendo dal risultato che vuoi ottenere, agisci a ritroso.
Devi ottenere una stringa come questa:
[Codice]='123456' AND [Importi]>0
Ricordando che per qualificarla come stringa deve avere all'inizio e alla fine un doppioapice, individua quali parti della stringa sono "fisse", che saranno scritte per esteso, e quali invece quelle "variabili", che devi concatenare con &. Non confondere la e commerciale & con l'AND della WHERE condition.
Tante parole per farti capire la "logica", perché poi la soluzione è veramente banale e sarebbe stato molto più facile indicarla ma così non avresti capito dove sbagliavi e come fare perché questo non accada più, visto che capire come si concatenano parti fisse e variabili in una stringa è fondamentale in molte altre situazioni