Newsgroup: it.comp.appl.access
Titolo: Record locked

Un saluto a tutto il NG.
Vorrei un consiglio su come impostare alcune maschere di immissione dati che
costituiscono il mio db.
Mi sono accorto, infatti, che l'errore più frequente che commette chi deve
compilare la maschera è che, invece di aggiungere un nuovo record
(nonostante il bel pulsante di comando che ho piazzato su tutte le
maschere), va a scrivere su quello che  compare all'apertura della maschera.
La cosa che mi è venuta in mente, per evitare il ripetersi di questi errori,
è di rendere locked tutti i campi della maschera (da codice su apertura),
per poi sbloccarli qualora si prema un pulsante a video oppure un tasto
funzione.
Voi come lo avete risolto questo problema? (Assumendo che l'obiettivo è di
migliorare il sottoscritto, e non sostituire nè tirare troppe rivolverate a
chi lo utilizza ehehehehe!)
Un grazie anticipato
Goose

 ha scritto nel messaggio
news:TgfA6.10641$k53.2...@news1.tin.it...

Credo che la soluzione da te proposta sia una delle possibili e comunque
efficace per quello che ti proponi di ottenere. Una domanda: e se
l'utilizzatore dopo aver inserito il primo nuovo record scrive il successivo
sullo stesso appena scritto?
Forse sarà meglio prevedere un pulsante per salvare il record  e reimpostare
a locked i controlli.
Che ne pensi?
Ciao, Carlo

 ha scritto nel messaggio
news:TgfA6.10641$k53.2...@news1.tin.it...

Forse la cosa migliore è quella di non indurre in errore l'operatore (o come
si dice nel Padre Nostro, non lo "indurre in tentazione"). ;-)
Prima di aprire la maschera chiedi all'operatore, con una message box, se
deve inserire un nuovo record o deve modificare o cancellare un record già
esistente.
Nel primo caso apri la maschera nella modalità acFormAdd e nel secondo caso
nella modalità acFormEdit; così facendo, quando deve fare un inserimento gli
comparirà una maschera vuota e non potrà sovrapporre i dati a quelli di un
record già esistente.
Nel caso di aggiornamento e cancellazione fatti addirittura fornire le
chiavi identificative del record su cui deve operare e con quelli filtra la
maschera: eviterai così anche errate cancellazioni e/o aggiornamenti
indesiderati di record.
Penso che sia bene anche usare altri piccoli accorgimenti quali quello di
eliminare dalla tua maschera i Pulsanti spostamento e di settare la
proprietà Sequenza a Record corrente. Naturalmente, nell'intestazione della
maschera, in questo caso, devi mettre dei pulsanti di comando che gli
permettano di inserire un nuovo record, di cancellare il record corrente, di
salvare il record corrente, di spostarsi sul primo o ultimo record,
dispostarsi sul record precedente o successivo, di cercare un determinato
record. In pratica gli lasci tutta l'operatività di oggi, ma gli eviti la
possibilità di spostarsi accidentalmente su record su cui non deve operare.
Se poi vuoi essere più reale del re, puoi chiedere la conferma
dell'inserimento o della variazione con una routine scritta a fronte
dell'evento "Prima di aggiornare" della tua maschera, eventualmente
cancellando l'evento. Idem a fronte dell'evento "Prima di cancellare" per
ottenere la convalida della cancellazione.
Se dopo tutto questo, l'operatore riesce a incasinare l'archivio, per
punizione mettilo 5 minuti in ginocchio sui ceci. :-)))
Comunque hai tutto il diritto di supercazziarlo.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:TgfA6.10641$k53.2...@news1.tin.it...

In alternativa o in aggiunta a quanto già ti hanno suggerito, e se la
maschera viene aperta principalmente x l'inserimento di nuovi record,
potresti aggiungere dopo l'apertura della maschera il comando che la porta a
un nuovo record:
docmd.GoToRecord ,,acNewRec
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com

 Ciao, Carlo
Vediamo se cosě puň funzionare:
1. Imposto a locked tutti i controlli;
2. Quando si fa clic sul pulsante 'Aggiungi nuovo record' i campi si
sbloccano;
3. Appena si registra il record, tutti i campi vengono ribloccati.
Se cosě č, quali sono gli eventi da associare alla maschera che mi
suggerisci di tenere sotto controllo?
Ho pensato 'on open' nel sub1 e 'after update' nel sub 3.
Ti ringrazio per la collaborazione
Goose

 wrote in message
TgfA6.10641$k53.2...@news1.tin.it...
