Autocompilazione anagrafica di un modulo

di il
21 risposte

21 Risposte - Pagina 2

  • Re: Autocompilazione anagrafica di un modulo

    Ora per avere una risposta sensata dovrei fare qualche prova più dedicata, cosa che risulta complicato...!

    Fai questo Tentativo:
    1° Sostituisci il tuo codice con questo evitando le API:
    
    With appword
         Set doc = .Documents.Open(fPath & FName)
         .Visible = True
         .Activate
    End With
  • Re: Autocompilazione anagrafica di un modulo

    1. Prova a fare una copia del tuo database
    2. Organizza 8 "volgari" codici VBA "tutti simili" con la logica che puoi cogliere da questo codice (per me simbolico) in cui (credo) sia importante seguire la sequenza "da qui...a qui"
    Private Sub DCTDP_Click()
    Dim objWordApp As Object
    Dim objWordDoc As Object
    Dim strBkm As String
    Set objWordApp = CreateObject("Word.Application") ' importante da qui
    objWordApp.Visible = True
    AppActivate "Microsoft Word" 'porta Word in primo piano...a qui
    Set objWordDoc = objWordApp.Documents.Add(CurrentProject.Path & "\Modelli\DCTDP.dotx", False, 0)
    objWordDoc.Bookmarks("Sottoscritto1").Select
    strBkm = IIf(Me!Sesso = "F", "La sottoscritta ", "Il sottoscritto ") & Me!Cognome & " " & Me!Nome
    objWordApp.Selection.Text = strBkm
    objWordDoc.Bookmarks("Nato").Select
    strBkm = IIf(Me!Sesso = "F", "nata a ", "nato a ") & Me!IDComuneNascita.Column(1) & " il " & Me!DataNascita
    objWordApp.Selection.Text = strBkm
    objWordDoc.Bookmarks("Residente").Select
    strBkm = "residente in " & Me!Indirizzo & " - " & Me!IDComuneResidenza.Column(1)
    objWordApp.Selection.Text = strBkm
    objWordDoc.Bookmarks("CF").Select
    strBkm = "C.F.: " & Me!CodiceFiscale
    objWordApp.Selection.Text = strBkm
    objWordDoc.Bookmarks("Informato").Select
    strBkm = IIf(Me!Sesso = "F", "informata ", "informato ")
    objWordApp.Selection.Text = strBkm
    objWordDoc.Bookmarks("Sottoscritto2").Select
    strBkm = IIf(Me!Sesso = "F", "La sottoscritta ", "Il sottoscritto ")
    objWordApp.Selection.Text = strBkm
    objWordDoc.Bookmarks("DataOdierna").Select
    objWordApp.Selection.Text = Date
    End Sub
  • Re: Autocompilazione anagrafica di un modulo

    Osvaldo, il tuo codice è COMPLETAMENTE diverso da quello originale, nel senso che si comporta in tutt'altro modo perchè apre N istanze singole, e non una sola istanza alla quale poi assegna il Documento... per questo serve capire bene come ci si vuole muovere...
  • Re: Autocompilazione anagrafica di un modulo

    Io tentavo solo di "semplificargli" il ragionamento base (quello del CreateObject e poi AppActivate) che, se funziona, potrebbe aprirgli strade di logica più semplice (ammesso che io abbia compreso a pieno il problema).
    @Alex, se tu hai capito tutta la "sua" matassa, cedo volentieri la palla.
  • Re: Autocompilazione anagrafica di un modulo

    OsvaldoLaviosa ha scritto:


    Io tentavo solo di "semplificargli" il ragionamento base (quello del CreateObject e poi AppActivate) che, se funziona, potrebbe aprirgli strade di logica più semplice (ammesso che io abbia compreso a pieno il problema).
    @Alex, se tu hai capito tutta la "sua" matassa, cedo volentieri la palla.
    Non credo che lui voglia vedersi 8(n) istanze di WORD aperte... anzi, il suo codice per l'appunto, ne apre solo una... da quì la mia osservazione.
  • Re: Autocompilazione anagrafica di un modulo

    Totostegi ha scritto:


    ...fa aprire un'altra maschera chiamata "Scheda paziente" (che attinge i dati anagrafici dalla tabella "Pazienti"), in cui è presente una sottomaschera dove sono elencate le prestazioni effettuate, con un link al referto. In questa maschera "Scheda paziente" c'è anche un bottone chiamato "Crea referto" che fa aprire una finestra di una cartella dove sono contenuti i moduli vuoti, creati in Word, dei referti delle prestazioni eseguite che vengono compilati con i dati necessari e salvati in un'altra cartella chiamata "Referti" da dove vengono poi importati nella sottomaschera delle prestazioni.
    Il problema mio a questo punto quale sarebbe?
    ....
    Dopo i consigli dalle persone dalla indiscussa preparazione che sono intervenute prima di me, quasi mi vergogno di dire la mia, però...

    Dal basso della mia assoluta e manifesta incompetenza nella programmazione in generale e VB in particolare, mi domando:
    Ma perché non aggiungi un campo "Memo" nella tabella delle prestazioni, nel quale potresti scrivere il "corpo" del referto di ciascuna prestazione, e ti organizzi gli 8 modelli di Report di Access (in base alla tipologia di cui necessiti) che si prendono i dati da lì?
    Lo esporti come pdf in una cartella del pc o del server... fatto.
    Puoi anche prevedere l'invio automatico tramite mail al paziente, se è del caso, o comunque una volta a video puoi fare qualsiasi cosa.

    Il campo memo rischia di diventare un mattone nel Db, ma se non ho compreso male l'esigenza, io seguirei questa strada; quantomeno valuterei l'opzione, se non altro per mantenere uno storico completo delle prestazioni per eventuali analisi future su ciascun paziente.

    Se invece non vuoi appesantire il Db con il campo "Memo", potresti creare una casella di testo (non collegata) sulla maschera dei pazienti, dove sarà inserito il corpo del referto, e sempre utilizzando i report di Access, puoi comunque stampare/salvare il tuo documento, senza memorizzare tali dati.
    Rimarrebbe solo il file che eventualmente salverai.
  • Re: Autocompilazione anagrafica di un modulo

    Rieccomi qua, ho passato qualche giorno a rivedere il tutto e a testare i vari suggerimenti, ma non sono praticabili. Sostituendo il codice al posto delle API i files di Word rimangono tutti, volta per volta, aperti a icona. E' chiaro che ho necessità di avere aperto un solo file alla volta e non tutti gli otto insieme, perché per ogni paziente viene redatto un solo referto.
    Il modulo con le API è l'unica via che mi consente di avere aperti a tutto schermo almeno tre modelli su otto. E proprio per questo avevo chiesto lumi a voi, che siete maestri in questo. Mi fa rincretinire il fatto che i pulsanti che sono linkati al comando 23,24 e 27 svolgono perfettamente la loro funzione, gli altri cinque invece no, aprendo si il file ma ridotto a icona (non a schermo intero). Eppure tra loro non c'è alcuna differenza!!!
    Sono perfino arrivato a controllare i moduli di Word per vedere che tra di loro non ci fosse qualche differenza perfino nelle proprietà, ma niente, tutto è perfettamente uguale. Non si riesce a capire il perché tre modelli si aprono correttamente, gli altri cinque no. E qua io alzo le mani, mi arrendo perché non so più che pesci pigliare. Non riesco a trovare una spiegazione logica e tutto rimane un mistero.
Devi accedere o registrarti per scrivere nel forum
21 risposte