errore nella connessione dati tra access ed excel

SERRAI Daniele 20 Punti di reputazione
2025-10-30T08:08:42.7033333+00:00

ciao su access ho la seguente query

SELECT Date() AS data_estrazione, [tot_av_eff_wk(con sku)].[nome fabbricha], [tot_av_eff_wk(con sku)].Plant, [tot_av_eff_wk(con sku)].Reparto_riclassificato, [tot_av_eff_wk(con sku)].[linea xls], [tot_av_eff_wk(con sku)].classe_mer_PF, [tot_av_eff_wk(con sku)].Fornitore, [tot_av_eff_wk(con sku)].[Descrizione Fornitore], [tot_av_eff_wk(con sku)].anno_dt_comp, [tot_av_eff_wk(con sku)].wk_dt_comp, [tot_av_eff_wk(con sku)].[Dt# Comp#], [tot_av_eff_wk(con sku)].Articolo, [tot_av_eff_wk(con sku)].[PrimoDiDescrizione Articolo], [tot_av_eff_wk(con sku)].[SommaDiQtà Avan#], [tot_av_eff_wk(con sku)].[Tempo_pagato_(min)], [tot_av_eff_wk(con sku)].Tempo_industriale, IIf([wk_minuti_lavorati]![SommaDiMIN_LAVORATI]=0,0,([tot_av_eff_wk(con sku)]![Tempo_pagato_(min)]/[wk_minuti_lavorati]![SommaDiMIN_LAVORATI])) AS eff_pagato_wk, IIf([wk_minuti_lavorati]![SommaDiMIN_LAVORATI]=0,0,([tot_av_eff_wk(con sku)]![Tempo_industriale]/[wk_minuti_lavorati]![SommaDiMIN_LAVORATI])) AS eff_industriale_wk, calendario_all.MIN_LAVORATI AS Min_la_GG, wk_minuti_lavorati.SommaDiMIN_LAVORATI AS Min_lavorati_wk, IIf([giorni-di_cambio_articolo]![ConteggioDiArticolo]>1,"+sku","mono_sku") AS gg_doppio, IIf([wk_minuti_lavorati_fabbrica]![SommaDiMIN_LAVORATI]=0,0,([tot_av_eff_wk(con sku)]![Tempo_pagato(min)]/[wk_minuti_lavorati_fabbrica]![SommaDiMIN_LAVORATI])) AS eff_pagato_wk_fabbrica, IIf(IIf(IsNull([articoli in condivisione totali (senza stg)]![arti_com]),"p",[articoli in condivisione totali (senza stg)]![arti_com])="p","no","si") AS condiviso

FROM (((([tot_av_eff_wk(con sku)] LEFT JOIN wk_minuti_lavorati ON ([tot_av_eff_wk(con sku)].[linea xls] = wk_minuti_lavorati.[linea xls]) AND ([tot_av_eff_wk(con sku)].[nome fabbricha] = wk_minuti_lavorati.Fabbrica) AND ([tot_av_eff_wk(con sku)].wk_dt_comp = wk_minuti_lavorati.wk) AND ([tot_av_eff_wk(con sku)].anno_dt_comp = wk_minuti_lavorati.anno)) LEFT JOIN calendario_all ON ([tot_av_eff_wk(con sku)].[nome fabbricha] = calendario_all.Fabbrica) AND ([tot_av_eff_wk(con sku)].[linea xls] = calendario_all.[linea xls]) AND ([tot_av_eff_wk(con sku)].[Dt# Comp#] = calendario_all.data)) LEFT JOIN [giorni-di_cambio_articolo] ON ([tot_av_eff_wk(con sku)].Plant = [giorni-di_cambio_articolo].Plant) AND ([tot_av_eff_wk(con sku)].Fornitore = [giorni-di_cambio_articolo].Fornitore) AND ([tot_av_eff_wk(con sku)].[Dt# Comp#] = [giorni-di_cambio_articolo].[Dt# Comp#])) LEFT JOIN wk_minuti_lavorati_fabbrica ON ([tot_av_eff_wk(con sku)].classe_mer_PF = wk_minuti_lavorati_fabbrica.classe_mer_PF) AND ([tot_av_eff_wk(con sku)].[nome fabbricha] = wk_minuti_lavorati_fabbrica.Fabbrica) AND ([tot_av_eff_wk(con sku)].wk_dt_comp = wk_minuti_lavorati_fabbrica.wk) AND ([tot_av_eff_wk(con sku)].anno_dt_comp = wk_minuti_lavorati_fabbrica.anno) AND ([tot_av_eff_wk(con sku)].Reparto_riclassificato = wk_minuti_lavorati_fabbrica.fase)) LEFT JOIN [articoli in condivisione totali (senza stg)] ON [tot_av_eff_wk(con sku)].Articolo = [articoli in condivisione totali (senza stg)].arti_com

WHERE (((wk_minuti_lavorati.SommaDiMIN_LAVORATI)>0));

ho poi un file excel collegato a questa query tramite recupero dati

ho un problema sul campo

IIf(IIf(IsNull([articoli in condivisione totali (senza stg)]![arti_com]),"p",[articoli in condivisione totali (senza stg)]![arti_com])="p","no","si") AS condiviso

se lancio su access il campo viene valorizzato correttamente con "si" e "no" ..se aggiorno excel il valore è sempre no..

ho provato anche con copilot che mi ha suggerito di definire il campo condiviso come vedete scritto

ma non funziona............

come posso fare?

grazie

Microsoft 365 e Office | Access | Per l'istruzione | Windows
0 commenti Nessun commento

2 risposte

Ordina per: Più utili
  1. SERRAI Daniele 20 Punti di reputazione
    2025-10-30T09:52:40.02+00:00

    purtroppo non funziona

    La risposta è stata utile?


  2. Anonimo
    2025-10-30T09:31:23.45+00:00

    Nota: Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbe contenere errori grammaticali o espressioni poco naturali.

    Ciao @SERRAI Daniele

    Benvenuto nel forum Microsoft Q&A!

    Ho analizzato il problema che hai riscontrato con il campo condiviso nella query Access. Come hai descritto, il campo viene correttamente valorizzato con "si" e "no" quando esegui la query direttamente in Access, ma in Excel, dopo l’aggiornamento dei dati, il valore risulta sempre "no".

    Questo comportamento è probabilmente dovuto alla logica nidificata con IIf() e IsNull() che Excel potrebbe interpretare in modo errato durante il recupero dei dati.

    Ti suggerisco di provare questa versione semplificata del campo condiviso, che dovrebbe essere più compatibile con Excel:

    IIf([articoli in condivisione totali (senza stg)]![arti_com] Is Null OR [articoli in condivisione totali (senza stg)]![arti_com] = "p", "no", "si") AS condiviso

    Questa formula evita l’uso di IIf() annidati e semplifica la condizione, mantenendo lo stesso risultato logico.

    Altri suggerimenti utili:

    1.Verifica le impostazioni di connessione dati in Excel: assicurati che non stia usando dati memorizzati nella cache.

    2.Prova a esportare la query in una tabella Access e collega Excel direttamente a quella tabella.

    3.Esegui un test con una query semplificata per vedere se il problema persiste.

    4.Chiudi e riapri Access ed Excel dopo aver aggiornato la query, poi fai “Refresh All” in Excel.

    Spero che queste informazioni ti siano utili e ti prego gentilmente di correggermi se ho frainteso la tua richiesta. Ti auguro una buona giornata!


    Se la risposta è utile, fai clic su "Accetta risposta" e votala gentilmente. Se hai ulteriori domande su questa risposta, fai clic su "Commento".

    Nota: Segui i passaggi in la nostra documentazione per abilitare le notifiche e-mail se desideri ricevere la relativa notifica e-mail per questo thread.

    La risposta è stata utile?

    0 commenti Nessun commento

Risposta

Le risposte possono essere contrassegnate come "Accettata" dall'autore della domanda e "Consigliata" dai moderatori, in modo da consentire agli utenti di sapere che la risposta ha risolto il problema dell'autore.