#ERRORE DLookUp su query

Anonimo
2022-08-11T07:41:49+00:00

Buon giorno a tutti.

Ho il seguente scenario.

Questa è la query su cui ho basato la seguente maschera:

SELECT TblAssenze_Servizio.*

FROM TblAnagrafica LEFT JOIN TblAssenze_Servizio ON TblAnagrafica.ID_Anagrafica = TblAssenze_Servizio.ID_Anagrafica;

Ho un problema che ad oggi, nonostante le molteplici prove non riesco a risolvere e cioè:

Sulla maschera basata sulla query summenzionata ho creato una casella di testo, non associata che deve contarmi i giorni di malattia del dipendente selezionato, ma ottengo sempre questo messaggio di errore:

questa è la funzione che utilizzo ora:

=DLookUp("Giorni";"Query_Conta_Assenze";"[ID_Anagrafica]=" & Nz([ID_Anagrafica];""))

Ho fatto altrettante prove, utilizzando le funzioni sottostanti , ma nessuna di queste ha prodotto il risultato sperato, ma hanno dato sempre diversi messaggi di errore, anche questo:#TIPO ecc.

=Nz(DLookUp("Giorni";"Query_Conta_Assenze";"[ID_Anagrafica]=" & ([ID_Anagrafica];""));0) 

=IIf(“Giorni”>0;DLookUp("Giorni"," Query_Conta_Assenze ","[ID_Anagrafica]= " & [ID_Anagrafica]),"")

 =Nz(DLookUp("Giorni";"Query_Conta_Assenze";"[ID_Anagrafica]=5"));0)

La query su cui è basata la funzione DLookUp è questa:

SELECT DISTINCT TblAnagrafica.ID_Anagrafica, TblAnagrafica.Matricola, TblAnagrafica.Grado, TblAnagrafica.Cognome, TblAnagrafica.Nome, TotaliAssenze.Anno, TotaliAssenze.Giorni

FROM TblAnagrafica RIGHT JOIN (SELECT ID_Anagrafica, Year([Dal]) AS Anno, Sum(IIf(Year([Dal])=Year([Al]),DateDiff("d",[Dal],[Al])+1,DateDiff("d",[Dal],DateSerial(Year([Dal]),12,31))+1)) AS Giorni

FROM TblAssenze_Servizio

GROUP BY ID_Anagrafica, Year([Dal])

UNION

SELECT ID_Anagrafica, Year([Al]) AS Anno, Sum(IIf(Year([Al])=Year([Dal]),0,DateDiff("d",DateSerial(Year([Al]),1,1),[Al])+1)) AS Giorni

FROM TblAssenze_Servizio

GROUP BY ID_Anagrafica, Year([Al])) AS TotaliAssenze ON TblAnagrafica.ID_Anagrafica = TotaliAssenze.ID_Anagrafica

WHERE (((TotaliAssenze.Anno)=Year(Now())) AND ((TotaliAssenze.Giorni)>0))

ORDER BY TblAnagrafica.Cognome;

Chiedo il vostro aiuto per poter sistemare la funzione in modo da visualizzare zero(0) in caso di assenza di giorni di malattia e di conteggiarli in caso di presenza di quest'ultimi.

Spero di essere stato chiaro.

Ringrazio chi mi aiuta in questo.

Ciao, Nicola.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

domenico laurenza 9,900 Punti di reputazione Moderatore volontario
2022-08-11T20:33:02+00:00

Ciao Nicola,

Prova a sostituire nella dlookup il doppio doppio apice finale con 0.

=DLookUp("Giorni";"Query_Conta_Assenze";"[ID_Anagrafica]=" & Nz([ID_Anagrafica];0))

Per evitare #Errore in assenza del campo id_anagrafica.

Ciao Mimmo

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2022-08-29T13:46:02+00:00

    Buon pomeriggio a tutti.

    Ciao Mimmo, seppur in ritardo ( e ti prego di scusarmi) ti comunico che con la tua preziosissima indicazione:

    =DLookUp("Giorni";"Query_Conta_Assenze";"[ID_Anagrafica]=" & Nz([ID_Anagrafica];0))

    ho risolto il fastidioso problema segnalato.

    Un sincero saluto ed un forte abbraccio.

    alla prossima richiesta di aiuto.

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2022-08-12T09:03:56+00:00

    Ciao Mimmo, buon giorno.

    Proverò quanto mi suggerisci e ti informerò.

    Grazie mille per il tuo prezioso sostegno e la tua puntuale presenza sul forum.

    Mi dispiace non vedere:Sandro;David;Carlo e altri, più presenti sul forum.

    Un forte abbraccio, Mimmo.

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento