[RISOTO]disabilitare tutt controlli form contemporaneamente?

Discussioni sulle caratteristiche di database
Rispondi
ang81
Messaggi: 6
Iscritto il: venerdì 13 aprile 2012, 11:39

[RISOTO]disabilitare tutt controlli form contemporaneamente?

Messaggio da ang81 »

Salve a tutti. Ho un problema che spero possiate aiutarmi a risolvere.
Il problema è il seguente: ho nel mio db dei formulari che uso sia in visualizzazione che in inserimento/modifica dati. Il che è molto comodo perché mi evita di creare più maschere di fatto identiche ma destinate a scopi diversi... e se le maschere cominciano ad essere tante il vantaggio è facilmente intuibile. Una politica del genere, di contro, è molto rischiosa, perché (a titolo di esempio):
1) basta posizionarsi per errore su una casella combinata e inavvertitamente premere la rotellina del mouse per alterare un dato (facilissimo con un mouse touch)
2) basta sovrascrivere un campo credendo la funzione filtro attiva per compromettere il valore di quel campo

Avrei pensato una soluzione, ma chiedo a voi più esperti aiuto per realizzarla (ed in particolare per scrivere le macro):
Vorrei inserire in ogni formulario una casella di controllo "Abilita controlli" (ma va bene anche un pulsante) che di default è NON spuntata e vorrei che, sotto questa condizione (casella NON spuntata), tutti i controlli fossero disabilitati (tranne ovviamente quelli per cercare informazioni, la possibilità di applicare i filtri e di scorrere fra record), mentre vorrei che spuntando la casella di controllo tutti i controlli presenti nel formulario divengano nuovamente attivi per consentire modifiche ai dati.
Userei così il formulario con la casella NON spuntata per la visualizzazione dati (eliminando la possibilità di errori di distrazione) e con la casella spuntata per fare modifiche e per poi togliere la spunta appena possibile.
Gli eventi da gestire sarebbero dunque, suppongo, apertura formulario (per la casella di controllo di default non spuntata) e cambio di stato casella di controllo (da spuntato a non spuntato e viceversa).

C'è, inoltre, un modo per scrivere un codice quanto più compatto e riutilizzabile possibile tra i vari formulari.

Confido nel vostro aiuto.
Ciao e grazie,
Angelo
Ultima modifica di ang81 il martedì 17 aprile 2012, 13:08, modificato 1 volta in totale.
OpenOffice 3.X su Mac OSX
codicem
Messaggi: 57
Iscritto il: venerdì 30 aprile 2010, 14:30

Re: disabilitare tutti i controlli form contemporaneamente?

Messaggio da codicem »

Ciao ti allego un db di prova con macro inserita.
La casella di controllo attiva e disattiva i tre campi mentre i vari pulsanti attivano e disattivano i singoli campi.
Con questo metodo puoi attivare o disattivare qualsiasi oggetto all'interno del formulario.
Allegati
Dbtest.odb
(12.85 KiB) Scaricato 356 volte
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
ang81
Messaggi: 6
Iscritto il: venerdì 13 aprile 2012, 11:39

Re: disabilitare tutti i controlli form contemporaneamente?

Messaggio da ang81 »

Grazie 1000 codicem,

semplice, spartano, comprensibile, esaustivo ed esattamente ciò che chiedevo, anche qualcosina in più!

Terrò le tue macre custodite gelosamente e le utilizzerò in diversi contesti.

Grazie ancora
OpenOffice 3.X su Mac OSX
Rispondi