Avatar billede jrl0469 Nybegynder
16. juni 2008 - 15:20 Der er 21 kommentarer og
3 løsninger

Teste første og sidste post i rapport: Detail_Format

Hej

Jeg har en samling af poster som udskrives på en eller flere sider i en rapport.
I Detail_Format seksionen har jeg angivet kriterier for vis/skjul af to labels.
Når jeg åbner rapp. tjekkes tilsyneladent kun den første post på hver side i rapp?!

Nogen forslag /kommentarer?

mvh Jan
Avatar billede mugs Novice
16. juni 2008 - 15:27 #1
Prøv at indsætte din kode i Detaljesektionens VedUdskrift. Flg. fungerer:

Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer)
If Me.id > 3 Then
Me!Etiket1.Visible = False
End If
End Sub
Avatar billede jensen363 Forsker
16. juni 2008 - 15:56 #2
Hvordan identificerer du første hhv. sidste post hvis det er disse to værdier i dit recordsæt i detaljesektionen du vil have dine labels til at reagerer på ?
Avatar billede Slettet bruger
16. juni 2008 - 21:18 #3
Hvorfor undlader du dem ikke bare i forespørgslen?~)
Avatar billede mugs Novice
16. juni 2008 - 21:26 #4
Som jeg forstår spørgsmålet, drejer det sig ikke om første eller sidste post, men om, at koden skal reagere på ALLE poster i rapporten. Derfor mener jeg ikke det er relevant hverken at identificere første / sidste post eller at undlade dem i en forespørgsel.
Avatar billede Slettet bruger
16. juni 2008 - 21:38 #5
Jeg tænkte bare på, at hvis der er et kriterie, som skal bestemme om de individuelle poster skal vises eller ej, hvorfor så ikke ligge dette kriterie i forespørgslen!~)
Avatar billede mugs Novice
16. juni 2008 - 21:51 #6
spg > Hvis der var et sådant kriterie, ville det være mest hensigtsmæsigt at lægge kriteriet i forespørgslen. Men da det ikke fremgår af spørgsmålet, antager jeg, at alle poster skal vises.
Koden skal så (uvidst af hvilken grund) undlade at vise 2 etiketter.
Avatar billede Slettet bruger
16. juni 2008 - 22:17 #7
tjah... vi kunne måske godt bruge lidt input!~)

jrl0469?~)
Avatar billede jrl0469 Nybegynder
17. juni 2008 - 06:56 #8
G'morn

mugs - gør ingen forskel

jensen - posterne sorteres stigende efter et nummer gående fra 1 til f.eks. 14. Hvis der er flere poster end 6 forsættes på næste side. I dette tilfælde tjekker access post 1 og 6?!.

spg - Hvis en række af poster hænger sammen skal der angives en reference på hver udskrift således at brugeren kan finde før/efter udskrifter i forhold til den for hånden værende!

mugs/spg - ved flere poster på een side vil der ofte være reference til siden selv. MEN første post (<>1 f.eks 7) vil referere til den side hvor post 1 er placeret og sidste post (6) vil referere til post 7 på dennes side. I nogle tilfælde er der ingen referencer hvorfor reference labeln skal skjules eller som nævnt reference til samme side også her skal labeln skjules!

Jeg har ikke lige tænkt på at bruge rapport forespørglsen og er ikke sikker på hvordan.

Jeg kan fremsende en pdf som eksempel!

mvh Jan
Avatar billede mugs Novice
17. juni 2008 - 07:37 #9
Du laver en forespørgsel i databasevinduet og trækker relevante tabeller / felter ned i forespørgselsgitteret. Når du har gjort det, laver du en ny rapport med forespørgslen som datakilde.

En PDF fil hjælper ikke meget, idet vi jo ikke lan redigere i en sådan.
Avatar billede Slettet bruger
17. juni 2008 - 07:47 #10
Må jeg prøve at se den pdf på spg.eksperten@gmail.com
Avatar billede jrl0469 Nybegynder
17. juni 2008 - 08:01 #11
hej spg - jeg sender lige pdf til dig.

hej mugs - jeg har jo allerede sammensat en rapport baseret på flere forespørgelser. Det jeg mente er at jeg ikke lige umiddelbart kan se hvordan den skal opbygges så jeg for vist labels hvor ønsket...

mvh Jan
Avatar billede Slettet bruger
17. juni 2008 - 10:29 #12
Brug betinget formattering af tekstfeltet.. ex..

Udtrykket er: (Mid([txtPreRec3];14))=""
og så sæt teksten til hvid
Avatar billede Slettet bruger
17. juni 2008 - 10:33 #13
nej, prøv..

Udtrykket er: [txtPreRec3]="-"
Avatar billede Slettet bruger
17. juni 2008 - 10:34 #14
Normalt ville det være:

Udtrykket er: [txtPreRec3]=""

men det ser nemlig ud, som om du har - til at markere ingen reference!~)
Avatar billede jrl0469 Nybegynder
17. juni 2008 - 10:47 #15
Denne kode er hvad jeg brugte indtil det gik op for mig at den kun kigger på første post på siden!

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
srpt62exJB!lblPre1.Caption = srpt62exJB!txtPreRec1.Value
srpt62exJB!lblPost1.Caption = srpt62exJB!txtPostRec1.Value

    If Left(srpt62exJB!txtPrePairLRecord.Value, 7) = srpt62exJB!ItemNo Then
        srpt62exJB!lblPre1.Visible = False
        GoTo PostRec
    End If

    If srpt62exJB!txtPrePairLRecord.Value = " -" Then srpt62exJB!lblPre1.Visible = False

PostRec:

    If Left(srpt62exJB!txtPostPairLRecord.Value, 7) = srpt62exJB!ItemNo Then
        srpt62exJB!lblPost1.Visible = False
    End If

    If srpt62exJB!txtPostPairLRecord.Value = " -" Then srpt62exJB!lblPost1.Visible = False

End Sub

OG det er jo netop det der er mit problem. Jeg er faktisk også lige kommet i tanke om at jeg har prøvet noget lignende før og at access måske kun kan se på een post pr side?!
Avatar billede mugs Novice
17. juni 2008 - 11:05 #16
Access kan se og behandle ALLE poster på ALLE sider. Men her:

If srpt62exJB!txtPrePairLRecord.Value = " -" Then srpt62exJB!lblPre1.Visible = False

sætter du feltet's egenskab synlig til False, og det gælder resten af posterne. Du SKAL derfor også fortælle at Synlig skal være True, hvis betingelsen IKKE er opfylst.
Avatar billede hugopedersen Nybegynder
17. juni 2008 - 11:12 #17
Er det du i bund og grund er ude efter en funktion der laver en 'Fortsættes på side x' og 'Fortsat fra side y' ?
Avatar billede Slettet bruger
17. juni 2008 - 11:39 #18
mugs>det lyder fornuftigt!~)
Avatar billede Slettet bruger
17. juni 2008 - 12:17 #19
ellers så det med at den kun virker på den første post (nu siger du første side.. anyway!~) det har som regel noget at gøre med hvor man ligger koden.

Du kunne prøve format eventen på detailsektionen...
Avatar billede jrl0469 Nybegynder
17. juni 2008 - 12:32 #20
yes mugs - du har ret (mht. sætningen). Men der er ikke et gennemløb af alle poster i Detail_Format! kun 1st post pr side.

Har rettet kode og får ikke rette reference men derimod post ets reference!

hugopedersen - ja, men pr post!
Avatar billede hugopedersen Nybegynder
17. juni 2008 - 13:39 #21
OK - du har nogle poster der hænger sammen i en gruppe så det er pr. gruppe den skal checke.
Så virker min side tæller ikke i dit tilfælde.
Avatar billede mugs Novice
17. juni 2008 - 13:47 #22
Hvis denne betingelse er sand, så skal der fluttes Postrec:

If Left(srpt62exJB!txtPrePairLRecord.Value, 7) = srpt62exJB!ItemNo Then
        srpt62exJB!lblPre1.Visible = False
        GoTo PostRec
    End If

    If srpt62exJB!txtPrePairLRecord.Value = " -" Then srpt62exJB!lblPre1.Visible = False

PostRec:

Så bliver der aldrig målt på denne:

If srpt62exJB!txtPrePairLRecord.Value = " -" Then srpt62exJB!lblPre1.Visible = False

Men det skal der måske heller ikke?
Avatar billede jrl0469 Nybegynder
17. juni 2008 - 14:19 #23
mugs - label skal skjules i begge tilfælde så hvis betingelse 1 er sand skal den bare springe videre til postrec (label nr 2s betingelser)!
Avatar billede jrl0469 Nybegynder
18. juni 2008 - 06:22 #24
Jeg har løst problemet vha en make table query og en makro der beregner før og efter reference.

Jeg har ikke fundet ud af hvorfor Detail_Format ikke kigger på hver post og har derfor valgt en anden (mere krævende) fremgangsmåde til at angive referencerene!

MEN, tak for jeres input.

Jan
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester