Newsgroup: it.comp.appl.access
Titolo: Quesiti su programma fatturazione

Per lo sviluppo di un programma di fatturazione ho sempre una serie di
problematiche:
1) la numerazione della fattura di solito imposto un Dmax(...) + 1,
però se il database è condiviso ed l'utente attuale annulla la
fattura attuale, mentre un altro utente ne crea una nuova si potrebbe
verificare una situazione del genere:
Utente1 crea fattura n. 10; utente2 crea fattura n. 11; mentre utente1
crea la fattura per cause ora sconosciute annulla l'emissione della
fattura, quindi si verrebbe a creare una situazione: fattura n.
1-2-3-4-5-6-7-8-9-11 con buco n. 10. Ho creato una procedura di
controllo nel momentoin cui salvo la fattura di controllare che il
Dmax(...) + 1 corrisponda alla fattura attuale e successivamente la
salvo (certo ci può sempre essere quel secondo maledetto che
contemporaneamente due o più utenti salvano o annullano la fattura.
Qualcuno sa darmi un consiglio? Grazie.
2) Altro problema normalmente io creo due tabella una riguarda la testa
e la coda della fattura ed una il corpo. Se collego la form con la
tabella relativo a testa e coda e la sottomaschera con la tabella corpo
con il collegamento numFattura, tutto ok ad eccezione che se uno
volesse annullare i dati di una fattura che sta modificando dovrebbe
ricordare i dati della vecchia fattura o è possibile annullare
l'immissione?
In altri casi, come di solito faccio, non collego mai le basi dati, ci
scrivo solo quando mi servono e recupero i dati e li immetto nella form
senza nessun collegamento con tabelle ad eccezione chiaramente di viste
a sola lettura. Qualcuno mi sa dare un consiglio anche su questo?
Mi scuso di essere stato un pò prolisso.
Grazie
Giuseppe

 a sola lettura. Qualcuno mi sa dare un consiglio anche su questo?
Praticamente vuoi vivere in un mondo disconnesso.
Sarai sempre ad aprire e chiudere connessioni.
Non è un modo di lavorare che condivido.
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype: pbsoftsolution

per il 2° probelma intendo questo:
Trovo una determinata fattura, e viene visualizzata, diciamo che
modifico il tipo di pagamento o cmunque qualsiasi altro dato, se mi
accorgo che non dovevo fare nessuna modifica o comunque non era la
fattura corretta da modificare (per assurdo) è possibile ritornare
alla situazione ante modifica?
Per quanto riguarda le relazioni, sinceramente le uso pochissimo
(sicuramente sbaglio) perchè mi vado fare i tutti i controlli sulle
tabelle incrociate.
Sicuramente è più comodo lavorare con le form e la tabella collegata,
però come faccio a risolvere il problema del punto 2).
Grazie
Giuseppe

1) la numerazione della fattura di solito imposto un Dmax(...) + 1,
però se il database è condiviso ed l'utente attuale annulla la
fattura attuale, mentre un altro utente ne crea una nuova si potrebbe
verificare una situazione del genere:
Utente1 crea fattura n. 10; utente2 crea fattura n. 11; mentre utente1
crea la fattura per cause ora sconosciute annulla l'emissione della
fattura, quindi si verrebbe a creare una situazione: fattura n.
1-2-3-4-5-6-7-8-9-11 con buco n. 10. Ho creato una procedura di
controllo nel momentoin cui salvo la fattura di controllare che il
Dmax(...) + 1 corrisponda alla fattura attuale e successivamente la
salvo (certo ci può sempre essere quel secondo maledetto che
contemporaneamente due o più utenti salvano o annullano la fattura.
Qualcuno sa darmi un consiglio? Grazie.
----------------------
Quanto sopra esposto è corretto. In via di principio il miglior
modo di affrontare un problema è quello di eluderlo.
Per quanto raro possa essere, non è da escludere che
due operatori stiamo creando le proprie fatture
nello stesso secondo.
Personalmente ho affrontato la questione come segue.
Non consento di annullare alcuna fattura.
Una volta generato il progressivo della fattura già la
salvo quando questa è ancora vuota.
L'utente viene comuque preventivamente avvisato della
irreversibilità dell'operazione.
Quindi prima di fatturare sa che non potrà annullare.
Tuttavia, nei casi necessari, è possibile cancellare
un fattura. Ma solo se questa è ancora l'ultima.
E solo se nel mentre (stesso secondo) nessun
altra fattura è stata accodata.
Mi rendo conto che non è la risposta che
intendevi ricevere, ma annullare una fattura,
specie in rete, è piuttosto fastidioso.
Non tanto per le conseguenze previste,
ma per le conseguenze sconosciute.
-------------------------
2) Altro problema normalmente io creo due tabella una riguarda la testa
e la coda della fattura ed una il corpo. Se collego la form con la
tabella relativo a testa e coda e la sottomaschera con la tabella corpo
con il collegamento numFattura, tutto ok ad eccezione che se uno
volesse annullare i dati di una fattura che sta modificando dovrebbe
ricordare i dati della vecchia fattura o è possibile annullare
l'immissione?
---------------------
Non vorrei aver capito male. In alcuni
casi può essere comodo usare il tasto ESC.
Premuto uno o due volte, a secondo cosa
si intende ripristinare, se il campo o il record.
---------------------
In altri casi, come di solito faccio, non collego mai le basi dati, ci
scrivo solo quando mi servono e recupero i dati e li immetto nella form
senza nessun collegamento con tabelle ad eccezione chiaramente di viste
a sola lettura. Qualcuno mi sa dare un consiglio anche su questo?
-----------------------
Vi sono pro e contro. Usavo questa tecnica
quando lavoravo in Clipper. E' un metodo
ottimo e sicuro. Con Access ho perso
molte buone abitudini, ma ne ho acquisite
altre... ma questo è un altro argomento.
Cordiali saluti.
Michele
-----------------------

 Sicuramente è più comodo lavorare con le form e la tabella collegata,
Più che comodo, direi che per Access quella è la normalità.


Grazie per tutto, so che è un problema ma vedrò come risolverlo.
Ho fatto molti anni fa un corso in cobol, ma sinceramente sarà anche
un ottimo linguaggio ma c'e' veramente da scrivere tanto, non ne vale
la pena per piccoli programmi gestionali.
Vedrò se utilizzare la tabella collegata o no, mi faccio un'analisi
anche in considerazione delle vostre risposte.
Grazie nuovamente
Ciao Giuseppe

 Non è un modo di lavorare che condivido.
E allora scordati 
VS.NET
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 E allora scordati 
VS.NET
Calma. Io se vuoi mi metto a studiare anche .NET, ma non venirmi a dire che 
il modello di accesso ai dati è paragonabile al Cobol!!!!
In 
ADO.NET
 il concetto di dati disconnessi è fondamentale, ma per il programmatore 
non ci sono problemi in tal senso.
Si crea una BindingSource e pensa a tutto lei.
A quel punto, anche se quella BindingSource apre e chiude cento connessioni 
in un minuto, non sono problemi che devo gestire io :-)


 in un minuto, non sono problemi che devo gestire io :-)
E' chi l'ha inventata questa modalità di accesso??? Pilato!?


> E' chi l'ha inventata questa modalitą di accesso??? Pilato!?
.....nel senso che "me ne lavo le mani" ?
