Newsgroup: it.comp.appl.access
Titolo: campo contatore e funzione dcount

Desidero porre un quesito a quanti hanno già affrontato il problema di
sviluppare un applicazione da porre su un server di rete per l'utilizzo di +
utenti.
Pongo ad esempio il classico applicativo di gestione ordini diviso in FE e
BE.
Come identificativo di ciascun ordine ho posto un campo contatore per essere
sicuro che non vengano prodotti da utenti diversi ed a loro insaputa ordini
con lo stesso identificativo. Può però accadere che un ordine, per scelta
dell'utente, non venga salvato per cui il campo contatore non viene
impiegato determinando un "buco" nella progressione naturale degli
identificativi degli ordini. Ammesso che questo possa essere un problema, la
soluzione potrebbe essere di utilizzare la funzione dcount per far eseguire
all'applicazione un conteggio degli ordini ed assegnare il numero successivo
al nuovo ordine. Il mio dubbio è però che non è possibile a priori escludere
la possibilità che 2 utenti, allo stesso tempo, eseguino la stessa
operazione (all'apertura del nuovo record o in fase di relativo salvataggio)
o che a causa del traffico di rete pervenghino allo stesso risultato per cui
erroneamente possano impiegare lo stesso numero. Vi chiedo se il quesito sia
stato oggetto di vs. analisi e le relative conclusioni.
Grazie, max.

 al nuovo ordine.
Se stai usando un contatore, assegnerà comunque lui il valore e tu con la
dlookup non ci puoi fare nulla.
Antonio

 ha scritto nel messaggio
news:EhCX7.2039$%B.8...@twister2.libero.it...

Questo è vero ma la domanda che pongo è se esista una soluzione alternativa
al campo contatore, già impiegata in un applicazione FE + BE posta su server
per l'impiego contemporaneo di + utenti, che non incorra nei problemi posti
a quesito del messaggio.
Ciao, max.

 a quesito del messaggio.
Capito, e allora penso tu abbia ragione. A questo punto la soluzione
potrebbe essere quella di recuperare il max dei contatori solo nel momento
di salvare il record mediante codice opportuno. La probabilità che si
eseguano contemporaneamnte due Dmax è nulla.
Antonio


wrote:

personalmente provvedo a registrare il record al momento della sua
creazione. qunidi al limite mi da messaggio di errore se qualcun altro
lo ha creato con lo stesso numero nello stesso intervallo e lo faccio
ricreare con il numero successivo.
non molto elegante ma funziona.
Saluti.
Emanuele.


Va bene se non utilizzi record di dettaglio al di sotto
del pardre, in questo caso nn serve il codice di aggancio padre figlio.
Nel caso pero' che cio' ti serva, devi per forza utilizzare il codice padre
a priori. A questo punto puo' sorgere il problema che l'utente non voglia
confermare la registrazione, quindi l'unica soluzione per me
e' quella di prendere un progressivo al momento dell'inserimento,
e recuperarlo nel caso si annulli l'inserimento.
In questo modo non hai buchi nella progressione, e dovresi essere sicuro
anche che nessuno utilizzi due volte lo stesso numero.
Unica condizione incerta potrebbe essere quella che si crea la momento di
attingere
alla tabella dei progressivi dove vai a sommare uno al numero, ma si
potrebbe risolvere
creando leggendo e bloccando il record solo per il tempo necessario
all'aggiornamento del progressivo.
That is .
bye :o)