Campi tra il testo di report

di il
12 risposte

Campi tra il testo di report

Da un po' ho cominciato ad usare un programma di gestione database alternativo ad access (FileMaker) in cui è possibile inserire i cambi relativi ad una tabella/scheda direttamente su una specie di report senza casella di testo in modo tale che possono far parte integrante del testo, un po' come avviene nella stampa ad unione per comprenderci.

Si inseriscono i campi su una scheda e per esempio vengono riportati tra il testo (con l'aggiunta di virgolette di apertura << e chiusura >>) di un documento e lo si può stampare con i dati inseriti nei campi in modo che risulti già compilato con tutti i dati e con la formattazione di destinazione.

Ovvero anche se il testo che lo precede aumenta di lunghezza non va a sovrapporsi col campo poi si sposta del numero dei caratteri aumentati ed inoltre non si sovrappone al testo successivo perché si sposta dello stesso numero di caratteri anche quello.

Ho ricreato tutto lo stesso programma in access ma l'unica cosa che mi manca è questa è possibile fare qualcosa di simile o identica in access?

Premetto che non conosco il linguaggio VisualBasic.

12 Risposte

  • Re: Campi tra il testo di report

    Immaginiamo che tu abbia nel report un campo che si chiama Pippo.
    Clicca dentro il campo Pippo e scrivici dentro la seguente sintassi:
    = "<< "&[Pippo]&" >>"
    = è un simbolo obbligatorio per indicare una espressione
    & è un simbolo di concatenazione di testo
    quello che appare dentro le virgolette "bla...bla...bla" è il testo personalizzato che tu vuoi aggiungere visivamente. Io ho considerato uno spazio prima e dopo il campo Pippo, se non ti piace, puoi escluderlo scrivendo rispettivamente "<<" e ">>".

    Non sono sicuro di aver compreso bene la tua domanda.
    Puoi descrivere dettagliatamente tutti i campi che compongono una riga del tuo report?
    Ho però il sospetto che, se realizzi quello che io ho capito tu vorresti, rischi di perdere l'effetto ottico dell'incolonnamento ordinato visivamente per bene...boh?
    Puoi chiarire tutto con qualche esempio?
  • Re: Campi tra il testo di report

    No, non ci siamo capiti.
    Esempio, supponiamo di avere maschera associata ad una tabella con alcuni campi tipo:

    Cognome:
    Nome:
    Luogo di nascita:

    ed abbiamo un record con i seguenti dati:

    Cognome: Caio
    Nome: Tizio
    Luogo di nascita: Roma

    devo creare un report con del testo in cui i campi devono essere parte integrante:

    Il sottoscritto <<Cognome>> <<Nome>> nato a Luogo di nascita: ....

    che verrà sostituito col testo inserito nel precedente record:

    Il sottoscritto Caio Tizio nato a Roma ....

    Se il record successivo è:

    Cognome: Spagnolettini
    Nome: Ambrogino
    Luogo di nascita: Ascoli Piceno

    ovviamente i caratteri saranno in numero maggiore se tale operazione si fa con delle caselle di testo e avendo una posizione fissa si adrà a sovrapporsi del testo, invece noi dobbiamo fare in modo che il testo venga spostato automaticamente in modo da ottenere:

    Il sottoscritto Spagnolettini Ambrogino nato a Ascoli Piceno ....

    Access in modalità struttura:



    Access primo record (accettabile):



    Access secondo record (tutto da riformattare):



    FileMaker in modalità struttura:



    FileMaker primo record:



    FileMaker secondo record:

  • Re: Campi tra il testo di report

    Mi attengo all'esempio per risponderti. Nel report anzichè avere 3 campi devi averne uno solo bello lungo. Dentro ci scrivi la seguente sintassi:
    = "Il sottoscritto " & [Cognome] & " " & [Nome] & " nato a " & [Luogo di nascita]

    = è obbligatorio per dichiarare una espressione
    & è un carattere di concatenazione fra campi e pezzi di testo personalizzati
    "il testo fra virgolette" è testo personalizzato e appare fisso
  • Re: Campi tra il testo di report

    Adesso ho capito! Ottima idea, ma si può anche giustificare il testo?
  • Re: Campi tra il testo di report

    Vai alle proprietà della casella di testo, scheda Tutte:
    Allineamento testo: Ripartito
  • Re: Campi tra il testo di report

    L'allineamento ripartito crea un po' di problemi, e mi sto accorgendo che per fare ciò che facevo con l'altro programma in maniera semplice qui mi ritrovo a fare molti più passaggi.

    Per esempio i report non possono attingere record filtrati dalla maschera, devo creare una query di appoggio in cui attraverso un pulsante con delle macro cancello tutti i record eventuali precedenti inserisco dei nuovi filtrati dalla maschera e aprendo il report me li trovo lì e quando si fa un nuovo filtraggio andrà a fare la stessa cosa, c'è un modo più semplice?

    Si possono creare dei pulsanti a lato della pagine di un report in modo che quello spazio dove alloggiano tali pulsanti non sia considerato stampabile?
  • Re: Campi tra il testo di report

    Rivenmyst ha scritto:


    Per esempio i report non possono attingere record filtrati dalla maschera, devo creare una query di appoggio in cui attraverso un pulsante con delle macro cancello tutti i record eventuali precedenti inserisco dei nuovi filtrati dalla maschera e aprendo il report me li trovo lì e quando si fa un nuovo filtraggio andrà a fare la stessa cosa, c'è un modo più semplice?
    Dipende. Potresti spiegare con un esempio concreto cosa intendi? Un esempio sulla falsariga di quello di prima va molto bene.

    Rivenmyst ha scritto:


    Si possono creare dei pulsanti a lato della pagine di un report in modo che quello spazio dove alloggiano tali pulsanti non sia considerato stampabile?
    Sinceramente non ho mai capito a cosa possono servire pulsanti su un report considerato che il report è un oggetto che serve quasi esclusivamente per stampare. Cosa vuoi dire?
  • Re: Campi tra il testo di report

    OsvaldoLaviosa ha scritto:


    Rivenmyst ha scritto:


    Per esempio i report non possono attingere record filtrati dalla maschera, devo creare una query di appoggio in cui attraverso un pulsante con delle macro cancello tutti i record eventuali precedenti inserisco dei nuovi filtrati dalla maschera e aprendo il report me li trovo lì e quando si fa un nuovo filtraggio andrà a fare la stessa cosa, c'è un modo più semplice?
    Dipende. Potresti spiegare con un esempio concreto cosa intendi? Un esempio sulla falsariga di quello di prima va molto bene.
    Devi stampare su un report tutti i record che hanno lo stesso luogo di nascita (in una maschera io
    ho già creato dei pulsanti che filtrano alcuni record per delle date), attraverso un pulsante sulla maschera filtro in ridotto numero di record che hanno quella caratteristica comune (stesso luogo di nascita) ed un report deve considerare solo questi e stamparmi per ogni pagina con un record tra quelli fino a che non stampa il numero di pagine corrispondenti.
    Per esempio mettiamo caso che nell'esempio precedente i record con luogo di nascita Roma siano 3 che vengono filtrati attraverso un pulsante nella maschera:

    Cognome: Caio
    Nome: Tizio
    Luogo di nascita: Roma

    Cognome: Bracco
    Nome: Baldo
    Luogo di nascita: Roma

    Cognome: Pippo
    Nome: Poldo
    Luogo di nascita: Roma

    Quando io vado ad aprire il report mi stamperà solo 3 pagine:

    Nella prima ci sarà scritto:

    Il sottoscritto Caio Tizio nato a Roma ....

    Nella seconda:

    Il sottoscritto Bracco Baldo nato a Roma ....

    Nella terza:

    Il sottoscritto Pippo Poldo nato a Roma ....

    ma non stamperà il sig. Spagnolettini poiché non è nato a Roma, bensì ad Ascoli Piceno.

    OsvaldoLaviosa ha scritto:


    Rivenmyst ha scritto:


    Si possono creare dei pulsanti a lato della pagine di un report in modo che quello spazio dove alloggiano tali pulsanti non sia considerato stampabile?
    Sinceramente non ho mai capito a cosa possono servire pulsanti su un report considerato che il report è un oggetto che serve quasi esclusivamente per stampare. Cosa vuoi dire?
    Mi serve un pulsante per tornare nella maschera ed un altro per tornare ad una pagina con un elenco dei report.
    Voi direte, ma si può usare il navigatore sulla sinistra per ritornare nella maschera iniziale o in quella pagine nell'elenco dei report.
    Il problema è che tale database non sarà utilizzato solo da me, ma anche da altre persone molto inesperte pertanto sto cercando di ricreare un'interfaccia più user-friendly possibile e per evitare che possano fare qualche danno alla struttura cercherò di far partire all'apertura automaticamente la Maschera iniziale dove sarà possibile inserire/eliminare/filtrare record, da qui si potranno spostare solo in report o in altre maschere, cercherò di bloccare tutto compresa il navigatore sulla sinistra, ho visto in altri database di access che è possibile fare tutto ciò.

    Poi qualcuno si chiederà come mai non continui ad utilizzare FileMaker visto che ti ci trovavi molto bene?
    La risposta è semplice nel mio ufficio la suite di Office è sotto licenza, mentre FileMaker non lo si può più utilizzare e non si vuole comprarne la licenza.
  • Re: Campi tra il testo di report

    Secondo me dovresti utilizzare l'automazione... almeno darci un occhiata...

    http://www.donkarl.com/it/cisa/Download.ht

    e più precisamente

    www.donkarl.com/it/cisa/Download/CISA2_Word.zi

    clicchi un pulsante in un form mdb e ti apre una lettera in word debitamente compilata.... ovviamente va rivisto ma è da valutare.
  • Re: Campi tra il testo di report

    1) Report con filtro.
    Hai varie soluzioni, la prima che mi salta in mente sarebbe quella che, dopo aver filtrato con i tuoi pulsanti Data e Luogo di nascita, l'apertura del report può essere ulteriormente filtrata sfruttando la "Condizione WHERE". Se usi una macro con Azione:
    ApriReport
    Condizione WHERE: [Forms]![NomeTuaMaschera]![Data] And [Forms]![NomeTuaMaschera]![Luogo di nascita]

    Se non vuoi usare la condizione WHERE, puoi sempre far poggiare il tuo report su una query con parametri Like [Digita la Data] e Like [Digita il Luogo di nascita]

    2) Pulsanti sul report.
    Invece dei pulsanti sul report (io personalmente non saprei come usarli), al termine della stampa, puoi dire alla tua macro (o ruotine in VBA) di far apparire una piccola mascheraX dove dice che hai terminato la stampa e ora puoi ritornare alla maschera. Il clic di un pulsante sulla mascheraX deve chiudere sè stessa e il report, mostrando TuaMaschera se era già aperta, oppure gli dici di aprirla nuovamente.
  • Re: Campi tra il testo di report

    Angelo_Tbp ha scritto:


    Secondo me dovresti utilizzare l'automazione... almeno darci un occhiata...

    http://www.donkarl.com/it/cisa/Download.ht

    e più precisamente

    http://www.donkarl.com/it/cisa/Download/CISA2_Word.zi

    clicchi un pulsante in un form mdb e ti apre una lettera in word debitamente compilata.... ovviamente va rivisto ma è da valutare.
    Quasi valido il primo esempio, ma non so se è possibile inserire anche un logo/immagine.

    Gli altri 2 esempi da scartare poiché mi riempirei di file word ed il mio intento è averne solo uno, altrimenti avrei usato la stampa ad unione.

    OsvaldoLaviosa ha scritto:


    2) Pulsanti sul report.
    Invece dei pulsanti sul report (io personalmente non saprei come usarli), al termine della stampa, puoi dire alla tua macro (o ruotine in VBA) di far apparire una piccola mascheraX dove dice che hai terminato la stampa e ora puoi ritornare alla maschera. Il clic di un pulsante sulla mascheraX deve chiudere sè stessa e il report, mostrando TuaMaschera se era già aperta, oppure gli dici di aprirla nuovamente.
    In questo caso dovrei fare un macro che mi apre il report, automaticamente lo stampa e poi dovrebbe aprirsi un finestrella con i pulsanti.
    Io preferirei invece che i report ottenuti vengono prima visualizzati per accertarne sempre la correttezza e poi stampati, ma non credo che access possa rilevare quando do il comando di stampa per poter successivamente aprire la finestrella.
  • Re: Campi tra il testo di report

    Rivenmyst ha scritto:


    In questo caso dovrei fare un macro che mi apre il report, automaticamente lo stampa e poi dovrebbe aprirsi un finestrella con i pulsanti.
    Io preferirei invece che i report ottenuti vengono prima visualizzati per accertarne sempre la correttezza e poi stampati, ma non credo che access possa rilevare quando do il comando di stampa per poter successivamente aprire la finestrella.
    Azione macro: ApriReport
    Visualizza: Anteprima di stampa
Devi accedere o registrarti per scrivere nel forum
12 risposte