Newsgroup: it.comp.lang.visual-basic
Titolo: problema programma multiutente

Devo sviluppare un'applicazione in rete per la gestione di un'azienda
in Visual Basic. Ho sia la versione 5 che la 6 anche se con il nuovo
motore ADO per la gestione dei database non sono ancora molto esperto
e quindi preferirei utilizzare il motore Jet Database Engine 3.5.
Premetto che non ho mai sviluppato in rete. Mi sono documentato al
riguardo e devo dire che per ora ho una gran confusione.
Vedo File/Server o Client/Server quale scegliere?
Ho pensato di creare una unica versione dell'eseguibile e farlo girare
su computer diversi, mentre gestire un'unica dabse dati (database di
access97 .mdb)
Attraverso un file .ini che inserisco su ogni PC faccio leggere dove
sono posizionati i dati e quindi agisco.
Pensate sia una cosa sensata?
Sapete consigliarmi ? conosci qualcuno che mi possa dare delle dritte?
Apro le tabelle in modalita' condivisa in blocco pessimistico.
In genere per scegliere un cliente o un articolo di magazzino presento
un DbGrid e poi con un doppioclick apro una seconda finestra che mi
presenta i campi del singolo record. In questa seconda finestra
presento 2 pulsanti:
uno Salva e l'altro Annulla
con il pulsante Salva controllo che la pagina non sia bloccata e
quindi blocco la pagina contente il record (mi pare non sia possibile
bloccare il singolo record del recordset) e aggiorno i dati
riscrivendo tutti i campi.
alla fine attivo il comando requery del dbgrid precendente e
l'aggiornamento viene effettuato a video sul singolo Pc e non su sugli
altri. Solo aprendo la scheda del singolo record l'altro Pc visualizza
l'aggiornamento.
cosa posso fare?
Grazie
PFM
--
To reply please remove from e-mail 'xyz'- Per rispondere togliere 'xyz' dall'indirizzo e-mail.

>cosa posso fare?
Non penso ci sia molto da fare. Puoi mettere un pulsante aggiorna che fa requery su richiesta, oppure dovresti inventarti un metodo per avvisare gli altri client, ad esempio usando una tabella del tuo database apposta per scrivere un qualcosa che ti dica l'aggiornamento dei dati e da client fare un controllo ogni tanto. Non so se il gioco vale la candela.
Antonio

(soprattutto in conguzione con i controlli tipo DataGrid).
ciao antonio
aaaargh !!
io uso praticamente una dbgrid con ogni rs e stavo pensando di provare
ado... che problemi, se non e' troppo lunga ?
pal

>pal
Io ho avuto i seguenti problemi:
- notevolissime difficolta' a permettere di modificare colonne del DataGrid che sono legati a tabelle di lookup (es. tabelle di decodifica) risolto tramite suggerimento di Microsoft e comunque non in modo perfetto;
- impossibilita' di modificare su eventi del datagrid direttamente i campi del recordset (viene generato un errore, bug di ADO e DataGrid);
- qualsiasi errore fatto su Sql Server (inserisco una chiave doppia, ad esempio) ritorna come "Errors occured": pare che ci sia un fix di Microsoft non ancora pubblico; la sto richiedendo oggi.
Per il resto ADO e' molto veloce e per alcuni versi piu' semplice di DAO:
- non bisogna chiamare il metodo edit prima di modificare dei campi;
- dopo aver inserito un record il record corrente diventa quello appena inserito;
- i campi possono essere impostati a null;
- possibilita' di avere cursori lato server o lato client;
- possibilta' di fare un blocco di modifiche e di chiamae un'unica update (updatebatch) o annullare tutto senza l'uso delle transazioni;
Antonio

grazie, molto chiaro. sempre + simpatico che ms rilasci patch su richieste
ad personam. come dice roal, ma i prg li testano? non mi sembrano eventi
improbabili, da programmatore folle, anzi... tu ne sai parecchio... almeno
spero ti paghino un sacco di dolla'ri come btester...
ciao, a.
Antonio Donatiello <ant...@REMOVETHISgeminisoft.com> wrote

>ciao, a.
Non faccio il beta tester. Chiunque (o almeno chi ha pagato i prodotti) puo' richiedere queste fix che Microsoft rilascia avvertendo che si tratta di prodotti che non sono ancora rilasciati e che quindi non hanno ancora passato il "regression test".
Io lavoro in Sanpaolo Imi ed abbiamo un contratto Premier con Microsoft che ci da' tra le altre cose un canale privilegiato per il supporto.
Antonio Donatiello