Newsgroup: it.comp.appl.access
Titolo: Bloccare i campi di una submask

Olà amigos!
Ho un problema che mi assilla: é possibile, in una sottomaschera, bloccare
(cioè non permettere l'inserimento di dati) o modificare le dimensioni del
SINGOLO CAMPO? Se lo faccio dal modulo della submask funziona, ma la
modifica ha effetto sull'intera colonna, cioè per tutti i record, mentre io
vorrei bloccare solo un campo di un singolo record....
Esiste una soluzione?
Grazie
"Purtroppo è nel mio carattere: sodomizzo tutto quando ho la prospera
ingrossata"
Mat


'Azzo allora è meglio starti alla larga!!!
Ciao

La cosa la potresti risolvere in questa maniera (sempre che sia ciò che
vuoi).
L'esempio classico potrebbe essere questo :
hai una tabella (quella della submask) con dei dati che possono essere fissi
(non modificabili) e variabili (che eventualmente uno può modificare, ad
esempio dei prezzi di vendita di alcuni articoli.
Avrai quindi una tabella articoli su cui vi sarà il campo "prezzo fisso" di
tipo sì/no e la tabella prezzi (che è quella che devi visualizzare nella
submask).
A 'sto punto alla query su cui si basa la submask gli devi aggiungere (se
non c'è già) un join con la tabella articoli e aggiungere la colonna "prezzo
fisso" sui dati visualizzati dalla query. Poi sull'evento Corrente della
form submask (ossia su Form_Current) metti questo codice :
If Me.Art_PrezzoFisso then
    'Blocco il campo Prezzo
    Me.Prz_Prezzo.Enabled = False
    Me.Prz_Prezzo.Locked = True
  Else
    'Sblocco il campo Prezzo
    Me.Prz_Prezzo.Enabled = True
    Me.Prz_Prezzo.Locked = False
End If
Lo stesso codice lo dovrai inserire sull'evento AfterUpdate del campo
Articolo, cioè il campo prezzo viene bloccato/sbloccato anche ogni volta che
viene cambiato l'articolo.
Ti ricordo che l'evento Corrente viene attivato ogniqualvolta ci si
posiziona sul record. Quindi ogni volta che ti posizioni su un record il
campo Prezzo verrà bloccato o sbloccato a seconda dell'articolo.
Se non ci capisci molto scrivimi privatamente che ti invio via mail un file
d'esempio.
Ciao

 wrote in message
8d9btc$d7p$1...@nslave1.tin.it...

MITICO!
Capito tutto, sei stato chiarissimo, grazie mille. Non avevo pensato
all'evento Corrente, che mi permette di bloccare un campo; ovviamente blocca
tutti i campi della colonna, ma questo non mi crea problemi perchè quando mi
sposto su un altro record l'evento si verifica di nuovo....
Questo è già un bel passo, ma il massimo per me sarebbe avere la
sottomaschera con una visualizzazione dei campi che può essere diversa da
riga a riga; sai se è possibile o è fantascienza?
Ciao
Mat

 wrote in message 10rp1lh$1ur$1...@fe2.cs.interbusiness.it...

Attendo con ansia i risultati dei tuoi tentativi
Grazie e ciao
Mat

Ti potre rispondere in due maniere :
1) E chi sono, il Padreeterno ???
2) Io sono scienza, non fantascienza.
Una domanda del genere gliela dovresti fare a Zio Billy, ma penso sia un po'
incasinato a ritrovare tutti i fantastigliardi che ha perso nel Nasdaq.
Sempre che non vada in gattabuia (mi farebbe molto piacere portargli le
arance).
A parte gli scherzi (non offenderti) non è possibile, a meno che tu non
voglia farlo su un report/subreport, e quindi in sola visualizzazione, anche
se non ho mai provato e quindi non ne sono molto convinto.
Oltretutto te lo sconsiglio : va bene per quanto riguarda la formattazione
condizionale di Access 2K, che io non uso, su cui puoi cambiare colori e
caratteri (che è già una bella cosa, anche l'occhio è un ottimo
interpretatore di processo) ma cosa succede se su una submask, che in teoria
deve contenere dati tutti "della stessa istanza" e quindi tutti uguali, li
visualizzi alcuni in una maniera e altri in un'altra ?
Se sei tu l'unico utilizzatore del DB puoi fare tutto ciò che vuoi, ma se lo
usa anche qualcun'altro rischi di incasinargli le idee.
E ricordati sempre una cosa : un'altro utilizzatore, per quanto bravo sia,
non potrà mai conoscere i "criteri di funzionamento" del tuo programma; il
tuo compito primario è quello di realizzargli un'interfaccia trovando il
giusto compromesso fra utilizzo massimamente efficiente e chiarezza
d'interpretazione.
Ciao, Dario.
Sempre a disposizione.


Come ti dicevo, pretendi un tantino troppo da Access!
Se usi Access 2000 ti puoi accontentare dei colori, no?
Ciao e buon lavoro

...

WOW, ma quanto scrivi! Grazie comuque per la risposta e per i consigli,
anche se quello che volevo fare era proprio rendere il DB il più semplice
possibile, adesso ti spiego il perchè: la struttura del mio DB è molto
semplice, perchè comprende essenzialmente 2 tabelle contenenti una le
pratiche ed un'altra le righe delle pratiche; ovviamente ad ogni pratica
possono essere associate più righe. Queste righe possono essere di vari
tipi (ad es. Titolo, cioè semplice stringa di testo, descrizione + totale
in fondo, descrizione + 2 campi da moltiplicare + prodotto, ecc); ho creato
una struttura comune per queste righe, cioè N campi che possono essere
usati o meno a seconda del tipo di riga; anche la dimensione di questi
campi può variare tra i vari tipi di riga. Queste righe mi servono poi per
ricreare in qualsiasi momento un report della pratica, dove vado
dinamicamente ad inserire dei controlli in base al tipo di riga
selezionato. 
Quindi, per personalizzare l'inserimento delle righe ed evitare il più
possibile casini, mi sarebbe piaciuto avere una sottomaschera dove, quando
inserisco una nuova riga e ne seleziono il tipo da un campo combobox in
essa inserito, mi dimensioni automaticamente i campi utilizzati e mi
blocchi (o meglio mi nasconda) i campi non utilizzati. Tutto ciò in
sostanza per dare alla sottomaschera un aspetto il più possibile vicino a
quello che avrà la pratica stampata. Avevo già creato una bella mascherina
dove selezionando da una combo il tipo di riga compariva il gruppo delle
caselle di testo relative ai campi da riempire, gruppo diverso da tipo a
tipo, ma la cosa non è piaciuta molto, perchè mancava di vidibilità sulle
righe già inserite....anche se avevo inserito perfino un pulsante per
creare dinamicamente il report con le righe inserite fino a quel momento. 
Ovviamente si può lavorare anche senza tutto ciò, ma il mio scopo era
proprio quello di semplificare al massimo il lavoro di un 'profano' e non
certo quello di incasinargli le idee. Riguardo al cambio di colori su
Access2k...chissenefrega!
Spero di essermi spiegato bene. Sono graditi commenti, suggerimenti, idee.
Arrivedergliela
Ma
=====================================================
INDOVINELLO
Montone scappa dal gregge e ficca le corna in culo a chi ..... (Conphucio)
=====================================================

Beh, stando così le cose il problema principale è che appunto se in Access
realizzi una submask in cui dinamicamente visualizzi / nascondi / formatti o
che altro i campi a seconda del "tipo" di dato inizialmente indicato te lo
fa per tutte le righe della submask e la cosa è decisamente antiestetica
quando vi sono già delle righe inserite.
L'unica cosa è quella di visualizzare un solo record sulla submask mettendo
a disposizione dei tastini di navigazione sui record (non quelli predefiniti
di Access, per favore, per favore!!! mi fanno schifo!!!!!!!!!!!!), ma la
cosa perde assai molto in leggibilità.
Io mi fermo qui : se i guru di Access che ci stanno leggendo dall'Olimpo
hanno delle soluzioni-compromesso sono pronto ad accoglierle.
Ciao
Dario
PS : Sono prolisso vero ? (Warp dice di no....)