Creazione File Excel da Report con campi che cambiano autonomamente

di il
11 risposte

Creazione File Excel da Report con campi che cambiano autonomamente

Buongiorno a tutti,

come da titolo accade questo: ho creato un report da una query con un campo aggiunto esclusivamente nel report che si modifica in base se un campo è vuoto o meno :

=IIf(IsNull([data conclusione]);"In Corso";"Chiuso")

In fase di visualizzazione report viene sempre tutto corretto, in base a come dovrebbe essere, nel momento in cui faccio l'estrazione Excel tramite questo codice:

DoCmd.OutputTo acOutputReport, "EstrazioneXSettoriDesk", acFormatXLSX, , 1, , , 0

Solo alcuni record prendono l'altro valore, in particolare da “in corso” si trasformano in “chiuso”.

Sto impazzendo da ore e non capisco perché succeda questo in fase di esportazione!

Se c'è bisogno di un esempio anche visivo sono a disposizione.

Grazie, Stefano

11 Risposte

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    Io ad esempio quel campo non lo avrei creato nella Query se lo scopo fosse solo il Report, ma avrei fatto un Controllo con ControlSource con la formula che hai scritto…

    Ma questa considerazione è così per parlare.

    Devi verificare se la query valorizza correttamente, perchè ho il sospetto che quel campo [data conclusione] possa non essere Null ma NullString… ed ovviamente farebbe fallire il controllo.

    Una cosa che puoi provare è sostituire alla tua funzione questa:

    =IIf(Len([data conclusione]+'')=0;"In Corso";"Chiuso")
  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    Grazie per la risposta, avevo già provato quella soluzione ma viene l'errore “#Tipo!”.

    Il campo è creato direttamente nel Report e quando lo genero i risultati sono tutti corretti, il problema si presenta quando faccio l'estrazione in Excel! 

    Per essere più chiaro… questo è il report generato

    questo è l'Excel stampato con quel codice di sopra

    la cosa che mi fa impazzire è che non succede per tutti, ma solo per alcuni records… potrei farti vedere altre situazioni uguali a queste ma direi di non affogare il post! 

    Grazie!

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    Se metti a disposizione il file con un sito di filesharing si potrebbe aiutarti meglio… 

    Facciamo un passo alla volta.

    Implementa nella query un campo calcolato:

    SELECT *, isNull([data conclusione]) AS CampoNullo, (len([data conclusione])=0) As CampoVuoto
    FROM TUA TABELLA

    Ora verifica aprendo la query, se hai dei records in cui hai FALSE la colonna CampoNullo e TRUE la colonna CampoVuoto… se rilevi questa ovcorrenza vedrai che è relativa a quei Records che ti danno problemi nell'esposizione excel.

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    Ti allego il db, le tabelle sono in condivisione.

    https://drive.google.com/file/d/1Gpxe_KEvXrVYZcy1DdIQhW3_mYElRSC8/view?usp=sharing

    per entrare senza password utilizza la scritta “DB by” in basso a sinistra.

    I reports incriminati sono “EstrazioneXSettoriDesk” ed “EstrazioneXSettoriOTS” che sono impostati dalle maschere “Lista Desk” e “Lista Controlli” nei box “Estrazioni per Settori”.

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    Hai lasciato le Linked Table ad uno Sharepoint… non si può usare.

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    Hai ragione! scusami!

    questo dovrebbe essere con le tabelle in locale

    https://drive.google.com/file/d/1NS6uqVK7w8Ce0F2ras9KYh7ahc6FfiCv/view?usp=drive_link

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    In effetti l'export con il campo calcolato nel Report non è funzionante in quanto probabilmente la valorizzazione del campo ha qualche baco che non conosco, o meglio penso sia legata a come viene realizzato il Report, oggetto strano ma basta conoscerlo.

    Il calcolo del campo calcolato viene prodotto mentre il report viene costruito o disegnato, quindi ad ogni evento Format della Sezione in cui hai il controllo calcolato, viene generato il calcolo del campo relativo a quel Recod, mentre l'esportazione del Report non lo rigenera pertanto il campo calcolato non viene realmente ricalcolato, questa è una mia “ipotesi” ma temo sia corretta.

    A questo punto non ho capito perchè esporti il Report invece che la Query… 

    Questa la Query modificata finalizzata all'export ma anche a semplificare il Report:

    SELECT ControlliDesk.IDDesk, 
    ControlliDesk.IDProgetto, [Progetti Call 2021].[Codice Progetto], 
    [Progetti Call 2021].OID, [Progetti Call 2021].Beneficiario, 
    ControlliDesk.TipologiaSelezione, ControlliDesk.[data conclusione], 
    CStr(IIf(IsNull([data conclusione]),"In Corso","Chiuso")) AS StatusDesk
    FROM [Progetti Call 2021] INNER JOIN ControlliDesk ON [Progetti Call 2021].IDProgetto = ControlliDesk.IDProgetto
    WHERE ((([Progetti Call 2021].[Codice Progetto]) Like "*" & [Maschere]![Lista Desk]![EstrazioneCall] & "*" And 
    		([Progetti Call 2021].[Codice Progetto]) Like "*" & [Maschere]![Lista Desk]![EstrazioneSettore] & "*"));

    Quindi nel Report [EstrazioneXSettoriDeskQ] il controllo [StatusDesk] a questo punto invece di inserire in Origine Controllo la formula, lo associ al campo [StatusDesk] della Query.

    Ora l'esportazione anche del Report è corretta, almeno da me, stessa filosofia per l'altro immagino.

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    Grazie mille, ora funziona alla perfezione!

    E grazie per le spiegazioni molto chiare, come avrei capito dal database stesso non è il mio lavoro ovviamente ma ho semplicemente rispolverato un po' di infarinatura che avevo ottenuto all'università per favorire il mio reale lavoro ed eliminare migliaia di file excel che portano inevitabilmente ad una cattiva gestione delle attività lavorative!

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    EDIT: non ho visto le due risposte qui sopra, che strano. Ormai ho già scritto, magari serve lo stesso.

    E' difficile aiutarti! La maschera principale in cui bisogna indicare utente e pwd altrimenti non si entra, capire in quale maschera si trova il pulsante di apertura del report, il codice che non è codice ma macro incorporata… che sudore.

    Per chi vuole provare: consueto tasto maiuscolo in apertura del DB per non far aprire la maschera di login, la maschera è Lista Desk e bisogna andare su Estrazione Controlli Totali per Settore, il report è EstrazioneXSettoriDesk e la query relativa è EstrazioneXSettoriDeskQ.

    Anche a me succede quello che hai segnalato. Non so dirti con precisione assoluta il motivo per cui lo fa, posso però indicarti un paio di sistemi per evitare il problema:

    metti nella query un campo calcolato e poi colleghi a quel campo una classica casella di testo nel report. In pratica invece di mettere quella formula nell'origine dati della casella di testo vai a monte e calcoli il valore nella query.

    oppure

    metti il pulsante di esportazione del report nella maschera da cui parti per la sua apertura (Lista Desk).

    A cosa serve il requery del report prima dell'esportazione in XLSX?

    Usi la visualizzazione report grazie alla quale puoi interagire con il report stesso, mettendo anche lì i pulsanti di comando: bello eh? Male! visto cosa succede? I report si aprono solo in anteprima di stampa. Se volevi vedere a video il risultato della selezione potevi usare una maschera continua e lanciare l'esportazione da quella. Oppure lo apri in anteprima di stampa, se ti piace quello che vedi lanci l'esportazione con un pulsante di comando messo in una maschera (Lista Desk, come suggerito prima).

    Probabilmente c'è “un qualcosa” nell'esecuzione dell'istruzione di esportazione da dentro il report che lo manda in crisi, se quel valore è calcolato all'interno del report. 

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    Grazie anche per la tua risposta! Ho decisamente imparato così a usare con “cautela” il report.

    Avevo dato qualche istruzione sul come entrare e dove andare a cercarlo in qualche messaggio precedente.

    Come detto, non sono un professionista, sto implementando il database giorno per giorno in base anche alle esigenze di ufficio (siamo in 6 ad utilizzarlo)!

  • Re: Creazione File Excel da Report con campi che cambiano autonomamente

    23/08/2024 - FlavioAezio ha scritto:

    Avevo dato qualche istruzione sul come entrare e dove andare a cercarlo in qualche messaggio precedente.

    Vero, scusa non avevo letto con attenzione l'intero thread.

Devi accedere o registrarti per scrivere nel forum
11 risposte