Newsgroup: it.comp.lang.visual-basic
Titolo: AIUTO, VI PREGO "refresh"

Ciao a tutti
Devo refreshare i dati di un database (access) per essere utilizzati in
tempo "reale" con un sistema SERVER-CLIENT.
Ho provato con i timer per il reload della form (lato client). ma il
risultato non è stato affatto soddisfacente....:(
Non so che strada prendere aiutatemiiiiiii
Grazie anticipatamente a chi salverà la mia vita :)


Se usi recordset lato server (default) i dati sono SEMPRE refreshati.
Se li usi lato client, inserisci delle resync o requery a seconda delle
situazioni....
ciao
ugo

 situazioni....
questo lato client e' proprio miserello...
per averlo refreshato bisogna pure resyncarlo o requerarlo...
ma ralph nader non objecta nothing a favore del lato client ?

 per averlo refreshato bisogna pure resyncarlo o requerarlo...
Beh, pensa che io per un refresh di solito uso una:
with doccia
    .open
    set .water = vbCold
    .put ( "ugo", "under" )
    .wait (m, 10)
    if ugo.aaaahhhh then
        .close
    endif
end with
:-P
ciao
ugo

 end with
rotfl ^___^
--
Fibia "Sakamoto" FBI

Bella Cazzata !!!
Grazie per l'aiuto, ma noi attendevamo consigli seri, e non di chi
frequenta le ml, solo per passatempo.
Grazie lo stesso.

Il nostro problema è serio, quindi speriamo nell'aiuto di un
programmatore vero !!
Grazie a tutti.

 ha scritto

prova a scaricare altri messaggi oltre a quelli che ti riguardano e
guarda l'elenco dei miei post: vedrai che io questo ng non lo frequento
per passatempo. e se sai leggere, non era da passatempo neanche il mio
post.
una risposta l'hai avuta, e da uno molto bravo.

 ha scritto nel messaggio
news:qCmi7.31470$vC1.3...@news1.tin.it...

Non avrei neppure voglia di risponderti.
1) Hai fatto una domanda
    Generica
    Imprecisa
    Tecnicamente inesatta (Access + Client Server ???)
2) Ti ho risposto seriamente e tu non hai specificato nulla di più.
3) Tanto per puntualizzare, questo è un Ng e non una Ml ed è composto per lo
più di persone tecnicamente preparate ma anche dotate di sense of humor,
cose che, entrambe, evidentemente mancano a te.
Mi verrebbe un saluto diverso... ma sono una persona educata...
ciao
ugo


Ok.
Quanto pagate?
ciao
ugo

 Quanto pagate?
:)))
scusa il commento non serio.
d'altronde non sono neanche un programmatore vero.


Non volevo fare polemica, a me non sembrava un consiglio serio. Abbiamo un
grosso problema e pensavamo che ci stessi prendendo in giro.
Acceteremo tranquillamente un tuo aiuto nel caso in cui possa risolvere il
nostro problema.
Ciao :-)

 nostro problema.
Ok, pace fatta.
Spiega un po' meglio il prb...
ciao
ugo

Abbiamo un programma di gestione dati, da usare in una LAN.
Il problema è questo:
Mentre vengono modificati i dati (dal CLIENT o dal SERVER), tutta la rete
deve essere in grado di visualizzare le modifiche in tempo reale (o quasi).
Visto che le modifiche che possono essere fatte sul database sono veramente
tante e si ripetono in tempi non costanti, sono costretto (anche da
specifica) ad inserire un timer che esegue un refresh ogni x secondi.Questa
alternativa implica:
-    Il rallentamento del sistema (dovuto ai diversi recordset aperti e alla
presenza di una procedura "semaforo" che gestisce la multiutenza).
-    Il refresh del recorset comporta la perdita dei dati visualizzati che
non possono essere ripristinati nel caso di modifiche sul database
(cancellazione o aggiunta).
-    Nel momento in cui avviene il refresh del recordset, ci potrebbe essere
qualcuno che sta modificando i dati, che quindi vengono modificati solo in
parte. Tutto questo comporta una scarsa stabilità del sistema ed una poca
affidabilità dei dati.
Credo che tutto questo sia abbastanza complesso e di non facile soluzione,
ma forse puoi darci un consiglio utile per arrivare alla soluzione.
Grazie anticipatamente per la risposta.
stefano

 Il problema è questo:
Sì questo l'avevo capito.
Il punto è: cosa hai bisogno di refreshare?
Se usi dei recordset lato server, il refresh è "automatico", nel senso che
man mano che ti sposti nel recordset viene letto il dato attuale dal
database (spiegazione sintetica e imprecisa...).
Presumo perciò che tu abbia dei recordset lato client associati a delle
datagrid e che siano queste le destinatarie dei refresh... giusto?
In questo caso la questione si fa spinosa...
Personalmente uso le datagrid abbastanza frequentemente, con due tipologie
di impiego:
1) associate a dati che non richiedono frequente refresh (per es. tabelle
"secondarie" tipo categorie, nazioni, codici iva etc...)
2) associate a recordset per loro natura in corso di elaborazine da parte
dell'utente (per es. le righe di una fattura, bolla, ordine etc... in
elaborazione)
Nei due casi:
caso 1) L'accesso a dati è pilotato da una classe di gestione (che chiamo
AdoInterface) che, all'atto della modifica da parte di un utente, "flagga"
la tabella come modificata su una ulteriore tabella semaforica, permettendo
così agli altri user (o meglio, ai loro programmi...) di sapere che la tal
tabella (se è aperta a video) è stata modificata, evento che scatena la
refresh della griglia.
caso 2) Il problema non si pone perchè è chiaro che l'accesso in scrittura
ai dettagli dello stesso documento non è concesso a due user in
contemporanea... (anche se non è vero: la classe di gestione di cui sopra si
occupa poi in realtà degli eventuali conflitti generati...  :-P )
E' chiaro che viceversa la soluzione delle Datagrid non può essere applicata
estensivamente agli elenchi "corposi" (anche per motivi prestazionali) o di
frequente modifica, per i quali è necessario adottare soluzioni ad hoc in
funzione delle specifiche esigenze delle varie aree funzionali.
Spero di esserti stao d'aiuto.
ciao
ugo