Interazioni tra Access e Word

di
Anonimizzato12314
il
23 risposte

Interazioni tra Access e Word

Ciao a tutti,
sono nuovo e avrei bisogno di un vostro consiglio/aiuto per un lavoro che vorrei fare con MS Access e Word.

Non sono molto esperto nell'utilizzo di access, ne so utilizzare le funzioni base e conosco le basi di SQL, ma nulla di avanzato.

Il mio problema è il seguente:

Devo creare delle lettere in word con contenuto standard utilizzando dati provenienti da access.
Più precisamente io ho un database con una serie di nomi ed indirizzi che viene costantemente aggiornato con nuovi record.

Vorrei creare un programma (o una query, non ho idea di cosa debba utilizzare, ho letto qualcosa in merito a VBA) che dato in input l'ID che identifica la singola persona (o gruppo di persone), mi generi automaticamente un documento word con ID, nome, indirizzo, intestazione (cioè gentile signore, gentile signora, gentili signori, etc) e relativo testo sottostante (che è di fatto uguale, ma vorrei inserire un parametro nel database che istruisca word a modificare alcune parole quando queste hanno genere maschile, femminile, singolare o plurale).
Poi vorrei che tale documento venisse salvato in una directory già pre-impostata ed eventualmente aperto per poter essere stampato (se non si può avviare già direttamente la stampa).

Un consiglio su un libro esaustivo sarebbe ben apprezzato, un aiuto per la scrittura del programma/query lo sarebbe anche di più, visti anche i costi per me non indifferenti dei manuali, come quelli consigliati in questo forum.
Grazie a tutti!

23 Risposte

  • Re: Interazioni tra Access e Word

    Questo link mi sembra pertinente alla tua domanda.
  • Re: Interazioni tra Access e Word

    Grazie, gli ho dato una rapida occhiata, proverò a fare un test e vedrò se può aiutarmi.
    Così a prima vista mi pare che non ci sia modo di modificare il documento Word in base alla tipologia di destinatari, ma permette soltanto di inserire i dati con una specie di copia-incolla.
  • Re: Interazioni tra Access e Word

    pw4000 ha scritto:


    modificare il documento Word in base alla tipologia di destinatari
    Non penso che l'aspetto strettamente grammaticale sia risolvibile in Access. Piuttosto, se le tipologie non sono molte (sostanzialmente sesso M o F) potresti impostare più testi e associarli alle varie tipologie, immagino tu abbia predisposto dei campi che creano questa distinzione.
  • Re: Interazioni tra Access e Word

    Le tipologie sono Maschio, Femmina, più destinatari e Eredi del destinatario. Quindi se non ho dimenticato qualcosa le tipologie dovrebbero essere quattro.
    Ho provato comunque con la stampa unione e diciamo che la cosa potrebbe anche funzionare, ma ha alcune lacune che non so se dipendano da Office o dalla mia inesperienza.

    Tra i problemi che ho rilevato è che la stampa unione la devo impostare ogni volta che devo stampare (indicando la formattazione delle lettere con la posizione delle varie voci) e inoltre non posso decidere quali record utilizzare per la stampa unione, dovrei creare ogni volta una query che mi faccia selezionare uno alla volta tutti i record che mi interessano e da li passare alla stampa unione.

    Praticamente mi conviene ancora fare copia incolla direttamente sul documento word.
  • Re: Interazioni tra Access e Word

    pw4000 ha scritto:


    non posso decidere quali record utilizzare per la stampa unione, dovrei creare ogni volta una query che mi faccia selezionare uno alla volta tutti i record che mi interessano

    pw4000 ha scritto:


    l'ID che identifica la singola persona (o gruppo di persone)
    Non so come tu hai strutturato il database, ma se hai predisposto un campo "Gruppo" (ad es. Ingegneri, Dottori, Calciatori...), la query potrebbe filtrare automaticamente un certo ambito di persone in base a un criterio preimpostato.
  • Re: Interazioni tra Access e Word

    Il mio database è costituito da una tabella al momento (per fare un po' di test), ma queste diventeranno due o tre. Ciascuna contiene diversi nominativi di persone (sono divise per portafogli), nominativi che sono contraddistinti da un loro proprio univoco ID.

    Questi nominativi sono posti nelle tabelle per essere archiviati, non per lavorare su di essi. Periodicamente a queste tabelle si aggiungono nuovi ID e persone (le pratiche che lavoro e si aggiungono dunque ai tre portafogli).

    Ciò che cerco di fare è poter dire ad access quali ID mi interessa utilizzare per generare delle lettere.
    Ad esempio vorrei attraverso una query (o a questo punto una macro) inserire l'ID, ottenere in cambio la selezione del nominativo e da li creare una lettera (tutto possibilmente in automatico, l'unica cosa che vorrei fare a mano è inserire ovviamente l'ID).
  • Re: Interazioni tra Access e Word

    Magari posso inserire un nuovo campo in cui indico
    M, F, P, E, rispettivamente per Maschio, Femmina, Pluralità di destinatari ed Eredi.
    Poi se possibile da word specifico che in base al parametro deve applicare una certa intestazione e fare modifiche a determinate parole nel testo della lettera.
  • Re: Interazioni tra Access e Word

    Non è chiaro quando dici che hai una sola tabella di nominativi, ma poi dici che sono suddivisi per portafogli. Spero di azzeccare il linguaggio tecnico, ma penso che quello che tu intendi per "portafoglio" possa essere quello che io ho inteso per "gruppo"...in fin dei conti le persone possono essere raggruppabili da vari punti di vista: Sesso, Città, Gruppo. Una cosa sensata che tu puoi fare è quella di creare una tabella "Gruppi" con i seguenti campi:
    IDGruppo (contatore)
    Gruppo (testo)

    Nella tabella dei Nominativi devi avere un campo IDGruppo (numerico) e creare la relazione fra i due campi omonimi Gruppi.IDGruppo uno-a-molti con Nominativi.IDGruppo. Resta inteso che il campo IDGruppo è numerico e insignificante per l'interpretazione umana, mentre nel campo Gruppo scriverai valori del tipo "Ingegneri", "Dottori", "Calciatori"...ecc...

    Quando andrai a costruire la query, dovrai preoccuparti di includere il campo "Gruppo" e filtrare con un valore di criterio opportuno.
  • Re: Interazioni tra Access e Word

    Credo che stiamo andando a complicare le cose. Ma è colpa mia che mi sono spiegato male.

    Allora, io ho tre gruppi, gruppo A, gruppo B, gruppo C.
    Per ciascun gruppo ho creato una tabella.
    In ogni tabella ci sono solo i nominativi delle persone che appartengono a quel gruppo.

    Quindi i Dottori stanno tutti nella Tabella A, gli ingegneri stanno tutti nella Tabella B e così via.

    Io vorrei prendere (ad esempio) dalla tabella dottori un certo ID che identifica un dottore univoco e da li creare la lettera.
    Per ora quindi ho la query pronta che mi chiede [inserire ID] e mi restituisce il singolo record che cerco.

    Dovrei portare il record in Word, e fargli capire se il dottore è maschio, femmina, sono più di uno o sono eredi del dottore (si ok, ora sto sconfinando nell'assurdità... )
  • Re: Interazioni tra Access e Word

    In Access non è corretto creare più tabelle che dicono le stesse cose. Se ci fai caso TabellaA, TabellaB e TabellaC hanno gli stessi identici campi. Basta crearne una sola e aggiungere un campo "Gruppo" dove categorizzi le persone.
    Il filtro ID che tu hai creato ti permette di filtrare una Persona alla volta. Il filtro sul Gruppo che ti ho suggerito io ti permette di filtrare più persone che appartengono allo stesso Gruppo. Per questo ti ho parlato della tabella Gruppi, del campo IDGruppo ecc... Ovviamente un filtro può essere anche la composizione di più filtri su più campi sfruttando AND oppure OR.
  • Re: Interazioni tra Access e Word

    Uso più tabelle per non fare confusione con gli ID. L'ID è uno dei parametri che va dentro le lettere, quindi mi serve che ciascun gruppo abbia la sua serie continua ed ordinata.
    Gli ID sono fatti così:
    A0413/001
    la A si riferisce al gruppo
    04 è il mese
    13 è l'anno
    /001 è l'ID del nominativo

    Per questioni di ordine preferisco tenerli separati, tanto non credo faccia differenza...
  • Re: Interazioni tra Access e Word

    Puoi tenere tranquillamente due ID (ovviamente devi nominarli diversamente), uno sarà contatore per tutti (non lo devi digitare, Access lo incrementa automaticamente), l'altro segue il formato personalizzato che hai creato tu.
    Puoi creare un ordinamento personalizzato su qualsiasi campo (o combinazione di campi) che preferisci, quindi non importa se la numerazione contatore ID la vedrai sballata perchè preferisci mantenere l'ordinamento sul ID formato personalizzato.
    Questo aspetto ti consiglio di curarlo fin dall'inizio, altrimenti potrebbe darti problemi in futuro quando vorrai ampliare la logica dell'intero database (aggiungere altre tabelle correlate...).
  • Re: Interazioni tra Access e Word

    Ah quindi io creo una specie di ID "master" dal quale poi dipendono gli ID che personalizzo?
    Come posso fare questa operazione?
  • Re: Interazioni tra Access e Word

    No, le cose non stanno esattamente così. ID contatore avrà valori che partono da 1 e correranno fino all'infinito. Quella formuletta l'hai inventata tu...occorre capire se preferisci digitarla ancora a mano, oppure vorresti che qualcosa te la rimettesse insieme indicando dei valori a priori...solo che il discorso rischia di complicarsi e di complicarti la vita ora che sei ancora alle prime armi con una sola tabella (correggimi se sbaglio).
    Ripensandoci bene, non sei obbligato ad avere 2 ID, puoi continuare a mantenere il solo campo formattato (un po' come si usa per il Codice Fiscale che è unico per ogni cittadino). La cosa più importante è che tale campo sia sempre univoco, cioè non appaiano mai 2 valori uguali.
Devi accedere o registrarti per scrivere nel forum
23 risposte