Avatar billede longgaard_at_work Nybegynder
02. juli 2003 - 16:06 Der er 3 kommentarer og
1 løsning

2 X Krydstabulering med ens antal koloner i resultatet

Hvordan laver jeg 2 forskellige krydstabulerings forespørgelser (begge afviklet i en kørsel) som giver ens antal navngivne kolonner, når der skal tages hensyn til at antallet af kolonner og rækker er dynamisk fra kørsel til kørsel?

I bund og grund skal jeg lave een oversigts rapport på eet stykke papir over forskelligt pc-udstyr på forskellige lokationer. Rapporten skal bestå af 2 delrapporter og en sum/difference sektion.

Lokationerne kan have en af to status: "i drift" eller "ude af drift". De to delrapporter laves på baggrund af lokationernes status, og skal give et ”antal udstyr på disse lokationer” skema som summes både lodret og vandret.

Nederst på papirrapporten skal der summeres fra begge delrapporter og sammenlignes med købt antal og udregnes evt. difference.

Problem 1:
Hvis der ikke er nogle af f.eks. udstyrs type 2 i drift så får jeg ikke kolonnen med i min krydstabulering

Problem 2:
Kan man få det hele samlet på een rapport, eller skal der eksporteres til f.eks. Excel og laves en makro?

Her er et forsøg på at vise et udsnit af hvordan den færdige papirrapport: (håber at det tager sig læseligt ud)

I Drift      Udstyr1  Udstyr2    Sum
----------------------------------------
Lok.1          3        0        3
Lok.2          1        0        1
----------------------------------------
Sum            4        0        4               

Ude af Drift Udstyr1  Udstyr2    Sum
-----------------------------------------
Lok.1          3        2        5
Lok.2          5        4        9
-----------------------------------------
Sum            8        6        14
-----------------------------------------

-----------------------------------------
Total          12        6        18
Købt          12        8        20
-----------------------------------------
Diff            0      -2        -2
Avatar billede molberg Nybegynder
02. juli 2003 - 16:28 #1
I Open-event checker du antallet af kolonner i recordsourcen vha. af dao eller ado, og så sætter du kilden for hvert dynamisk felt hvis der er en kolonne. Du er nødt til at lægge dig fast på et max. antal kolonner.

Om du kan køre det i en rapport? Det er lidt svært at sige, men ud fra dine data ser det ikke ud som om det er noget problem. Hvis du kan fylde data i rapporten med via en forespørgsel kan du blot grupperer over Drift/Ikke drift.

Håber det hjælpe dig videre - ellers har jeg evt. finde noget kode du kan kigge på.

mvh
Steen Molberg
Avatar billede longgaard_at_work Nybegynder
03. juli 2003 - 14:56 #2
Ved Open-event tænker du så noget i retning af koden fra http://www.eksperten.dk/spm/367209?

Jeg har prøvet, med det giver en runtime error i linien:
"rs.Open Me.RecordSource, cn, adOpenStatic"
Fejlteksten lyder:
"Der er ikke angivet nogen kommandotekst for kommandoobjektet"

Det med max antal kolonner er nok til at leve med, men løser det problemet med at udstyret "forsvinder" fra delrapport 1 hvis der tilfældigvis ikke er nogle af dem i drift?
Group by har jeg allerede brugt en gang i SQL'en:

TRANSFORM Count(Q_Maanedsliste_Helper.Udstyr_Id) AS AntalOfUdstyrs_id
SELECT Q_Placering.Kontornavn
FROM Q_Maanedsliste_Helper INNER JOIN Q_Placering ON Q_Maanedsliste_Helper.Placering_Id_Fk = Q_Placering.Placering_Id
WHERE (((Q_Placering.Maanedsliste_Drifts_Status)=1) AND ((Q_Maanedsliste_Helper.Maanedsliste)=Yes))
GROUP BY Q_Placering.Kontornavn
ORDER BY Q_Placering.Kontornavn, Q_Maanedsliste_Helper.Model
PIVOT Q_Maanedsliste_Helper.Model;

Bør jeg nævne at der er ca. 40 lokationer og 50 udstyrstyper

Jeg er lidt lost her.
Avatar billede wolsmann Nybegynder
03. juli 2003 - 15:00 #3
Det er du jo hver dag, Longaard
Nu har det taget dig ca. 1 år at lave det database.
Avatar billede longgaard_at_work Nybegynder
09. juli 2003 - 11:23 #4
Sker ikke rigtigt mere her, lukker spm.
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