Avatar billede infelix Nybegynder
03. november 2006 - 12:15 Der 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?!?!

På forhånd tak-.
Avatar billede mugs Novice
03. november 2006 - 12:23 #1
For at udvælge poster mellem 2 datoer, kan du i forespørgsalen indtaste dette i "første fato":

>=[indtast første dato]

og i sidste dato:

=[indtast sidste dato]

Hvad mener du med "vælge andre felter"?
Avatar billede infelix Nybegynder
03. november 2006 - 12:38 #2
Det med datoen kan jeg godt få til at virke:

Between [første dato] and [sidste dato]

de med andre felter:

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...

kan du se hvad jeg mener??
Avatar billede fdata Forsker
03. november 2006 - 12:43 #3
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.
Avatar billede infelix Nybegynder
03. november 2006 - 12:51 #4
hmmm...lyder svært....må heller igang med at prøve...
Avatar billede infelix Nybegynder
03. november 2006 - 13:17 #5
har prøvet det nu..men ingen held....
Avatar billede infelix Nybegynder
03. november 2006 - 13:22 #6
Har prøvet det,men uden held...synes også det lyder lidt for kompliceret for mig...
Avatar billede fdata Forsker
03. november 2006 - 13:31 #7
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)

  Docmd.OpenReport "RapportNavn",acViewPreview,,SQL
Avatar billede infelix Nybegynder
07. november 2006 - 11:04 #8
hmm nu har jeg haft tid til at lege lidt med det...men stadig uden held...jeg får lavet 4felter:

dato1(fra),dato2(til),kategori(kategori),Person (PersonNavn)

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:

Dato,Kategori,PersonNavn,Status
Avatar billede fdata Forsker
07. november 2006 - 19:07 #9
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 & "'"

  Docmd.OpenReport "RapportNavn",acViewPreview,,SQL
Avatar billede infelix Nybegynder
14. november 2006 - 10:19 #10
hey igen..fik aldrig sagt at det virkede...så mange tak;)!
Avatar billede fdata Forsker
14. november 2006 - 16:34 #11
Velbekomme og tak for point ;o)
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