01. juli 2004 - 16:21Der er
17 kommentarer og 2 løsninger
Skift rowsource på graf i rapport
Er det ikke muligt at ændre rowsource på en graf i en rapport? Nu har snart prøvet alle mulige placeringer af koden, og det eneste sted den tilsyneladende kan stå er under hændelsen VedÅbning (ellers får jeg at vide, at det kan man ikke ændre når udskrivning er påbegyndt). Jeg får dog stadig en fejl, og det er runtime-error 2455 om at udtrykket indeholder en ugyldig reference til egenskaben RowSource
Koden er:
Me!Graf21.RowSource = strSQL
strSQL er en halvlang sql-streng (som skulle være god nok)
Så er det nok smartere at lave noget kode, der hver gang gemmer SQL-strengen som en forespørgsel. Hvis jeg blot giver forespørgslen det samme navn hver gang, skal rowsource jo ikke ændres.
Joh, det kan jeg vist godt. Men jeg kan ikke lige se hvor det bringer mig hen. Det der bl.a. sker i forespørgslen er, at nogle kolonnenavne ændres så de efterfølges af et årstal. I feltlinien i forespørgslen skal der f.eks. stå:
Parameter 2001: [Parameter x]
Det er 2001, der skal kunne ændres dynamisk (ved opslag i en tabel).
Det skulle være på vej. Jeg har ikke fået mailen retur, og jeg har ikke fået nogen fejlmeddelelser. Af og til kan det tage lidt tid fordi al vores mail går via en server i Sydeuropa(!?), men for det meste mærker man det ikke. Lad os lige give det 15 min. mere.
Ok. Så får du jo nok brug for den beskrivelse som jeg sendte i mailen:
Der ligger to forespørgsler qPRapport 1 qPRapport 1a som henter mine data. Forskellen er at "a" rapporten henter data fra samme periode sidste år. For at data kan vises sammen på grafen, ændres året i datoen i "a" til det aktuelle år.
Forespørgslen "qPRapport Data" indeholder det, der skal vises på grafen. Det er der ikke så meget hokus-pokus i - endnu. Det som forespørgslen skal kunne er bl.a. at tilføje årstallet til navnet på de gamle tal. Det er her jeg ser problemet:
Jeg kunne godt sætte årstallet på allerede i "qPRapport 1a", men så brokker "qPRapport Data" sig over at kolonnerne ikke har faste overskrifter. Hvis jeg (som nu) laver faste overskrifter i "qPRapport 1a", så kan jeg ikke ændre dem dynamisk, fordi rapporten ikke accepterer ændring af rowsource ved hændelsen VedÅbning
Rapporten ligger der, og der ligger også da testdata som jeg bruger. Jeg tror ikke det er nødvendigt med er nærmere beskrivelse af disse, men du må selvfølgelig sige til, hvis du har brug for flere oplysninger.
If I understand the problem correctly, you want to alter the column names. These are those in the query, for example Tk-02+04 2002: ?
Why dont you do this by changing the query SQL dynamically BEFORE you open the report?
EXAMPLE: Dim sSQL As String
'Build the SQL in code. (You need a query named (in this example) qPRapport Data) sSQL = "SELECT [qPRapport Dato].Dato, .......[qPRapport 1a].Tilløbx AS [Tind 2003], ...."
'Now modify the queries SQL (query MUST exist already) CurrentDb.QueryDefs("qPRapport Data").SQL = sSQL
Hope they don't charge me extra for the long trip!
Jeg var efterhånden også kommet frem til at løsningen ville være at lave forespørgslerne inden. Troede/håbede at det ville være nemmere at gøre det direkte i rapporten. Men nu ser det ud til, at også den højeste myndighed på området mener, at det skal laves udenfor rapporten. Så er der nok ikke noget at gøre.
Dit eksempel viser desuden en anden måde, at gøre det på, end jeg havde tænkt mig - og den ser faktisk smart ud, så det bliver nok den måde jeg vælger at gøre det på.
:o) It may be possible doing it some other way, but this method seems to work, and once the code is in place its quite fast.
Og mange tak!
Synes godt om
Ny brugerNybegynder
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.