Newsgroup: it.comp.lang.visual-basic
Titolo: Evitare numerazioni doppie di documenti

Caro newsgroup,
sono arrivato a capolinea! Penso che tutti Voi abbiate avuto delle
difficoltà con la gestione della contemporaneità di inserimento dati in
rete. Io uso ADO ed ho il seguente problema. La mia tabella mdb è composta
da una chiave primaria e un campo numerico per il numero del documento.
Quando faccio un nuovo documento controllo l'ultimo numero di documento
esistente nella tabella e scrivo immediatamente aprendo un recordset e
usando addnew il mio numeretto e salvo con update. Se 2 utenti in rete fanno
quest'azione contemporaneamente ahime nella tabella viene scritto lo stesso
numero! Non posso neppure mettere delle chiavi su numero e id perche la
numerazione dipende anche dall'anno e dal tipo di documento.
Avete suggerimenti ???
Grazie

 ha scritto nel messaggio
news:N8kS7.300816$sq5.14...@news.infostrada.it...

Dimenticavo di dirvi che uso un recordset e non un comando perche ho bisogno
di sapere che chiave mi prende il record appena aggiungo per poi compilare
un'altra tabella.
Ciao

 Avete suggerimenti ???
io è questo che non capisco...che cavolo di numerazione è?
indipendentemente dal tipo dici che posso esistere nel tuo archivio 2
documenti con numerazione?
AB541 12/12/01 Cliente Pippo
AB541 12/12/01 Cliente Pippo
Si!... se sono di tipo diverso!...altrimenti prendi un Valium una bella
dormita e spiegaci le ragioni per cui va bene sto macello di
registrazione!(può darsi che ci sia una ragione!)
Allora hai un campo che ti dice il tipo
Campo Tipo= D doc trasporto F fatt Immediata FD fatt. differita etc etc
Allora avrai in struttura record
Datareg
NumeroProgressivo
TipoDoc
....
...
non sono candidati ad essere una buona chiave primaria?
a tal punto devi intercettare l'errore di violazione chiave primaria.
questo a livello base
altri soluzioni si complicano alquanto...per adesso prova così!
Non hai l'archivio strutturato così?...cazzi amari...come mai?
Pianificazione dell'analista errata? Ragioni profonde che non ci hai
spiegato? Capo che crede di essere bravo,troppo bravo,bravissimo?
:-)
PS
considera anche che se è una registrazione "SERIA" devi tenere conto di una
cosa
Datareg
NumeroProgressivo
TipoDoc
non è detto siano i dati del documento
perchè io oggi posso (anzi è la normalità) registrare le fatture di tutto il
mese
quindi ci sarà
DataDoc
ProgressivoDoc
etc etc
Sul progressivoDoc che in realtà è il NumeroProgressivo della chiave ...se
vuoi fare un lavoro professionale devi controllare anche le date .
Perchè non puoi far inserire un movimento con progressivo corretto e data
retrodatata
quindi se
AB512 12/10/01
AB513 10/12/01 per me è una procedura da impedire (almeno secondo il mio
commercialista....poi se devon far altro...vedi te)

"Wodka4U" <marc_cHa_o@mar_Xp_tek.it> ha scritto nel messaggio
news:hykS7.5437$OP2.1...@news2.tin.it...

I campi che dovrei impostare come chiave primaria sarebbero (Già esistono):
Anno
Tipo Documento
Numero
Un ulteriore problema è che i tipi di documento DDT e DDT RESO oppure
FATTURE ITALIA E FATTURE ESTERO possono avere la stessa numerazione
Allora dovrei aggiungere un ulteriore campo
Tipo doc numerazione
ed impostare la chiave su
Anno
Tipo doc numerazione
Numero
Correggimi se sbaglio.
Grazie
Ciao
Ps: Il capo sono io :)

 Ps: Il capo sono io :)
Anch'io son capo di me!
:-)
Bye!

 ergo
CUT
il freddo scusa
A meno che ...tu non abbia impostato tutti i campi a "consenti
doppioni"...ma non sarebbe più una primary key! Sarebbe un indice qualsiasi!
ergo

"Wodka4U" <marc_cHa_o@mar_Xp_tek.it> ha scritto nel messaggio
news:M6lS7.5534$OP2.1...@news2.tin.it...

Non mi sono spiegato bene in 2 punti:
Tabella 1: ( Testata del documento)
    IdTabella1 (Contatore)
    Tipo Doc
    Anno
    Numero
    Data
    .....
Tabella 2
    Idtabella2
    Idtabella1 (Campo di collegamento delle 2 tabelle)
    Articolo
    Quantità
    .....
Non possono esistere
    B1 numero 1
e
    B2 numero 1
Sono 2 bolle e utilizzano una numerazione unica!
Avro
B1 1
B3 2
B1 3
B1 4
B2 5
B3 6
...
la numerazione è sempre progressiva
Quindi non posso aggiungere tipo doc come chiave
D'altre parte dovrei creare un campo dove gli indico un valore da cui capire
la numerazione perchè nella stessa tabella posso anche avere
F1 1
F2 2
F1 3
F2 4
con una numerazione per conto loro perche sono fatture
Ciao e grazie comunque

 ha scritto nel messaggio
news:IjlS7.301182$sq5.14...@news.infostrada.it...
anche se non la meriteresti perchč una regola del ng č un quoting giusto ti
ho mandato posta .....altro non ti dico!