[ miso.miso @ 11.06.2008. 22:27 ] @
| Pozdrav svima,
moj problem se sastoji u sledecem pravim bazu za pravljenje faktura. Imam polje vrsta racuna (predracun,racun,avansni racun) i imam polje broj racuna. Hteo bih da kad odaberem vrstu racuna u polje broj racuna doda sledeci broj za tu vrstu. Polje broj racuna i vrsta racuna su definisani kao integer.
|
[ Getsbi @ 12.06.2008. 06:05 ] @
U polje na formi koje je predviđeno za unos broja računa, klikni desnim tasterom, otvori Properties i u osobini Defult Value postavi sledeći izraz:
=Nz(DMax("[NazivKolone]";"NazivTabele");0)+1
Ovo isto možeš da uradiš na nviou tabele u njenom Design modu na kartici General. Koristi osobine Input Nask, Validation Rule i Validation Text, da bliže definišeš unose.
U principu ti odlučuješ ali je "čvršće" ako to uradiš na nivou tabele.
[ Leruman @ 12.06.2008. 07:30 ] @
Ideaja koju je Getsbi dao je odlicna ali niej odgovarajuća za ovaj slučaj. Miso.miso kze da mu treba poseban redni broj za svaki broj raćuna. Pretpostavljam da se svi računi smestaju u istu tabelu pa bi rešenej trebalo da bude ovako
=Nz(DMax("[NazivKolone]";"NazivTabele"; "[TipRacuna]" = From1!TipRacuna);0)+1
Ovo sigurno radi kada se postavi na polju u formi, nisam siguran da bi ovakav izraz radio u validation rule u okviru tabele zbog pozivanja na formu.
[ Miro35 @ 12.06.2008. 08:39 ] @
Evo primjer možda pmogne
[ Getsbi @ 12.06.2008. 08:45 ] @
@ leruman
U pravu si. Nisam baš savesno pročitao pitanje. To bi moglo da se postavi umesto u Default Value, na On Exit polja vrsta računa ili na On Enter polja broj računa.
Recimo ovako:
Me![NazivPoljeNaFormi] = Nz(DMax("[NazivKolone]","NazivTabele", "[TipRacuna]=Form.[TipRacuna]"),0)+1
EDIT: Ispravio sam sintaksu. Izvini za grešku.
[Ovu poruku je menjao Getsbi dana 13.06.2008. u 12:45 GMT+1]
[ Catch 22 @ 12.06.2008. 10:52 ] @
[ Getsbi @ 12.06.2008. 12:47 ] @
Linkovi kolege Catch 22 dodati u TOP temu "Često postavljana pitanja". Zahvaljujem na saradnji.
[ miso.miso @ 13.06.2008. 10:08 ] @
Prvo da se zahvalim svima koji su ucestvovali u raspravi.
pokusao sam da uradim ovu varijantu ali mi dodeljuje uvek broj racuna 1.
Me![NazivPoljeNaFormi] = Nz(DMax("[NazivKolone]";"NazivTabele"; "[TipRacuna]" = From1!TipRacuna);0)+1
ako moze malo da mi pojasnite cod.
U "Naziv kolone" je naziv polja u tabeli gde mi je broj racuna,
umesto onog From1.TipRacuna stavljam naziv forme.
Ovako to izgleda kod mene
Me.IF_BROJ = Nz(DMax("IF_BROJ", "IF", "IF_VRSTA" = Form_IF.IF_VRSTA), 0) + 1
[ Trtko @ 13.06.2008. 10:25 ] @
Me.IF_BROJ = Nz(DMax("IF_BROJ", "IF", "IF_VRSTA" = Form_IF.IF_VRSTA), 0) + 1
Me.IF_BROJ = Nz(DMax("IF_BROJ", "IF", "IF_VRSTA" = Form_IF!IF_VRSTA), 0) + 1
prvo točku makni, vrača ti 1 jel dmax vrati NULL a NZ ga onda pretvori u 0 i poveča zajedan
znači greška ti je u sintaksi
IF_VRSTA ti je u tabeli broj, ili string , ako je string onda moraš staviti navodnike, apostrofe
[ miso.miso @ 13.06.2008. 11:25 ] @
IF_VRSTA je broj, promenio sam "." u "!" ali opet isto radi dodeljuje broj 1
[ Getsbi @ 13.06.2008. 11:36 ] @
Ispravio sam sintaksu gore, a evo je i ovde.
Me![NazivPoljeNaFormi] = Nz(DMax("[NazivKolone]","NazivTabele", "[TipRacuna]=Form.[TipRacuna]"),0)+1
Obrati pažnju da je Form službena reč, a ne naziv tvoje forme i da smo ovde pričali o dve mogućnosti:
1. Dodeljivanje vrednosti osobini Defoult Value u prozoru Properties.
2. Dodeljivanje vrednosti kroz VBA kod u nekom do događaja.
[ miso.miso @ 13.06.2008. 12:33 ] @
sad radi, puno hvala
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|