Factuurnummer samenstellen met datum en autonummering

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • deefken
  • Registratie: Januari 2009
  • Laatst online: 10-02-2021
Beste,

Ik zit met volgend dringend probleem.

Ik heb een tabel Factuur met de velden Factuurnummer, Klantnummer, Factuurdatum, ...

Nu zou ik graag het Factuurnummer automatisch laten genereren. Dit door bv bij de 5de factuur van 2010 het nummer 10001 te verkrijgen waarbij 10 staat voor het jaartal (2010) en 001 het factuurnummer dat automatisch oploopt. Is dit makkelijk op te lossen op een of andere manier? Want ik zou dit dringend moeten kunnen maar ik geraak er niet wijs uit

Groeten,

Deefken

Acties:
  • 0 Henk 'm!

  • corneej
  • Registratie: April 2006
  • Laatst online: 25-06 10:56
Ten eerste met welke database taal ben je iets aan het maken?

SQL / MySQL / MS Access etc. etc.

Als je dat erbij zet dan kunnen we wat meer hulp bieden.

Acties:
  • 0 Henk 'm!

  • Mike78
  • Registratie: September 2000
  • Laatst online: 24-06 17:53

Mike78

Always

Let je er wel op dat je dan niet meer dan 999 facturen moet hebben per jaar anders begin je al met 11 in 2010

24 uur per dag, 24 biertjes in een krat. Toeval?


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Zet elk jaar de sequence even op een ander beginnummer en je bent klaar. Let verder op wat Mike78 zegt.

https://oneerlijkewoz.nl
Het ergste moet nog komen / Het leven is een straf / Een uitgestrekte kwelling van de wieg tot aan het graf


Acties:
  • 0 Henk 'm!

  • deefken
  • Registratie: Januari 2009
  • Laatst online: 10-02-2021
sorry dat ik dit inderdaad niet vermeld heb. Ik werk hier puur in MS Access dus ik hoop dat dit daarin simpel zal gaan :(

er zullen inderdaad niet meer dan 999 facturen per jaar zijn. Maar het grote probleem is dat ik dit factuurnummer gewoonweg niet gegenereerd krijg :( ik krijg de waarden van die 2 velden niet samen :( normaal is dit gewoon = Year([Factuurdatum]) & [ID] of zoiets maar dat ID gedeelte zou moeten automatisch oplopen en ik weet niet hoe ik dit kan doen :(

[ Voor 59% gewijzigd door deefken op 28-05-2010 14:51 ]


Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 23:11
Dit is dan wel PostGresql dus niet heel erg van toepassing voor jou, maar wellicht geeft het je wat inspiratie:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
CREATE OR REPLACE FUNCTION orderid_generate()
  RETURNS bigint AS
$BODY$
                DECLARE
                    p_orderprefix bigint;
                    p_ordercount bigint := 0;
                    p_orderid bigint;
                BEGIN
                    -- Generate the orderID yyyymm[id]
                    p_orderprefix = CAST( DATE_PART('year', CURRENT_DATE ) AS integer ) * 100 + CAST( DATE_PART('month', CURRENT_DATE ) AS bigint );
                    p_orderprefix = p_orderprefix * 10000;
                    
                    p_ordercount := MAX(id) FROM orders WHERE id > p_orderprefix;
                
                    IF p_ordercount = 0 OR p_ordercount IS NULL THEN
                        p_orderid := p_orderprefix + 1;
                    ELSE
                        p_orderid := p_ordercount + 1;
                    END IF;
                    
                    RETURN p_orderid;
                END;
                $BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 10;
ALTER FUNCTION orderid_generate() OWNER TO tioga;


De kolom id:
id bigint NOT NULL DEFAULT gws.orderid_generate(),

Ondersteund MS Access stored procedures?

[ Voor 4% gewijzigd door storeman op 28-05-2010 16:10 ]

"Chaos kan niet uit de hand lopen"

Pagina: 1