Newsgroup: it.comp.appl.access
Titolo: (OT) fatevi due risate : guardate che me so' dovuto inventà  :-)

Dice : fammi un file excel che faccia da questionario. Ossia
dobbiamo  spedire  'sto  file  a  ogni impiegato che lo deve 
compilare.  Ognuno ha il filetto suo, compila e lo chiude. 
 
Quando lo chiude si vuole che parta una  routine  che prende
i risultati e  li  schiaffa  in  un altro file excel unico e 
condiviso,  in modo tale che faccia da riepilogo di tutte le
risposte date dagli impiegati :-) 
 
E vabbè. Faccio, dico ecc ecc poi m' accorgo che se putacaso
due impiegati salvano  allo  stesso tempo preciso ovviamente 
la routine fallisce : uno solo dei due riesce a scrivere nel
condiviso. L' excel non è come l' Access. 
 
Come se fa ? Come non se fa ? :-) 
 
Me so  inventato "er semafero" (= il semaforo, alla romana). 
Quando la routine  di  un  file excel di un impiegato vuole 
salvare i dati PRIMA di farlo fa : 
 
kill (un filetto txt paraculo, l' ho chiamato "semaforo") 
... il txt sta su un percorso di rete, ovviamente.
 
Se quel txt non cè SBAM ! Errore  53. La routine capisce che 
deve attendere, intercetta l' errore e riprova col kill fino 
a che  riesce  (max 10 tentativi, poi avverto l' utente che 
deve  essere accaduto  qualcosa di orribile e quindi farmelo 
sapere) a cancellarlo. 
 
Appena riesce (e quindi tutti gli altri non riescono piu : 
il semaforo è rosso per loro) apre il  file  excel e salva i
dati, poi ti rimette il filetto txt al posto giusto, in modo
che se arriva un'altra routine di un altro impiegato riesce a
cancellarlo e a salvare. 
 
E  cosi via : si  parte  da una situazione in cui il txt cè, 
messo manualmente. 
 
La fregatura dell' accrocco (perchè è un accrocco, pero' è stato
divertente metterlo in piedi) è che se  una  routine  va  in tilt 
prima che riesce a rimettere il  txt  tutte  le  altre falliscono 
per sempre. 
 
Però  via ... Anche quello si risolve intercettando l' errore di
tilt e forzare la routine, prima che schiatti in un lago di sangue,
a rimettere il txt. 
 
Certo  se cade addirittura la rete e pazienza, non è che si puo' 
gestire *tutto*. 
 
E' un accrocco pero' è carino, non trovate ? :-) 


non vorrei deluderti ma i semafori si sono sempre usati in 
informatica...e si chiamano proprio semafori :-)
e servono proprio per gestire gli accessi alle risorse.
se non ricordo male c'erano pure in versione semplificata..i mutex
ricordi di mille anni fa al primo anni di università
 
 
 
 
 


E perchè dovresti deludermi ? No, anzi. :-) 
 
 


certo che aver fatto scuole appropriate di informatica ti da 
tutta un' altra impostazione,  non  cè  niente da fare. E si 
vede che tu queste scuole l' hai fatte. 
 
Io pure ho provato (tardi) a studiare libri su libri come un 
matto (e difatti adesso che  mi  ci  fai pensare 'sta parola 
"semaforo" mi sembra di averla letta, ma non si faceva con un
file  ma  con  un' altra  tecnica ... Era  un semaforo, ma un 
semaforo "astratto", ossia "logico" ... non  mi  ricordo piu) 
ma per quanto sia non è mai come studiare da molto giovane e 
con insegnanti che possono rispondere, interagire con te ecc 
ecc.