Avatar billede amiedk Nybegynder
14. august 2003 - 11:12 Der er 14 kommentarer og
1 løsning

hjælp til rapport forspørgelser

OK .. næste spørgsmål i min kamp om at få lavet min database færdig :)

Baggrund: Sælgerne skaffer kunder. Vi taster kunderne ind. Kunden kan blive afvist af enten os ( appco ) eller tele2. I selve kundetabelen er afvigelserne lavet som JA/NEJ klikbokse.

Nu skal jeg så lave en afvigelsesrapport hvor den lister alle de ansatte og antal afvigelser, både for appco og tele2.

Rapporten skal se sådan ud :
Sælgernavn  antal appco afvigelser  antal tele2 afvigelser

Dette kan jeg også godt lave med en find dobbel forspørgelser, men problemet er at rapporten også skal skrive 0 ud for de medarbejder, som ikke har nogle afvigelser. På nuværende tidspunkt skriver den antalet på alle de kunder som ikke er afvist. Kan man ikke lave en formel som ændre antalet af antal ?
fx. HVIS appcoafvigelser=0 AND tele2 afvigelser=0 THEN antal=0

Rapporten skal altså liste alle sælger og dem som har nogle afvigelser, skal den vise antalet på.. alle andre skal antalet være 0

Er der en smart måde at gøre det på ??
Avatar billede mugs Novice
14. august 2003 - 12:47 #1
I rapportens detaljesektion VedUdskrivning kan du indsætte denne kode:

If appcoafvigelse = o And tele2 afvigelser = 0 Then
antal = 0
End If
Avatar billede amiedk Nybegynder
14. august 2003 - 12:56 #2
jamen kommer alle de ansatte der så ikke har nogle afvigelser bare med på listen sammen med de andre ??
Avatar billede mugs Novice
14. august 2003 - 13:25 #3
Prøv lige koden - Jeg har ikke Access på denne computer.
Avatar billede amiedk Nybegynder
14. august 2003 - 14:32 #4
nej det virker ikke.. kan slet ikke få koden ind, den har en masse error ved det.

Private Sub Report_Page()
    If afvistappco=o And afvisttele2=0
    Then
        antal = 0
    End If
End Sub

Men skal den ikke også ref. til tabellen ??

Jeg har stadigvæk ikke set lyset hvorfor koden skal være inde i rapporten. Kan man ikke lave det i forspørgelsen, som i forvejen håndtere alt det andet i rapporten ??
Avatar billede Jørgen Kirkegaard Professor
14. august 2003 - 16:04 #5
Du har ret; først bør du lave en query, som giver det korrekte resultat. Herefter laver du en rapport over dette query! Der vil ellers være for meget bøvl med vedligeholdelse, f.eks. hvis en 3. instans pludselig kan afvise...

Kan du blive inspireret af mit svar i http://www.eksperten.dk/spm/384902 ?
Ellers forklarer jeg det igen.
Avatar billede amiedk Nybegynder
14. august 2003 - 16:31 #6
ja det er lige den problematik jeg har. Jeg har dog kun en tabel. De relevante felter i tabellen er :

Kunde:
Navn
AfvisAppco
AfvisTele2

De to afvis har datatybe Ja/Nej. Navn er navnet på den sælger der har skaffet kunden. En sælger kan jo sagtens have skaffet fx 1000 kunder, men ikke have nogle afviste, og skal derfor stå som 0 på rapporten.

En rapport kan fx se sådan ud:

Navn        Appco      Tele2
Søren        1          0
Peter        2          1
Tim          0          0
Pia          0          0

Alle mine andre rapporter er også lavet over querys, men det er lige den ene her jeg har problemer med. Den vil ikke rigtigt give mig det rigtige resultat :)

HJÆLP :)
Avatar billede Jørgen Kirkegaard Professor
14. august 2003 - 16:40 #7
Tabel eller query er sådan set ét fedt. Hvis du laver et query, q1, som tæller den ene og et query, q2, som tæller den anden, så kan du med left join fra din tabel til begge queries få dét du ønsker. Det er muligt, at det hele kan koges ned til et enkelt sql-statement, men det er vist nemmere at få designeren til det.
Avatar billede amiedk Nybegynder
14. august 2003 - 16:46 #8
øhh... den skal jeg lige tygge på, for det der left join har jeg ikke helt luret endnu. Jeg har fri nu, så jeg kigger på det når jeg kommer hjem i aften.
Avatar billede Jørgen Kirkegaard Professor
14. august 2003 - 16:48 #9
Når du joiner almindeligt mellem 2 tabeller, får du kun de data, som findes i begge tabeller. Hvis du left-joiner, får du alle rækker fra den ene tabel og null fra den anden, hvis data ikke findes. Det er muligt, at andre har en simplere løsning??
Avatar billede Jørgen Kirkegaard Professor
14. august 2003 - 17:19 #10
...nemmest bliver det, hvis du har tabellen over sælgere "til venstre" og så 'left-joiner' med q1 og q2.
Avatar billede amiedk Nybegynder
14. august 2003 - 18:43 #11
jamen jeg har kun en tabel.. der ligger alle oplysningerne i.
Avatar billede mugs Novice
14. august 2003 - 18:47 #12
Fop det første har jeg lavet en tastefejl:

If appcoafvigelse = o And tele2 afvigelser = 0 Then
antal = 0
End If

Det skal naturlæigvis være 0 alle 3 steder.

For det andet har du ikke gjort som jeg sagde: Indsæt koden i detaljesektionens VedUdskrivning.

For det tredje taler din kode om en subreport. Det var ikke i spørgsmålet.
Avatar billede mugs Novice
14. august 2003 - 19:06 #13
Nå - Man kan nu ikke tildele et bundet tekstfelt en værdi. Der skal benyttes et ubundet tekstfelt.

Denne i en forespørgsel fungerer:

Udtryk1: IIf([antal];Null;0)

Så må du trække udtrykket ind i din rapport
Avatar billede amiedk Nybegynder
15. august 2003 - 09:10 #14
hej mugs

Den der Udtryk1 virker, kan man sætte 2 antaler i ?? altså [antal1] eller [antal2];Null;0 ??
Avatar billede amiedk Nybegynder
15. august 2003 - 09:11 #15
hehe nå.. jeg skulle bare lige have den rigtige syntaks.. det virker fint :)

Udtryk1: IIf([afvistappco] Or [afvisttele2];Null;0)
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