Funzione DLookup non funziona

di il
9 risposte

Funzione DLookup non funziona

Buongiorno,

Ho un problema apparentemente banale ma non capisco come mai non funzioni.Ho un db tra le altre questa tabella:

Dopo di che ho questo form

nella text box QN vorrei che mi facesse vedere il numero QN relativo al S/N che legge nella prima colonna e per cui ho impostato la seguente funzione:

Dove n_seriale è il nome della text box con label S/N (tutto a sinistra):

QN nel form rimane vuoto, non mi mostra nulla. Se invece tolgo i criteri mi mostra correttamente il primo codice della lista. Quindi deduco che il problema sia relativo al criterio di confronto. Colpa del campo “seriale” uguale per entrambe le tabelle?

Grazie per l'aiuto.

9 Risposte

  • Re: Funzione DLookup non funziona

    Usa ; anziché la virgola.

  • Re: Funzione DLookup non funziona

    09/08/2023 - Antony73 ha scritto:


    Usa ; anziché la virgola.

    Dalle scritte dell'interfaccia grafica mi sembra che stia usando Access in inglese quindi è giusto l'uso della virgola. Se così non fosse riceverebbe errore, non un risultato vuoto.

    (Sono perseguitato da Access in inglese)

    09/08/2023 - Zotal ha scritto:


    Dove n_seriale è il nome della text box con label S/N (tutto a sinistra):

    Visto che Seriale contiene il segno meno non può che essere un campo testuale e non numerico. La WhereCondition di DLookup deve essere formattata per la ricerca su un campo di testo, quindi bisogna racchiudere il valore del filtro tra apici singoli.

  • Re: Funzione DLookup non funziona

    Giusto.

  • Re: Funzione DLookup non funziona

    Grazieeeee. Ora funziona perfettamente.

    Una domanda. Essendo che lui mi troverà la prima corrispondenza partendo dall'alto, esiste un modo per fargli cercare la prima corrispondenza partendo dal fondo?


    Grazie

  • Re: Funzione DLookup non funziona

    Prima non l'ho detto, m'è passato di mente. Lo specifico adesso: speriamo che quell'uso massiccio di DLookup non possa essere sostituito da una query fatta bene.

    09/08/2023 - Zotal ha scritto:


    esiste un modo per fargli cercare la prima corrispondenza partendo dal fondo?

    No, non esiste un sistema per dirgli di partire dal fondo (che anche il concetto di inizio - fine è tutto particolare)

    Quello che posso suggerirti per raggiungere il risultato è di creare una query con ordinamento esplicitato per ottenere quello che ti serve. Fare quindi il DLookup sulla query e restituirà il primo valore che trova, che tu hai “spostato in alto” con l'ordinamento.

  • Re: Funzione DLookup non funziona

    Grazieeeee. Ora funziona perfettamente.

    Una domanda. Essendo che lui mi troverà la prima corrispondenza partendo dall'alto, esiste un modo per fargli cercare la prima corrispondenza partendo dal fondo?


    Grazie

  • Re: Funzione DLookup non funziona

    09/08/2023 - Zotal ha scritto:

    Grazieeeee. Ora funziona perfettamente.

    Mi sa che questo post è un errore di click: è identico a quello delle 10:18

  • Re: Funzione DLookup non funziona

    Ma essendo informazioni tratte da righe di una stessa tabella, perche' sulla textbox QN DISPLAY ci metti un dlookup a che serve?

    Sul ControlSource non basta metterci il nome del campo come si vede dalla tabella  (QN) ?

  • Re: Funzione DLookup non funziona

    Ho come l'impressione che tu stia usando lo strumento sbagliato per il risultato che tu vuoi ottenere.

    Dlookup, si ferma al primo valore corrispondente che trova e solitamente si usa per fare una interrogazione veloce (anche il discorso della velocità è relativo) per verificare ad esempio se il valore che si sta inserendo nel record è già presente nel database, per evitare doppi inserimenti o comunque per verificare o filtrare un valore, indipendentemente da dove si trovi o a quale particolare record appartenga.

    Ad esempio, stai inserendo un prodotto con il barcode o un codice fiscale, usi dlookup per verificare se il barcode, o il codice fiscale sia già registrato nel database.

    Per qualsiasi altra esigenza si devono usare le query.

Devi accedere o registrarti per scrivere nel forum
9 risposte