simo27 ha scritto:
Grazie capito !!
Scusa, ma non funziona così.
Prima di tutto è
assolutamente sbagliato usare la coppia di campi
NumeroFattura + IDFornitore come chiave PK.
I motivi sono due:
1. ogni anno la numerazione dei documenti riparte da 1
per cui come dici tu rischi (e prima o poi accadrà, per la nota Legge di Murphy) di doverti trovare nella situazione in cui devi registrare lo stesso NumeroFattura+IDFornitore, anche in un successivo anno. Se le imposti come PK non potrai farlo!
2. le numerazioni delle fatture prevedono anche delle sotto-numerazioni: /bis, /ter, ... /A, /B/, ... e così via, per il semplice fatto che può accadere (e accade!) che si debba 'infilare' una fattura in una certa data (vuoi per errori vari, vuoi per dimenticanza, etc.) quindi non potendo modificare la numerazione principale si usa la sotto-numerazione.
Ad esempio, supponendo di avere già emesso queste due fatture:
- fatt nr. 10 del 13/02/2015
- fatt. nr 11 del 14/02/2015
e poi si debba
infilarne una nuova sempre in data 13/02/2015, questa fattura dovrà avere una sotto-numerazione, esempio:
- fatt nr.
10/bis del 13/02/2015
La chiave primaria va solo semplicemente impostata sull'
IDFattura.
In definitiva, la tua preoccupazione è solo un finto problema, dato che
OGNI fattura che emetti deve avere il proprio numero progressivo univoco, ed è solo di questo che ti devi preoccupare.
una semplice condizione
SELECT Max(NumeroFattura) + 1
FROM Fatture
WHERE AnnoContabile = <AnnoRiferimento>
in cui <AnnoRiferimento> è l'anno della gestione contabile per il quale deve essere emessa la fattura.