aprile file da sottomaschera con pulsante oppure doppioclick

Anonimo
2015-08-30T09:24:57+00:00

salve a tutti

da un vecchio post grazie all'amico Sandro Peruz, per cercare di gestire gli allegati esternamente al db, sto cercando di gestire dei file creati ed assegnarli a delle pratiche.

All'interno di una cartella ho dei file .dotm, modelli in word da compilare e salvare in formato .docx oppure pdf.

Questi modelli devono essere abbinati ad una pratica (ogni id) inseriti in diversi momenti (date)

Pertanto procedo con la creazione delle tabelle mettendole in relazione una a molti, cioè una pratica a molti modelli:

nella maschera pratiche ho inserito un pulsante dove mi apre la maschera elenco_modelli per aprire con altro comando il relativo file

Una volta compilato  e salvato il modello viene caricato ed abbinato alla pratica.

Infine con un comando oppure su doppio click su nome_file aprire il relativo file

Provo a postare i files, purtoppo da adattare al proprio pc.

http://1drv.ms/1Iv4wcr

Magari, con il vs aiuto, riuscire a scaricare il db e la relativa cartella contenenti i file (modelli) su qualsiasi pc e funzionare direttamente.

Grazie a voi tutti

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2015-09-04T17:09:45+00:00

ciao NebbiaDB,

non serve l'opzione Group by nella query.

non serve incorporare la maschera nel report.

crei una semplice query di selezione con questo sql ad esempio :

SELECT modelli.id_pratiche,

            elenco_pratiche.registro,

           [myFolder] & [nome_file] AS fullpath

FROM elenco_pratiche INNER JOIN modelli ON elenco_pratiche.id_pratiche = modelli.id_pratiche

ORDER BY modelli.id_pratiche;

concatenando il path con il folder così mostri nel report il nome completo del file.

crei un report in cui raggruppi per registro che non significa che raggruppare per pratica.

sul command button che chiamerai ad esempio cmdRpt e non comando16 sfrutti il parametro where per aprire il report esattamente sul record che stai vedendo sulla maschera.

DoCmd.OpenReport "modelli", acViewPreview, , whereCondition:="id_pratiche=" & Me.id_pratiche

se il report viene aperto senza clausola where raggruppi sempre per registro, ma vedi in sequenza tutti le pratiche con i relativi modelli.

un po' così : http://1drv.ms/1KvxOiq   Gestione_Pratiche2.2.accdb.

ciao, Sandro.

La risposta è stata utile?

0 commenti Nessun commento

46 risposte aggiuntive

Ordina per: Più recente
  1. Anonimo
    2015-09-04T13:59:03+00:00

    Ciao carissimo Sandro, tutto meravigliosamente bene con i test...

    sto provando ad inserire un pulsante per la stampa di un report, per fare una sorta di "frontespizio".

    ho creato il report ed ho inserito id_pratiche registro ed oggetto e poi la sm_modelli.

    è possibile al click del comando visualizzare sul report solo i valori del id_pratiche presente nella maschera pratiche e i relativi nella sm_modelli?

    Grazie Sandro

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-09-02T20:18:26+00:00

    ciao NebbiaDB,

    quell'istruzione non è così determinante perché ti permette di modificare le proprietà della form se il recordset è vuoto,

     in realtà viene valutata vera solo se la tabella è vuota quindi alla prima apertura del db, ma se no ci fosse con la tabella completamente vuota non inserisci nulla.

    avrei pensato a quanto segue per le nuove domande:, passare un argomento di apertura alla form m_pratiche in modo da discriminare quando la stessa viene aperta da un'altra maschera...se gli argomenti ci sono allora si tratta di un'altra maschera e procedi con il richiamare la procedura già esistente per l'aggiunta di un nuovo record, altrimenti la apri normalmente.

    Private Sub Comando0_Click()

    DoCmd.OpenForm "pratiche", acNormal, , , , , "1"

    End Sub

    Private Sub Form_Load()

    If IsNull(Me.OpenArgs) Then

        If Me.Recordset.RecordCount = 0 Then

            Me.AllowAdditions = Not Me.AllowAdditions

            Me.oggetto.Locked = Not Me.oggetto.Locked

            Me.cmdEdits.Enabled = False

        End If

    Else

        moveRecords 3

    End If

    end sub

    inizialmente avevo optato per il paramentro acFormAdd, ma così facendo il recordcount è zero e con  le proprietà disabilitate e non vedi nulla praticamente...

    per il resto ho inserito un cmdButton che annulla l'inserimento del record e di conseguenza tutte le modifiche alle restanti routine, minimali...

    il cmd Annulla gestisce solo il record nuovo.

    mi sembra sia ok... testalo  un po'  : http://1drv.ms/1VxcN90  Gestione_Pratiche2.1.accdb.

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-09-02T16:26:43+00:00

    Ciao Sandro, sto cercando di testare e sto cercando di aggiungere qualcosina:

    • siccome la maschera pratiche la apro da comando  (cmdCreaPratiche) su altra maschera sto cercando di far posizionare il record direttamente su nuovo record; dovrei mettere su apertura     DoCmd.GoToRecord , "", acNewRec ma essendoci  già

     If Me.Recordset.RecordCount = 0 Then

        Me.AllowAdditions = Not Me.AllowAdditions

        Me.oggetto.Locked = True

    End If

    Esce errrore

    • Se clicco su nuovo e vorrei annullare l’inserimento, ovviamente prima di salvare, c’è qualche soluzione?

    Grazie ancora Sandro

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-09-01T14:00:45+00:00

    tutto funzionante Sandro,

    grazie davvero per quanto fatto ed il tempo dedicato

    non dimenticare la vecchia maschera ;-)

    Grazie davvero... spero di risentirci presto...

    La risposta è stata utile?

    0 commenti Nessun commento