Newsgroup: it.comp.lang.visual-basic
Titolo: incici in access 2000

Salve,
spero che qualcuno possa risolvere il mio problema, che forse sarà anche
banale..
Ho sviluppato un codice che genera delle ricevute per una biglietteria, nel
database access ho impostato nella tabella un campo chiamato idricevuto che
è un contatore automatico, fin'ora tutto è andato bene, finche mi è saltata
in mente l'idea che volessi cancellare l'ultima ricevuta perchè sbagliata.
Il record viene cancellato senza problemi, ma come faccio a riportare
l'indice automatico indietro???
Le ho provate tutte , ma è un limite per me...
Grazie in anticipo per chi mi aiuta..
SAluti
MG

 l'indice automatico indietro???
Che io sappia, non si puo'!
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 ha scritto nel messaggio
news:av4dr1$c0n0e$1...@ID-97197.news.dfncis.de...


"hostmaster"  ha scritto:.

Non rispondo nello specifico alla tua domanda per quanto riguarda access.
Però la logica delle tua procedura non mi sembra corretta perchè, anche
qualora tu possa risolvere nel caso specifico, costituisce sempre un limite
per eventuali modifiche future.
Mi sembrerebbe più logico aggiungere un campo numerico, gestito da programma
con un incremento calcolato, nella tabella delle ricevute.
A questo campo potresti associare un index.
Potresti poii aggiungere una tabella a parte con un unico record dove
memorizzare il numero dell'ultima ricevuta emessa.
Ciao, Sauro

 
Su un NG di access ho trovato questa sintassi:
ALTER TABLE test ALTER COLUMN IDtabella COUNTER (2000,50)
Con un db access 97 non funziona pero' ...


 qualcunmo mi ha parlato di alterazione dell'indice, ne sapete qualcosa???
salve,
non so a cosa si riferisca, in quanto la proprieta' autoincrement e'
relativa ad un campo e non ad un indice.... un'alternativa e' fare un
compact del database, che riposiziona l'autoincremento sull'ultimo numero
esistente..... sicuramente non e' un'opzione perseguibile se vuoi cancellare
ricevute precedenti all'ultima ovvero se il DB serve piu' client ed uno
degli altri ti si accoda... e comunque devi mettere il db fuori linea per
compattarlo.... il campo autoincrement purtroppo non e' fatto per queste
cose....
saluti
Andrea Montanari
montanar...@virgilio.it
http://www.asql.biz/DbaMgr.shtm
DbaMgr2k ver 0.2.0  -  DbaMgr ver 0.48.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply

 qualcunmo mi ha parlato di alterazione dell'indice, ne sapete qualcosa???
salve,


 qualcunmo mi ha parlato di alterazione dell'indice, ne sapete qualcosa???
salve,


ooopppsss..
scusate, problemi con Outlook


 ha scritto nel messaggio
news:av4eqc$bo3gt$1...@ID-97197.news.dfncis.de...


 ha scritto nel messaggio
news:9%iR9.75998$Ou4.2...@twister2.libero.it...


 
Immagino siano valore iniziale e incremento ... La guida dovresti averla 
anche tu!
ciao
	maxx
P.S. Quota un po' meglio, please!


 ha scritto nel messaggio
news:av4fv3$bv6cs$2...@ID-97197.news.dfncis.de...


 non so cosa intendi per quota....
http://www.cumulidineve.it/GDR/Faq/Quote_IHGGD_1.1.html
ciao
	maxx


L'unico modo per far ripartire l'indice dei contatori dovrebbe essere quello
di compattare il database,
ma è una pezza non una soluzione!!
Anche perchè poi l'anno prossimo quando riparte la numerazione cosa fai?
Ciao
Andrea

 e le modifiche al DB debbono essere prossime allo zero come faresti??
...mi turerei il naso e comincerei a pensare che sono nella merda fino al
collo!!!!!
Poi mi dispererei...
Poi mi darei di bischero.....
e poi troverei una soluzione....
Premesso che:
Hai fatto il passo più lungo della gamba!
Hai progettato una cosa facendo male l'analisi!...non ci si accorge dopo
"caz e se sbaglio a fare una ricevuta???"
e l'hai implementata ancora peggio!
Hai messo un contatore autoicrementante...
Soluzioni?...
per fortuna qualcuna (se te le dico vuol dire che ci son passato anche io
no?)...
per l'exe non c'è problema...puoi cambiare la logica e far passare la
sostituzione dell'exe ....come "potenziamento della versione"....
Il database....
beh c'è san SQL che ci vien in aiuto....
DA SQL...non mi chiedere come...è un ottimo esercizio per crescere ed
imparare......
a) Creati una tabella : CloneDati (ad esempio) esattamente uguale a quella
che contiene i dati della tabella da modificare
b) Cancella la tabella vecchia e ricreala con il campo contatore NON settato
a contatore ma a INTERO LUNGO!!!!!
b-bis) in alternativa a cancellarla e rifarla....considera di usare ALTER
TABLE....
c) A questo punto hai la tua tabella originaria che ha il campo contatore
sostituito da uno a INTERO LUNGO...però è vuota...oh beh!
e la tabella clone che ci sta a fare?????
Copia tutti i dati di quella nella tua.....siccome un campo contatore è un
intero lungo...niente si arrabbia!!!!
d) Cosa hai alla fine?...hai i dati del cliente  perfettamente funzionanti
ma adesso hai un campo contatore autoincrementante sostituito da un campo
...intero lungo....che finalmente puoi gestire come ti hanno detto!!!!
e) Dopo una sosta al bagno! e casomai un ringraziamento al wodkino che ti ha
salvato il culetto ( e come a me lo salvò Diego a suo
tempo!!!)...considererai questa come una brutta esperienza che ti insegnerà
a fare meglio l'analisi e a non fidarsi delle scorciatoie dei contatori!!!!!
f) Un altro semino.....occhio che un po di casino...sopratutto se invece di
Access vuoi usrae altri DB son le date!!!!....anche li non ti fidare !!!
Bye man!!!!

 ha scritto nel messaggio
news:4hFR9.72462$R45.3...@news2.tin.it...
ti precedo prima che tu chieda:
per fare tutti 'sti passaggi
Una form con un textbox
e un po di codice che faccia una
EXECUTE (c'è in ADO e in DAO)
...la piazzi in un menu...tools...ci metti una password...e la gestisci tu
quando vai a fare manutenzione dal cliente....è comodissima!!!
Metti che il cliente fre 3 mesi ti chieda di aggiungere un campo...sugli
archivi carichi!