Avatar billede r_ibsen Nybegynder
05. februar 2005 - 16:57 Der er 3 kommentarer

Vise rapport over data forarbejdet i VBA

Jeg har en tabel indeholdende data om en række projekter. I en kombinationsboks vælger jeg titlen på de projekter jeg er interesseret i, og det er så meningen at jeg herefter skal få vist en rapport hvori data fra de valgte projekter er summeret. Jeg ønsker at således at summere over en delmængde af de eksisterende projekter. I OnClick-koden for den knap der skal åbne rapporten kender jeg navnene på de projekter som jeg er interesseret i. Hvordan kan jeg summere over netop disse projekter og vise resultatet i en rapport? Hvis jeg bruger DoCmd.OpenReport kan jeg kun angive en allerede eksisterende forespørgsel samt en eventuel WHERE-betingelse. Jeg har allerede en forespørgsel der summerer over alle projekter, så jeg forestiller mig at jeg skal have fat i et objekt der repræsenterer denne forespørgsel og så sætte forespørgslens WHERE-betingelse, inden jeg kører den. Alternativt vil jeg gerne vide hvordan jeg i VBA kan bygge en forspørgsel op fra bunden og dermed selv bestemme hvad dens sql-sætning skal indeholde, og så åbne en rapport der viser resultatet af denne sql-sætning skrevet i VBA. En anden mulighed kunne være i VBA at køre en sql-sætning i retning af

SELECT * FROM Tabel1 WHERE Tabel1.Projekttitel = 'Projekt A' OR Tabel1.Projekttitel = 'Projekt B',

og få et resultat som kan bruges som grundlag for DoCmd.OpenReport, kaldt med den forespørgsel der summerer over alle indgående projekter.
VH Rune
Avatar billede terry Ekspert
05. februar 2005 - 17:52 #1
In Access you can create a new query using the following code. you need a reference to DAO to do this.

Call function like this
CreateQuery "SELECT * FROM ........", "QueryNameGoesHere"

If the query exists then you only need to use
db.QueryDefs(NewQueryName).SQL = sSQL   


Function CreateQuery(sSQL as String, NewQueryName as String)
    Dim db  As DAO.Database
   
    Set db = CurrentDb
   
    db.CreateQueryDef (NewQueryName)
    db.QueryDefs(NewQueryName).SQL = sSQL   
    db.Close
   
End Function
Avatar billede terry Ekspert
12. februar 2005 - 14:24 #2
status?
Avatar billede terry Ekspert
19. februar 2005 - 09:26 #3
are we getting there? Cant help without input from you!
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
Kurser inden for grundlæggende programmering

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