Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prazni redovi do kraja strane

[es] :: Access :: Prazni redovi do kraja strane

[ Pregleda: 2093 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tihomirpopovic
Tihomir Popovic
Cacak

Član broj: 55156
Poruke: 24
*.eunet.yu.



Profil

icon Prazni redovi do kraja strane08.04.2008. u 10:20 - pre 195 meseci
Pozdrav
a kao po običaju ovde se svi javljaju kada im je muka i nevolja pa im trba pomoć (pa i ja)

Potreba je da report MORA !!! (ne pitajte za razlog - traži zakon i korisnik) mora da ima popunjene prazne redove (sa praznim poljima do kraja tekuće strane). To znači da ako na strani staje 10 redova a report ima 14 record-a da cemo imati 1 punu stranu ispisanu sa prvih deset record-a i drugu stranu ispisanu sa 4 record-a a preostalih 6 MORA biti prazno do dna stranice (uokvirena prazna polja...).

Nadam se da ste razumeli a i da ste imali ovakve zahteve!!?
 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.rs.



+8 Profil

icon Re: Prazni redovi do kraja strane08.04.2008. u 15:25 - pre 195 meseci
Da bi to uspeo, potrebno ti je nekoliko stvari. Konačne zbirove treba da prikažeš u Page Footer. Recimo da se taj textbox u PageFooteru zove PZbir. Trebaju ti još tri textboxa. Prvi neka se recimo zove RZbir i neka se nalazi skriven u Report Footeru pošto se u Page Footeru ne mogu sprovoditi računske operacije.
Kao ControlSource za RZbir navedi =Sum(Iznos), a kao ControlSource za PZbir: =RZbir.
Ostala dva TextBoxa mogu se zvati PageCounter i TotalPages. Ovo treba uvesti da bi se kontrola PZbir prikazivala samo na poslednjoj strani. ControlSource za PageCounter neka bude [Page], a za TotalPages [Pages].

U kod reporta treba ubaciti sledeće redove:
Code:
Private Sub Report_Page()
DrawLines Me
End Sub

Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)
On Error Resume Next
PZbir.Visible = PageCounter = TotalPages
End Sub


Sledeći kod iskopiraj u modul.
Code:
Public Sub DrawLines(WhRep As Report)
WhRep.ScaleMode = 6
Dim I As Byte
Dim Arr() As String

' Crtanje horizontalnih linija
For I = 0 To 15
WhRep.Line (10, 50 + 10 * I)-(190, 50 + 10 * I)
Next I

' Crtanje vertikalnih linija
Arr() = Split("10;25;45;136;152;173;190", ";")
For I = 0 To 6
WhRep.Line (Arr(I), 50)-(Arr(I), 200)
Next I
End Sub


Ozbiljan i odgovoran mladić
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Prazni redovi do kraja strane08.04.2008. u 15:39 - pre 195 meseci
Sto se mora mora :-)

da je prosto -nije, ali se moze uraditi.
Prvo, treba nekako da numerises rekorde koji ce se stampati, 1 do N.
Drugo, treba da iams tabelu tblBrojevi sa recimo 200 brojeva, od 1 do 200. U tabeli brojevi imas dve kolone (Broj, Desetica) i izgledace otprilike ovako:

tblBorojevi
Code:

Broj   Desetica
1         1
2         1
....
10        1
11        2
12        2
13        2
....
20        2
21        3
22        3
....


Tvoj kveri koji daje rekorde za report izgledao bi nekako ovako:

qryReportNumerisani:
Code:

Broj Desetica  Kolona1       Kolona2            Kolona3   
1         1        'Zika'        '12 Oct 2007'       1250.00
2         1        'Laza'        '15 Oct 2007'        384.27
.....
.....
12       2         'Laza'        '15 Oct 2007'        856.27
13       2         'Mika'        '15 Oct 2007'        123.27
14       2         'Pera'        '15 Oct 2007'        456.27


Sad napravis LEFT JOIN query:

qryFinal:
Code:

SELECT
T.Broj
, T.Desetica
, P.Kol1, R.Kol2,...,R.KolN
FROM tblBrojevi AS T
LEFT JOIN qryReportNumerisani AS R
ON R.Broj = T.Broj
WHERE T.Desetica = (SELECT MAX Desetica) FROM qryReportNumerisani)


Ovaj poslednji kveri, qryFinal, sa LEFT JOIN ce ti biti data source za report.
Kolona Broj dolazi iz tabele tblBrojevi i zbog LEFT JOIN sadrzace celokupnu deseticu.
Oni brojevi koji ne postoje u qryReportNumerisani imace NULL vrednosti za sve ostale kolone i pokazace se kao prazni redovi na reportu.

Ako broj redova na reportu nije 10 nego neki drugi broj, promeni vrednosti u tabeli tblBrojevi i podesi kveri qryReportNumerisani tako da se vrednost u koloni Desetica menja kako treba.

Ako ti treba pomoc za dobijanje vrednosti Broj i Desetica u kveriju qryReportNumerisani, nesto cemo vec da uradimo po tom pitanju.

Kao sto rekoh, nije lako i iam posla, ali izgleda lepo na kraju.

:-)


 
Odgovor na temu

tihomirpopovic
Tihomir Popovic
Cacak

Član broj: 55156
Poruke: 24
*.eunet.yu.



Profil

icon Re: Prazni redovi do kraja strane09.04.2008. u 12:09 - pre 195 meseci
Hvala najlepše!!
Primenio sam oba rešenja i najviše mi odgovara Zidarevo
HVALA još jednom


P.S. na kraju SQL-a bi trebalo da stoji WHERE T.Desetica <= (SELECT MAX Desetica) FROM qryReportNumerisani).
 
Odgovor na temu

[es] :: Access :: Prazni redovi do kraja strane

[ Pregleda: 2093 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.