Access: zaporedno številčenje v poročilu

Gospod Janez nas je poklical za manjšo pomoč pri pripravi poročila v programu Access. Vedel je, da rešitev njegovega problema obstaja, nekoč jo je že poznal, vendar je nekaj časa ni uporabljal, zato je potreboval 'osvežitev spomina'. Mogoče pride prav še komu?

Kako izpišemo zaporedne številke postavk v Accessovem poročilu?

  1. Odprimo obstoječe poročilo v načrtovalnem pogledu.
  2. V odseku Podrobnosti (Detail) ustvarimo prostor za zaporedno številko.
  3. Na tem mestu ustvarimo novo polje (textbox), oznako (label) lahko pobrišemo.
  4. V polje vpišemo =1.
  5. V lastnostih (Properties) izberemo v polju Delne vsote (Running Sum) možnost Čez vse (Over All).


Tečaj Access osnovni

Nadgradimo znanje...

Zgornji trik je bil objavljen tudi v naših eNovicah in nanj se je odzval G. Dušan s spodnjim odgovorom:

"Mogoče pride pri Accessu komu prav še tole, kako narediti zaporedno številčenje v Query-ju, če ga nimaš v osnovni tabeli. Narediš modul:

Global IncrementVariable As Long
Global IncrementVariableLoop As Long

Function IncrementValues(i, s) As Long
If IncrementVariableLoop < 2 Then
IncrementVariable = s
IncrementVariableLoop = 2
End If
IncrementVariable = IncrementVariable + 1
IncrementValues = IncrementVariable
End Function

Function ResetLoop()
IncrementVariableLoop = 1
End Function

In v poizvedbo vključiš Polje: IncrementValues(i, s)

Mogoče pride kdaj prav predavateljem Accessa. :-)"

Hvala, g. Dušan!

Ocenite prispevek: Oceni z oceno 1 Oceni z oceno 2 Oceni z oceno 3 Oceni z oceno 4 Oceni z oceno 5
Povprečna ocena 4 uporabnikov je 5.
Pošljite komentar
Ime:
Email:
Poklic:
Vsebina:
Pogoji uporabe
Vaših povratnih informacij in vsebinskih vprašanj smo izredno veseli. Želimo si, da so objavljeni komentarji konstruktivni. Zato bomo vse komentarje, ki bodo vsebovali žaljivo vsebino, kletvice ali spodbujali nestrpnost in nasilje oz. ne bodo imeli vsebinske povezave z objavljenim prispevkom, primorani odstraniti.

V primeru žaljivih in neprimernih komentarjev si pridržujemo pravico, da zabeležimo IP naslov uporabnika.
20.10.2009 ob 19:50 | Dušan
Dave, hvala za komentar... res je, da nisem delal veliko testov in da je pogojno. :-) Aplikativno je bilo uporabljeno v zelo specifični situaciji. Naročnik je želel poizvedbo, ki naj eksportira podatke v txt datoteko (torej ne report). Lahko bi naredil to v c#-u, kjer je celotna aplikacija, ampak spet ne, ker je naročnik obvladal Access in želel imeti kontrolo nad polji, ki bodo šla v export. Sure. :-) Za uporabo je bil uporabljen dejansko makro, ki je najprej zagnal reset. Še en pomemben point => naročnik je želel začetno številko sam nastaviti, ker je šlo za zaporedje računov v drugem programu, tukaj pa za periodično izdelavo teh računov. Tako da avtomatsko številčenje glede na število zapisov spet ni bilo ustrezno. Torej, vnos zadnje številke je recimo 1786 in od tam naprej zaporedno številčenje. No, možnih izvedb je seveda še nekaj, ampak ta je bila najhitrejša v tem primeru. :-)
19.10.2009 ob 16:24 | Dave
Zanimivo... čeprav zadeva sicer deluje le pogojno ;) 1. Če v poizvedbo vključiš le Polje: IncrementValues(i, s), potem se bodo izpisale le iste številke namesto zaporednih. Namesto i, ki služi kot element, ki zbudi funkcijo pri vsakem zapisu, je treba vpisati poljubno od polj, ki nastopajo v poizvedbi in se po možnosti ne ponavljajo. Kot s pa je verjetno mišljena začetna pozicija števca, kar pa ne deluje (glej točko 2). Primer vključitve v poizvedbo bi torej bil Polje: IncrementValues([id], 1) ali Polje: IncrementValues([emso], 1) 2. Function ResetLoop ne moreš poklicati iz poizvedbe ali funkcije IncrementValues, ampak le preko nekega drugega elementa, npr. gumba na formi. Posledica tega je, da če svojo poizvedbo večkrat zaženeš, se ta pri zaporednih številkah ne resetira. Sicer pa, kaj je namen številčenja zapisov v poizvedbi? Čim jih želiš spraviti na papir, gre to preko poročila. Če želiš videti, koliko je najdenih zapisov, je to tudi navedeno na dnu vsake poizvedbe. ??
Želite prejemati brezplačne računalniške trike in novice? Vpišite svoj elektronski naslov:
Ob prijavi boste prejeli tudi e-priročnik računalniških trikov na svoj elektronski naslov.
> Zakladnica trikov
  
B2 d.o.o., Tržaška 42, 1000 Ljubljana, T: 01 2444 202, M: info@b2.eu
B2 Facebook e-učenje