• User Newbie

    Bloccare Una Maschera in Acces 2007

    Buongiorno a Tutti,
    Volevo chiedervi un aiuto poichè sto impazzendo; premetto che non conosco il VBA ma grazie alla intuitiva interfaccia di Access 2007, sono riuscito a creare un buon database.
    Cerco di essere chiaro: ho dei progetti da controllare inseriti in una tabella denominata PROGETTI: nome del progetto, data inizio lavori, primo acconto, secondo acconto, nome del progettista, codice gara. ecc. Poi ho Creato una query di selezione che riporta tutti i campi della tabella PROGETTI ma in più come sapete, dei campi calcolati poichè la tabella non fa le somme degli acconti. Poi ho fatto una maschera che trae origine dei dati dalla QUERY PROGETTI e funziona bene in quanto se inserisco gli importi degli acconti, nel campo totale mi esce il totale ed in automatico, mi va a popolare sia la query che la tabella PROGETTI.
    La maschera PROGETTI, quindi, funge sia da visualizza stato progetto che da maschera per inserire dati che si rendono disponibili solo dopo: tipo terzo acconto, varianti, ecc.
    Per cui vorrei bloccare la possibilità di modifica dei dati, ma allo stesso tempo poterlo fare quando arriveranno nuove notizie da inserire. Ovvio che ho ho provato in visualizzazione struttura a bloccare la possibilità di modifica dei campi ma non vorrei ogni volta aprire visualizza struttura e modificare le proprietà. Ho visto che molti suggeriscono dei tasti comando che all'azione click eseguono un comando in VBA: ovvero sbloccano tutti i campi della maschera così posso modificare e poi un ulteriore tasto che ri blocca tutta la maschera. Li ho sperimentati tutti ma non funzionano. Ne ho scaricato uno semplice ma sul mio PC (windows 10 e access 2007) quando clicco sul comando non si attiva la possibilità di modifica dei ricord, mentre a quello nel video si! per favore potreste aiutarmi a capire se devo settare una qualche impostazione nelle opzioni di access e soprattutto, VI SUPPLICO, potreste aiutarmi a creare questo benedetto comando che blocchi e sblocchi la maschera con esempi di macro (ma non credo access ne abbia di questo genere) o di codici VBA?
    Grazie....


  • ModSenior

    Ciao e benvenuto nel Forum GT. 🙂
    Potresti fare una funzione a cui gli passi una variabile tipo tmpBlocca.
    La richiami sull'evento load, e sulla pressione del tasto modifica e su quello del tasto salva.

    Sostanzialmente la funzione avrà un codice del tipo.
    Me.AllowEdit=tmpBlocca
    Me.AllowDeletions=tmpBlocca
    Me.AllowAdditions=tmpBlocca