Gestire i numeri di fattura incrementali su ACCESS

mercoledì 06 luglio 2011 - 17.55
Tag Elenco Tags  Access (.mdb)

86Marco Profilo | Expert

Salve,
ho creato un piccola applicazione per le creazione di preventivi e relative fatture.

Nella tabella fatture ho un idfattura (contatore) che dovrebbe identificarmi il numero di fattura quando compilo la maschera fatture.
Mi rendo conto però che questo sistema è poco adatto a registrarmi il numero di fattura visto che io posso cominciare a scrivere una fattura, poi ripensarci e non emetterla più, ma cmq il numero di idfattura viene cmq generato e non può essere modifcato.

Voi come agireste per ovviare a questo problema???

Vi prego aiutatemi.
Grazie!!

Cteniza Profilo | Guru

Devi mettere un altro campo.
Non puoi utilizzare un campo contatore.
Uno è l'id del record "fatture", l'altro che devi gestire è invece un numero progressivo che non ammette nè doppioni nè salti di numerazione.

86Marco Profilo | Expert

Si questo lo so :)
il mio problema non è logico ma pratico.

COme si struttura praticamente?

Spero potrai aiutarmi
ciao

Cteniza Profilo | Guru

Devi trovare un punto di non ritorno, sicuramente NON può essere fintanto che chi opera può abbandonare / cancellare / modificare.
Io metterei un bottone a parte "stampa fattura" che mi presenta il numero e la data da attribuire, l'operatore può impostare un proprio numero.
E' ovvio che va pensato anche ad un report che evidenzi i protocolli con problemi

86Marco Profilo | Expert

Ci sono diverse maniere!!!

Spero che qualcuno qui riesca ad aiutarmiiiii!!
Grazie per lo stesso a te ;)

dinoxet Profilo | Senior Member

SALVE
IO FAREI NEL SEGUENTE MODO :
UNA TABELLA CONTATORI CONTENENTE CAMPI NUMERICI NO CONTATORI (NUMFAT, NUMDDT, NUMORD...)
NELLA MASCHERA DI COMPILAZIONE DELLA FATTURA FAREI UN BOTTONE CHE FA :
MAX(NUMFAT)+1 CHE VERRA' SCRITTO NEL RECORD DELLA FATTURA
MAX(NUMFAT)+1 CHE VERRA' SOVRASCRITTO NEL RECORD CONTATORI
ANTEPRIMA REPORT FATTURA


DINOXET
__________________________________________
impossible is only a word

86Marco Profilo | Expert

ok.. e come si potrebbe gestire invece la numerazione automatica progressiva che cambia ogni anno???

Grazie :)

dinoxet Profilo | Senior Member

quando scrivi il numero fatture componi una srtinga
es.

year(now) & "/" & (max(contatore)+1)

è un'idea


DINOXET
__________________________________________
impossible is only a word

Cteniza Profilo | Guru

La gestione dei numeratori è una gestione complessa.
La prima cosa che ti consiglio è di passare dal sempice numero seriale a una tabella con i campi:
codice serie (pk1)
Data inizio (pk2)
Prefisso (testo)
Ultimo numero utilizzato

Ti fai una query di solo inserimento a cui passi
"codice serie"
"data inizio" (mettendo il primo giorno dell'anno)
questa va sulla tabella, la varia aggiungendo all'ultimo numero utilizzato e ti restituisce una stringa composta da prefisso + format(ultimo numero utilizzato - con quanti caratteri ti interessa)

86Marco Profilo | Expert

SI bhe e in questa maniera come si fa a far in modo che la numerazione riprenda da 1 a inzio anno?

86Marco Profilo | Expert

Ciao.
E questo gestirebbe la numerazione progressiva e che cominci da 1 ad ogni inzio anno???

Cteniza Profilo | Guru

Esattamente, ti ritroverai una tabella con tante righe una per anno / serie.
Se preferisci puoi mettere un campo numerico "anno" come chiave.

86Marco Profilo | Expert

Citeniza, credo sia molto utile il tuo modo di procedere... ma non è che riusciresti a farmi un file di esempio? o ti kiedo trp??
Non sono esperto come te :) la logca me l'hai fatta capire ma praticamente la musica è un'altra :D

GRAZIE CMQ!!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5