DLOOKUP CON PARAMETRI

di il
15 risposte

DLOOKUP CON PARAMETRI

Ciao a tutti,
ho un problema con una Dlookup in un campo di una sottomaschera. Nel criterio gli passo come parametro due valori presi dalla maschera Master:

=DLookUp("[GRAMMATURA]";"GRAMMATURA";"[COD_PRODOTTO]=[FORMS]![SCHEDA GIORNALIERA]![PRODOTTO] AND [COMMESSA]=[FORMS]![SCHEDA GIORNALIERA]![COMMESSA]")

mi da errore (la scritta errore lampeggia), sembra che vada in loop.
come posso risolvere?

15 Risposte

  • Re: DLOOKUP CON PARAMETRI

    I controlli calcolati nelle maschere continue, e di norma le subform lo sono, non vanno...
    Devi generare campi calcolati nella query origine della subform e poi il controllo risulterà associato.
  • Re: DLOOKUP CON PARAMETRI

    Ma la mia sottomaschera ha come origine una tabella e non una query, perché la utilizzo per scrivere dati nella tabella. Come risolvo?
  • Re: DLOOKUP CON PARAMETRI

    Non importa.... crea una query... continuerai à scrivere nella tabella ma usando come base la query.
    Ovviamente i campi che definirai calcolati dovrai bloccarli rendendo i controlli associati a questo non editabili.
  • Re: DLOOKUP CON PARAMETRI

    Nel campo calcolato della query ci metto la dloookup?
  • Re: DLOOKUP CON PARAMETRI

    Non è detto...dipende da come hai strutturato le Tabelle e le relazioni.
    Nel concreto noi non sappiamo nulla del tuo lavoro, per questo servirebbe tu avessi un MINIMO di basi, altrimenti i suggerimenti che ti vendono dati non arrivano.

    Se la tabella con i dati da recuperare per popolare quel campo è relazionata alla Tabella Origine della Maschera, puoi sfruttare un JOIN e l'AutoLookUp delle Query condizionando il valore...
    Altrimenti rischieresti di ottenere un origine ReadOnly, e questo non è quello che vuoi...

    Un'altro modo nelle Query, invece di usare una Funzione di Aggregazione come DlookUp è usare una SubQuery... insomma fai qualche prova, e mostraci qualche risultato su cui possiamo lavorare, altrimenti non facciamo nessun progresso.
  • Re: DLOOKUP CON PARAMETRI

    Ciao, ti ringrazio per l'aiuto.
    Prima di tutto volevo dirti che a tabella che contiene il valore da recuperare è relazionata con la tabela origine della subform, non direttamente ma riesco a recuperare il valore. il problema è che il risultato è Read Only.
    Ho provato anche a mettere una sottoquery nel campo calcolato:

    Espr1: (SELECT [GRAMMATURA] FROM GRAMMATURA WHERE [GRAMMATURA].COD_PRODOTTO=[Maschere]![SCHEDA GIORNALIERA]![PRODOTTO] AND [GRAMMATURA].COMMESSA=[Maschere]![SCHEDA GIORNALIERA]![COMMESSA])

    che funziona ma il risultato è sempre Read Only.
    La DlookUPinvece nel campo calcolato non mi funziona. Forse sbaglio la sintassi?
  • Re: DLOOKUP CON PARAMETRI

    ladiross ha scritto:


    ...
    =DLookUp("[GRAMMATURA]";"GRAMMATURA";"[COD_PRODOTTO]=[FORMS]![SCHEDA GIORNALIERA]![PRODOTTO] AND [COMMESSA]=[FORMS]![SCHEDA GIORNALIERA]![COMMESSA]")
    Non so se questo può essere d'aiuto
    Prova con
    =DLookUp("[GRAMMATURA]";"GRAMMATURA";"[COD_PRODOTTO]= " & [FORMS]![SCHEDA GIORNALIERA]![PRODOTTO] & " AND [COMMESSA]= " [FORMS]![SCHEDA GIORNALIERA]![COMMESSA])
    poi però mi sono un po' perso tra query e ReadOnly.
  • Re: DLOOKUP CON PARAMETRI

    Mi dice che la sintassi è sbagliata...ci avevo già provato.

    dicevo che se metto la query il tutto funziona, recupera il dato, ma non mi permette di aggiungere altre righe nuove nella tabella.
  • Re: DLOOKUP CON PARAMETRI

    Ho provato la Dlookup con valori fissi:

    Espr1: DLookUp("[GRAMMATURA]";"GRAMMATURA";"[COD_PRODOTTO]='MOZZARELLA' AND [COMMESSA]='TORINO'")

    e funziona. forse manca qualcosa nella sintassi. l'espressione che mi hai scritto dovrebbe essere adatta a valori numerici. i campi commessa e prodotto sono stringhe. forse mancano degli apici?
  • Re: DLOOKUP CON PARAMETRI

    ladiross ha scritto:


    Ho provato la Dlookup con valori fissi:

    Espr1: DLookUp("[GRAMMATURA]";"GRAMMATURA";"[COD_PRODOTTO]='MOZZARELLA' AND [COMMESSA]='TORINO'")

    e funziona. forse manca qualcosa nella sintassi. l'espressione che mi hai scritto dovrebbe essere adatta a valori numerici. i campi commessa e prodotto sono stringhe. forse mancano degli apici?
    Almeno quello è sicuro: gli apici servono.
  • Re: DLOOKUP CON PARAMETRI

    =DLookUp("[GRAMMATURA]";"GRAMMATURA";"[COD_PRODOTTO]= '" & [FORMS]![SCHEDA GIORNALIERA]![PRODOTTO] & "'" AND "[COMMESSA]= '" & [FORMS]![SCHEDA GIORNALIERA]![COMMESSA]"'")

    dovrebbe essere corretto così? continua a darmi errore.
    scusami se insisto, ma non trovo soluzione, sto impazzendo da giorni.
  • Re: DLOOKUP CON PARAMETRI

    ladiross ha scritto:


    =DLookUp("[GRAMMATURA]";"GRAMMATURA";"[COD_PRODOTTO]= '" & [FORMS]![SCHEDA GIORNALIERA]![PRODOTTO] & "'" AND "[COMMESSA]= '" & [FORMS]![SCHEDA GIORNALIERA]![COMMESSA]"'")
    dovrebbe essere corretto così? continua a darmi errore.
    scusami se insisto, ma non trovo soluzione, sto impazzendo da giorni.
    manca un & per concatenare l'ultimo apice
    DLookUp("[GRAMMATURA]";"GRAMMATURA";"[COD_PRODOTTO]= '" & [FORMS]![SCHEDA GIORNALIERA]![PRODOTTO] & "'" AND "[COMMESSA]= '" & [FORMS]![SCHEDA GIORNALIERA]![COMMESSA] & "'")
    Sintatticamente ora dovrebbe essere giusta.
  • Re: DLOOKUP CON PARAMETRI

    GRAZIE. ORA FUNZIONA.
  • Re: DLOOKUP CON PARAMETRI

    MI RESTITUISCE SEMPRE IL PRIMO VALORE DELLA TABELLA GRAMMATURA.
Devi accedere o registrarti per scrivere nel forum
15 risposte