Aiuto: Allegare automaticamente file da directory previo check ID e nome file

di il
4 risposte

Aiuto: Allegare automaticamente file da directory previo check ID e nome file

Buongiorno,

colgo l'occasione per salutare tutti, in quanto questo è il mio primo post sul forum.
Scrivo per chiedere aiuto in merito ad un database a cui sto lavorando, che si occupa della gestione del personale della mia azienda.
Premetto che sono un principiante nel maneggiare il vba.
Vorrei che il mio db generasse automaticamente dei report in pdf contenenti degli attestati di formazione e li allegasse, sempre in automatico, in una tabella "formazione individuale", in corrispondenza del record dedicato al giusto lavoratore a,b,c etc. e, ovviamente, sotto il campo allegati.

La soluzione astratta a cui ho pensato è questa:

a) creare i Report PDF con i vari attestati e salvarli in una cartella predefinita nominandoli con l'ID del dipendente a cui si riferiscono.

b) da vba, comandare un check a loop sulla cartella creata per ogni dipendente che ha partecipato al corso, che confronti l'ID del dipendente stesso e l'ID nel nome del documento. Quando il confronto restituisse true, copiasse quel file nel campo allegato relativo al giusto dipendente.

c) ripetere l'operazione b per tutti i dipendenti che abbiano partecipato al corso, raggruppati tramite una query che ricerchi secondo un id univoco di corso nella tabella "formazione individuale".

d)[opzionale] dacchè non mi è utile conservare gli attestati anche su file, eliminare, sempre da vba(?), la cartella creata.
--------------------------
I punti a) e c) non credo mi daranno troppi problemi, ma non ho idea di come gestire il punto b) e, opzionalmente, il punto d).

nel caso servano più dettagli o screenshots, chiedetemi pure ed editerò il post di conseguenza.

Ringrazio anticipatamente

Windfish

ps. spero di aver rispettato tutte le regole del forum

4 Risposte

  • Re: Aiuto: Allegare automaticamente file da directory previo check ID e nome file

    Considera che il report è già di suo la rappresentazione grafico/esplicita dell'attestato. Una volta impostato puoi "pilotarlo" con apposito filtro che punta su Tizio o Caio attraverso il proprio ID. Tutto questo ti evita sia l'esportazione in PDF e anche l'inutile "allegato" nel database stesso.
    Magari a te interessa anche tracciare CHI ha l'attestato e chi NO. Direi di prevedere un campo di tipo Sì/No dove indichi ciò.
  • Re: Aiuto: Allegare automaticamente file da directory previo check ID e nome file

    Purtroppo mi servono gli attestati in pdf per rispettare la legislazione, e per esigenze aziendali mi è necessario allegarli al db.
  • Re: Aiuto: Allegare automaticamente file da directory previo check ID e nome file

    Windfish ha scritto:


    Purtroppo mi servono gli attestati in pdf per rispettare la legislazione, e per esigenze aziendali mi è necessario allegarli al db.
    Prova questa strada:
    1. Un report, una volta mostrato, può essere ESPORTATO in pdf. Quindi crei una cartella Attestati e la metti nella stessa directory del TuoDatabase.accdb. Giustamente avresti pensato di nominare i tuoi file pdf coerentemente con uno o più valori provenienti dalla tua tabella.
    2. In una maschera (ora non ho capito quale) puoi prevedere un comando (può essere il doppio-clic su IDPersona oppure il clic di un Pulsante...) e sfruttare il codice VBA con
    Application.FollowHyperlink con tutti i suoi argomenti
    leggi qui
    https://msdn.microsoft.com/en-us/vba/access-vba/articles/application-followhyperlink-method-access?f=255&MSPPError=-2147217396


    P.S.: rileggendo...non sono convinto di questa soluzione. Un report, ripeto, è sempre ESPORTABILE in PDF. Ad ogni occorrenza tu lo evidenzi ed esporti ogni volta che ti viene richiesto.

    Windfish ha scritto:


    ps. spero di aver rispettato tutte le regole del forum
    Direi OK. Solo nel titolo potevi omettere la parola "Aiuto".
  • Re: Aiuto: Allegare automaticamente file da directory previo check ID e nome file

    Fai un passo alla volta... perchè mi pare tu confonda o non riconosca la sequenza reale.
    In concreto hai 2 problemi...
    1) Sanare il pregresso da quanto ho capito
    2) Gestire il nuovo

    E' evidente che il REPORT va generato in un momento preciso dell'immissione dei dati... in quel momento salvi il REPORT nella Cartella che hai definito.
    Quando fai un corso Nuovo generi un Nuovo Report...? Deve sovrascrivere il vecchio...?

    Se ogni persona ha PIU' allegati(più report) dovrai avere una cartella 1-M
    Se invece hai solo 1 Report per ogni Corsista... allora sovrascriverai i l precedente con quello aggiornato.
    All'atto di Generazione del Report siccome hai il Nome con cui lo salvi, devi andare ad inserire il Nome nell'allegato che sarà un campo testo... anche se in linea teorica, ti basterebbe definire una strategia di NOMENCLATURA per evitarti tutte queste cose...

    In sostanza se il Report fosse solo 1,lo chiami con il C.F. dell'utente... quindi quando lo generi ricavi il
    NomeReport="C:\CartellaIniziale\" & Me!CF & ".pdf"
    di conseguenza faresti senza salvare il Nome della cartella, ti basterebbe verificarne la presenza...

    Insomma la cosa è estremamente semplice, ma devi pianificare le azioni di gestione.

    Per il pregresso... se fai come ti ho esposto, ti basta generare i REPORT che mancano ed hai risolto.

    Windfish ha scritto:


    Purtroppo mi servono gli attestati in pdf per rispettare la legislazione, e per esigenze aziendali mi è necessario allegarli al db.
    Spiega questa cosa cosa significa... gli allegati NON si gestiscono allgandoli al DB ma mettendoli in una Cartella e gestendoli come fossero allegati... solo chi sviluppa sa che differenza c'è... le esigenze aziendali NON DEFINISCONO queste cose.
Devi accedere o registrarti per scrivere nel forum
4 risposte