03. november 2006 - 12:15Der er
10 kommentarer og 1 løsning
Printe rapport med specifikke categorier!
Hej,
jeg har en tabel som jeg gerne vil printe ud,altså som en slags rapport. Men jeg vil ikke printe alle data fra tabellen,men vil gi' brugeren muligheden til at printe de informationer som han vælger.
Altså har en dato-felt,og feks. ved at vælge fra den dato til en anden dato, kan brugeren printe alle de info som han skal bruge. Men samtidig skal der også være mulighed for at vælge de andre felter,og hvis han ik' vælger nogle af de andre felter så bliver der kun vist en rapport med de felter som han har valgt!
HAr leget lidt med en foresprøgsel (query) fra tabellen,men kan ikke få den til at virke!
Er det her muligt eller lyder det som noget vrøvl?!?!
f.eks. man trykker på en knap (Print),og den så spørger dig at indtaste (første dato),(sidste dato),(person navn) osv...
så hvis man indtaster alle de felter så får man de rigtige felter frem fra "første" og "sidste" dato med den "person"...
men hvis man nu kun indtaster (første dato) og (sidste dato) men indtaster ikke noget i (person navn) så får man stadig alle de felter frem fra "første" og "sidste" dato, med alle personer fra tabellen...
Du skal nok ud i at lave en formular med alle relevante felter. Når brugeren klikker "Print" må du tjekke, hvor meget der er udfyldt, og opbygge en SQL i stil med: SQL = "True" ' ellers kan vi ikke kritikløst bruge AND Iif Not IsNull(Me.Personnavn) Then SQL=SQL & " AND Personnavn='" & Me.Personnavn & "'" '(Husk plinger om strenge) Iif Not IsNull(Me.Status) Then SQL=SQL & " AND Status=" & Me.Status
Derefter kan du bruge SQL'en som WHERE kriterie når du åbner rapporten.
OK. Se her: - Du opretter en ny formular. - Så opretter du et felt pr. udvælgelseskriterie. - Så opretter du en "Print" knap - I knappens VedKlik hændelse lægger du koden:
Dim SQL As String
SQL = "True" Iif Not IsNull(Me.Felt1) Then SQL=SQL & " AND Felt1='" & Me.Felt1 & "'" Iif Not IsNull(Me.Felt2) Then SQL=SQL & " AND Felt2='" & Me.Felt2 & "'" Iif Not IsNull(Me.Felt3) Then SQL=SQL & " AND Felt3='" & Me.Felt3 & "'" '(Husk plinger om strenge - fjern dem, hvis det er talfelter)
og en print knap,og lægger koden under klik-hændelsen...men når jeg trykker på knappen ,så kommer der stadig to pop-up vinduer hvor jeg bliver bedt om at indtaste de samme informationer....
og det er som om rapporten ikke virker sammen med min forespørgsel,fordi der hele tiden kommer en tom rapport frem....
hvordan skal rapporten laves,skal den hente info fra en forespørgsel og skal den forespørgsel have nogle kriterier?!?
Har også prøvet at lave kriterier i forespørgsel,og når jeg køre rapporten selv,så virker den,men når jeg så prøver med formen så skal jeg indtaste igen informationer i de der pop-up vinduer...men som sagt jeg vil gerne ha',at jeg ikke behøver indtaste info i alle de 3 felter men kun 2 af dem....
og tabellen som informationer kommer fra,der er 4 felter:
Det lugter jo lidt af at din rapport har mistet kontakten til din forespørgsel - eller nærmere er baseret på en anden forespørgsel end du tror.
Hvis du lægger kriterierne i formularen, skal du ikke lægge dem i forespørgslen. Altså: Hvis du åbner din rapport, skal du se alle posterne fra forespørgslen - uden pop-up'er.
Koden bør være noget i stil med:
Dim SQL As String
SQL = "True" Iif Not IsNull(Me.Dato1) Then SQL=SQL & " AND Dato>=#" & Format(Me.Dato1, "mm/dd/yyyy") & "#" Iif Not IsNull(Me.Dato2) Then SQL=SQL & " AND Dato<=#" & Format(Me.Dato2, "mm/dd/yyyy") & "#" Iif Not IsNull(Me.kategori) Then SQL=SQL & " AND kategori=" & Me.kategori ' evt. med plinger, hvis tekst Iif Not IsNull(Me.Person) Then SQL=SQL & " AND PersonNavn='" & Me.Person & "'"
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.