Newsgroup: it.comp.appl.access
Titolo: Modificare tutti i records di una maschera in una botta sola. Come si fa ?

Ossia :
c' ho una maschera access che insiste su una tabella nel modo 
classico. Sapete, con creazione guidata maschera su tabella. 
 
Uno dei campi e' un flag 
 
Qual'  e'   il  modo  piu' semplice  per far si che l' utente, 
premendo il tasto T della maschera, metta tutti i record della
tabella  "sottostante"  a  true senza doverli scorrere uno a 
uno ? 
 
Grazie
 


Sull'evento Click del controllo collegato al campo FLAG, immagino una 
checkbox, ci metti "currentdb.execute "update NOME_TABELLA set 
NOME_CAMPO_FLAG=true where " & me.filter
 


Grande. Ti ringrazio !
 
Solo due domandine, se posso : 
1)
la maschera "vede" immediatamente la modifica ? Sarebbe il caso.
 
2)
da dove esce quel me.filter ? Ossia cos' e', dove lo vedo, come lo 
posso far costruire dall' utente ... 
 
 


1) no, se desideri aggiornare basta un  requery
2) esce dall'ipotesi che i record visibili nella maschera siano 
filtrati, se non lo fossero il where e tutto il resto non serve
 

 filtrati, se non lo fossero il where e tutto il resto non serve
 
Grazie Robby mi e' tutto chiaro, almeno in teoria. Ma si comporta
in modo (IMHO) insoddisfacente. 
 
Cerco di spiegarmi : 
 
Tanto per cominciare  se faccio  click su un campo e lo lascio in
modalita'  modifica (ossia non tolgo il focus : il campo "aspetta"
di essere aggiornato)  e  poi col mouse clicco  il  pulsante  che 
contiene la query di aggiornamento quella aggiorna tutti i record 
TRANNE quello che e' in modalita' modifica. 
 
Il che ha senso, pero' sai com' e' ... l' utente  scimmia  non lo
capirebbe. Forse. 
 
Allora devo sparare due volte la query per scavalcare il problema
(perche' l'esecuzione della prima forza la maschera a togliere il
record dalla  modalita'  inserimento  per  cui alla seconda botta 
funziona)
 
E questa e' una.
 
Poi, cosa ancora piu' fastidiosa, e' che se faccio due tasti : uno
(T) che mi mette tutti i record col flag a true e un altro (F) che 
me li mette tutti a false e seguo questa sequenza di azioni : 
 
1) metto un campo in modalita' modifica (come sopra)  
2) premo T (che spara la query di update due volte) 
 
fin qui tutto ok, ma se a questo punto :
 
3) rimetto il campo in modalita' modifica  
4) premo  il  tasto F (ossia  l'  ALTRO TASTO)  Access  mi spara un 
messaggio  con  scritto  che  un  altro  utente  sta   tentando  di 
modificare  il  record  e   mi  chiede se  voglio rinunciare  o  se 
invece voglio portare a termine la modifica  (della  query  update)
 
Ossia : 
lascio record in mod. modifica -> premo tasto T -> Ok
lascio record in mod. modifica -> premo tasto F -> conflitto 
 
Parrebbe (dico : parrebbe) che il cambio  tasto l' access lo veda 
come se un altro utente stia modificando.  
 
Si, ha senso : se ragioniamo a livello di trhed : il tasto F 
e' COME SE FOSSE un certo "utente" (un 3D) e il tasto T un altro. 
 
D' altra parte sappiamo che il VB ragiona a 3D ... 
 
Fintanto  che  uso  solo  uno dei tasti nessun problema. Ma se 
invece cambio tasto ecco che per access un altro 3D autonomo 
interviene. 
 
 
 
 
 
 
 
 
 
 
 
 
 


Io non farei entrare in modifica cliccando sulla checkbox
Se clicchi, allora parte la routine
1- prendi un bookmark di dove sei
2- aggiorni il campo flag sul db
3- requery (e il cursore torna al primo record)
4- torni al bookmark
5- ficus sulla checkbox
 


focus


Aoh, nisba. Non c'e' stato verso, 'cci sua.
 
Sai come l' ho fregato ? A un certo punto me so incazzato :  
Je stacco la  connessione dalla sorgente, je  modifico  i  
"flegghete" nella tabelle e poi riconnetto la maschera alla
sorgente.
 
Adavede come frulla, er fio de na mignotta ;-) 
Ah ! 
 
scusa lo sfogo