/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Ideer til strukturering af forespørgelse~
Fra : ferdinand.k
Vist : 355 gange
40 point
Dato : 25-07-03 15:26

Jeg har et spørgsmål som vedrører en forespørgelsel i Access...
Jeg har en tabel med alle perioder fremover. hver periode dækker fra d. 15 i måneden, til d. 14 i næstkommende måned. Dernæst har jeg en forespørgelsel som finder et kundenr (i kundetabellen) og tæller op på hvormange aktiviteter den pågældende kunde har. Problemet består i at når jeg viser listen over aktiviteter, vises kun de kunder som har én eller flere aktiviteter. Altså de kunder som endnu ikke har haft en aktivitet bliver altså ikke udskrevet. For at udskrive listen bruger jeg bare en count og tæller alle aktivitetsposterne op. Alle kunder skal udskrives således:

Kundenr;Navn;Periode;AntalAktiviteter

Hvordan kan en såddan forespørgelsel struktureres?

 
 
Kommentar
Fra : Mikael2002


Dato : 25-07-03 15:38

Hej Ferdinand.k

Du skal lave det der hedder en "outer join", dvs. at du i din forespørgsel gør følgende;

Du klikker på stregen mellem kundetabellen og aktiviteter (dit joinfelt). Her vælger du "include all records from Kundetabel", der betyder at du får alle forekomster, også selv om der ikke er nogen tilhørende record (på dit keyfeldt) i din tabel aktivitetsposter.

Så simpelt er det faktisk.

Mvh Mikael


Kommentar
Fra : ferdinand.k


Dato : 25-07-03 15:56

det ville virker fint hvis jeg kunne nøjes med at få udskrevet kundenumrene på dem der ikke havde nogen aktivitet, men det skal vises således at alle kunder har en post hver for hver periode, hvor dem der har haft aktivitet i perioden har det skrevet, og dem der ikke har, står der 0 f.eks...

Kommentar
Fra : Mikael2002


Dato : 25-07-03 16:08

Hej Igen

Jamen, stadig ikke noget problem. I det felt som du har antal poster i står der værdien NULL i. For at konvertere dette i det felt i forespørgslen som er din total.

OUT: IIf(IsNull([ref1]);0;[ref1])

OUT = Det navn feltet får når du kører forespørgslen
IIF = Funktion der fungere ligesom IF
isnull = Funktion der er sand når feltet er lig NULL
ref1 = det feldt der er totalfeltet. (Parameter 1)
; = adskillelsestegn, bemærk er i queries er dette et simicolon, hvor i VB code er det et komma.
0 = den værdi der sættes når parameter 1 er sand. (Parameter 2)
ref1 = den værdi der sættes når parameter 1 er falsk (Parameter 3).

Håber at dette giver mening. Har selv lavet masser af forespørgsler a'la dette.

Mvh Mikael

Kommentar
Fra : ferdinand.k


Dato : 25-07-03 16:29

selvfølgelig giver dette mening, men det giver ikke det korrekte resultat. Jeg tror vi taler forbi hinanden... Hvis jeg kører forespørgelsen, med kriterierne kundenr. = "11", skal der komme en list med 3 kolonner:

kolonne 1:
alle perioder, 01_01;01_02;01_03....... 11;10;12_10

Kolonne 2:
kundenr. 11

Kononne 3:
Antal aktiviteter hvis der er nogen. Hvis ikke, skal der stå "0".

Kommentar
Fra : Mikael2002


Dato : 25-07-03 16:45

Hej igen igen ferdinand.k

Jeg er lidt i tvivl om du har perioder på kundenr. 11 hvis der ikke er nogen aktiviteter. Det tror jeg umiddelbart ikke.

I så fald tror jeg at du bliver nødt til at lave 2 forespørgsler. Den første jeg beskrev dækker kolonne 2 + 3, men den sidste kolonne skal vi lige hægte på. Det gøres nemmest ved at gemme den første forespørgsel og lave en ny forespørgsel hvor du vælger den første forespørgsel samt tabel med dine periode ved.

I denne forespørgsel laver du igen en outer join (som beskrevet tidligere), men denne gang vælger du at inkludere alle records fra "alle perioder" idet du ved den tidligere forespørgsel sikrede dig at du HAR alle forekomster af kundenr.

Jeg har ikke mere tid i dag, men er tilbage i morgen ved middagstid foran PC'en.

Du kan evt. skrive en mail og vise hvad det er du vil have ud af det, og hvordan dine tabeller ser ud, idet jeg måske stadig ikke er helt med. Det kommer jo an på hvordan du har lavet din tabeller, mht. sammenhængen af nøgler.

Det der er afgørende er hvordan kolonne 1-2 , 1-3 og 2-3 hænger sammen.

Hvad si'r du ?

Mikael

Kommentar
Fra : Mikael2002


Dato : 25-07-03 16:47

NB

Min mailadr. er mikael_kure@yahoo.dk

Mvh Mikael

Kommentar
Fra : ferdinand.k


Dato : 25-07-03 16:50

jeg ser lige på det, og vender tilbage... vi snakkes ved imorgen, tak for hjælpen indtil videre...

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407825
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste