Salvare un record di Maschera, in pdf con nome file preso da due campi

di il
9 risposte

Salvare un record di Maschera, in pdf con nome file preso da due campi

Buongiorno son un utente nuovo, uso access 2013 con le azioni predefinite, e non so scrivere comandi specifici la mia domanda è:
Vorrei salvare i record di una Maschera, uno alla volta, in formato pdf, con nome file preso da due campi(data e cognome) in una cartella predefinita sul Desktop, ho provato a creare un bottone e associargli una macro, ma al massimo mi salva tutti i record in un unico file, nominato in automatico.
Grazie.

9 Risposte

  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    gaetano.scorsone ha scritto:


    salvare i record di una Maschera, uno alla volta, in formato pdf
    Che vuol dire? Cosa vuoi salvare? Puoi fare un esempio?
    ...Non so se si può salvare un record da maschera direttamente in pdf. Io penserei a un report che mostra gli stessi dati di ogni record della maschera. Un filtro sul campo ID della maschera può stabilire di mostrare/stampare ogni singolo record nel report. Di conseguenza questo singolo record mostrato nel report potrebbe essere ESPORTATO in pdf. Il tutto automatizzato da un codice VBA...conosci qualcosa?
    Inoltre, immagino, tu hai bisogno di fare questa operazione solo una volta (tutta in blocco). Per ogni nuovo record, intendi salvare sempre volta per volta?
    Perchè hai bisogno di fare una operazione del genere? Hai qualche campo "descrittivo lungo"? Hai altre esigenze specifiche?
  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    Ciao grazie per la risposta provo a spiegare data una maschera di nome "seduta" all'interno della quale ad ogni id corrisponde un cliente, vorrei una volta riempiti i campi con i dati variabili Dell'incontro, salvare la videata della maschera, in pdf per lasciare traccia, per l'incontro successivo,dentro ad una specifica cartella e nominato con i campi data e cognome
  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    gaetano.scorsone ha scritto:


    salvare la videata della maschera, in pdf per lasciare traccia
    Se è solo per questo motivo, ma che ce l'hai a fare il database? Un record di una tabella, visibile attaverso la maschera, assolve già al suo compito di memorizzare i dati che ti servono. Trovo inutile una operazione del genere.
  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    In realtà Osvaldo non è così semplice, provo a spiegare meglio:
    Data una maschera "seduta" su cui ho dei campi tabellari tabella "Anagrafica" dei campi predefiniti a scelta multipla, delle etichette con bottone da spuntare, delle caselle di calcolo, un grafico e due immagini importate, il tutto come report di cui ho creato Report1, di cui vorrei salvare solo il record corrente , con pulsante in automatico in formato pdf il cui nomefile dovrebbe essere preso dai campi tabellari "Data" e "Cognome" , ho provato scopiazzando qua e la a scrivere un codice ma non ne esco, provo a postare il codice:

    Private Sub Comando88_Click()
    DoCmd.OutputTo acOutputReport, "Report1", acFormatPDF, "C:\Users\Gaetano\Desktop\Sedute_Cid " & "Cognome" & [Seduta].[Form]!Cognome & " del " & Format([Seduta].[Form]![Data], "yyyy-mm-dd") & ".pdf"
    End Sub
  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    Hai provato prima ad Aprire il Report, in modalità Anteprima, NON VISIBILE, poi usare il metodo OutputTo...?
    
    DoCmd.OpenReport "Report1", acViewPreview, , , acHidden
    DoCmd.OutputTo acOutputReport, "Report1", acFormatPDF, "C:\Users\Gaetano\Desktop\Sedute_Cid_PROVA.pdf"
    DoCmd.Close acReport, "Report1"
    
    Se questo funziona poi ti complichi la vita con il Nome del Report...
  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    Ottimo Alex, grazie mille adesso hai ragione dovrò complicarmi la vita con il nome
  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    gaetano.scorsone ha scritto:


    Data una maschera "seduta" su cui ho dei campi tabellari tabella "Anagrafica" dei campi predefiniti a scelta multipla, delle etichette con bottone da spuntare, delle caselle di calcolo, un grafico e due immagini importate, il tutto come report di cui ho creato Report1, di cui vorrei salvare solo il record corrente , con pulsante in automatico in formato pdf il cui nomefile dovrebbe essere preso dai campi tabellari "Data" e "Cognome"
    Tutte queste spiegazioni erano importanti fin dall'inizio. Effettivamente, considerato che hai grafici e immagini, l'esportazione adesso sembra avere più senso.
    Io ragionerei passo passo su più fronti:
    1) Io avrei creato prima una query con un filtro sul campo IDSeduta col criterio
    [Maschere]![Sedute]![IDSeduta]
    2) Il report lo farei poggiare su questa query
    3) Non è chiaro cosa si vede di "anagrafico" nella maschera Sedute per cercare di catturare quante più informazioni utili/univoche (nei limiti del possibile). Hai una casella combinata? Quali colonne ci hai messo dentro?
    Dico questo perchè ricordo di essermi imbattuto in un problema simile al tuo nel quale dovevo trovare la forma più stringata, ma anche univoca, possibile per esportare al meglio "quel documento".
    Io non mi fiderei di catturare il solo Cognome. Neanche Cognome+Nome. In casi di omonimia come ti regoli?
    Propongo una mia soluzione. Ricordo che creavo prima una cartella con COGNOME NOME YYYY-MM-DD (dove YYYY-MM-DD è DataNascita). Dentro la cartella di ogni paziente scrivevo il nome file solo con YYYY-MM-DD.pdf dove la data si riferiva a DataVisita.
    Se non gradisci la creazione di cartelle Paziente per Paziente, direi che il nome file da esportare dovrebbe avere il seguente format
    Cognome Nome (YYYY-MM-DD) YYYY-MM-DD.pdf
    Tra parentesi DataNascita, l'altra DataVisita.
    4) Sulla stategia OutputTo ci sei vicino...mi piacerebbe chiarire tutti quegli aspetti che ho sollevato al punto 3).
  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    Allora Osvaldo vista la tua gentilezza approfitto:
    La tabella "anagrafica" ha :
    Id,nome,cognome,indirizzo,telefono,email,data,seduta,età,Pe,Ue(quindi potrei inserire anche data di nascita)
    La maschera seduta ha tutti i campi della tabella, più tre caselle di calcolo in base a età Pe e Ue, in più ha cinque caselle combinate multi scelta dove in "origine riga" di ognuna ho messo le varie opzioni (sono per ogni casella definizioni di caratteristiche fisiche)
    poi ho due immagini fisse vicino alle quali appaiono i risultati o delle caselle combinate o di quelle con formule
    e un grafichino che mi riporta i risultati di delle tre caselle di calcolo.
    Avevo pensato a questa soluzione per avere ad ogni nuova seduta dello stesso cliente il report di quella precedente per valutarne l'evoluzione, magari riflettendo potevo ottenere lo stesso risultato con una sottomaschera?
  • Re: Salvare un record di Maschera, in pdf con nome file preso da due campi

    gaetano.scorsone ha scritto:


    La tabella "anagrafica" ha :
    Id,nome,cognome,indirizzo,telefono,email,data,seduta,età,Pe,Ue(quindi potrei inserire anche data di nascita)
    La maschera Seduta ha tutti i campi della tabella
    Per me DA QUESTA DESCRIZIONE si evince che tu hai una tabella Anagrafica e una maschera che gli poggia sopra Sedute. Mi dici la logica per cui hai 2 nomi così nettamente diversi?
    Non lo hai mai detto, ma io davo per scontato che tu avessi almeno 2 tabelle Anagrafica uno-a-molti Sedute.

    Io ragiono secondo Access "all'antica" quando non esistevano i campi calcolati. Le tabelle devono contenere valori primordiali che solo l'utente può digitare. Qualsiasi forma di calcolo va delegata a una query.
    Detto ciò in una tabella Anagrafica ha senso un campo DataNascita (in quanto valore fisso), mentre l'età sarà un calcolo di query...del resto come fai a digitare/gestire oggi una età 55 che l'anno prossimo deve diventare 56? Mica ogni anno ti metti ad aggiornare paziente per paziente il valore Età?
    Un campo [seduta] non è omogeneo a Anagrafica.

    Puoi chiarire il tuo scenario tabelle?
    Rilevo un po' di confusione nell'organizzazione logica delle tue tabelle: tecnicamente si chiama NORMALIZZAZIONE.
Devi accedere o registrarti per scrivere nel forum
9 risposte