• 8 odgovora
  • 3.300 pregleda
Automatska dodjela broja 01.03.2010. u 02:26 · pre 202 meseci #1
Znam da je ovih tema bilo dosta i pregeledao sam ih mnogo ali nisam uspio rijesiti problem

trebam dodjeliti novi broj naloga i desava se ovo
****************
Code:
Function BrNaloga() As Long
Dim lngBroj As Long
lngBroj = 1 + Nz(DMax("txtBrNaloga", "tblNalog"), 0)
BrNaloga = lngBroj
End Function

*******************
ovu funkciju pozivam na OnClick
otvara se novi record i dobivam novi broj
radilo je do broja 10
kada sam pokusao dodati nalog broj 11 , dobijam ponovo broj 10 ,

Sa ovim dobijam isto samo je druga maska
************************
Code:
If IsNull(DLookup("txtBrNaloga", "tblNalog")) Then
Me.txtBrNaloga = Format$("1", "000000")
Else
Me.txtBrNaloga = Format$((DMax("txtBrNaloga", "tblNalog")) + 1, "000000")
End If

*************************

ovo takodje daje isto
*********************
=Nz(DMax("[txtBrNaloga]";"tblNalog");0)+1
*********************

jos jedna stvar , na formi imam list box sa spiskom naloga ,
uopste ih nemogu sortirati
reda ih
1
10
11
12
2
3
...
9

gdje grijesim ?

mozda tip polja ili ???

[Ovu poruku je menjao n3mir dana 01.03.2010. u 05:21 GMT+1]
Re: Automatska dodjela broja 01.03.2010. u 06:01 · pre 202 meseci #2
Da problem ti je u tipu polja.
Sigurno ti je u tablici polje brnaloga tekstualno

Zbog toga bi morao upisivat u tablicu sa FORMAT

txtBrNaloga = Format(brnalogasaforme, "000")

onda bi ti sve normalno radilo , pa bi u tablici imao upisano

001
002
003
....
010
011

...itd
Re: Automatska dodjela broja 01.03.2010. u 12:19 · pre 202 meseci #3
da polje je tekstualno

formatirao sam polje na "0000"
ali opet mi prilikom dodavanja novog broja koji je veci od "10" , vrati vrijednost na "10"

skinuo sam jedan primjer odavde i takodje je postavljeno "txt" polje i kod njega radi samo dodavanje do "10"

zamjenio sam svoje TXT poje u Number , i sve radi kako valja , ali me zanima sto nece raditi na TXT
Re: Automatska dodjela broja 01.03.2010. u 14:25 · pre 202 meseci #4
Pa ti si postavio to polje da je textualno a hoces da se ponasa kao broj. Posto je textualno on brojeve redja 1, 11, 111.... pa tek onda 2. Tako i u tvom slucaju 9 je vece od 10 i uvek 9 + 1 = 10. Kod dodele broja iskonvertuj taj broj u integer i onda max od toga. npr max(convert(int, textualnopolje). Tako ce da radi.
Al ovo sve ako se broj ne menja rukom. Ako bilo kom polju upises neki karakter a da nije broj, pucace...
Re: Automatska dodjela broja 01.03.2010. u 20:11 · pre 202 meseci #6
hvala ljudi

pokusacu sa konvertovanjem , cisto da probam
a i primjer iz stipendije takodje

a sada sam rijesio tako sto sam zamjenio polja TXT --> NUMBER ( nece smetati )


pozdrav

[Ovu poruku je menjao n3mir dana 01.03.2010. u 21:26 GMT+1]
Re: Automatska dodjela broja 01.03.2010. u 21:34 · pre 202 meseci #7
U svakom slucaju posto ti taj broj uvek koristis kao integer, naravno da ce raditi i da ti je to najjednostavnije resenje.
Re: Automatska dodjela broja 22.03.2010. u 09:42 · pre 201 meseci #9
Funkciju ' 1 + Nz(DMax("txtBrNaloga", "tblNalog"), 0) ' postavi na Default value svog polja i ona ce raditi. Osim ako ti nije bas potreban kod. Inace mora biti tip Number
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme