Avatar billede sjap Praktikant
01. juli 2004 - 16:21 Der 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)
Avatar billede terry Ekspert
01. juli 2004 - 18:59 #1
I have a feeling that you need to open the report in design view, then alter the rowsource followed by a close with save. Then you can open again!
Avatar billede sjap Praktikant
01. juli 2004 - 19:38 #2
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.
Avatar billede sjap Praktikant
01. juli 2004 - 19:44 #3
Det grundlæggende problem er at kolonneoverskrifterne er dynamiske - det er derfor jeg har startet på at kode SQL'en
Avatar billede nih Novice
01. juli 2004 - 23:38 #4
Du har ikke mulighed for at anvende paramtre i forespørgslen ???

forms!frmNavn!txtBox
Avatar billede sjap Praktikant
02. juli 2004 - 00:47 #5
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).
Avatar billede terry Ekspert
02. juli 2004 - 08:05 #6
any chance of seeing the dB, or at least what is relevant? Its much better hands on than guessing!

eksperten@NOSPAMsanthell.dk

remove NOSPAM
Avatar billede sjap Praktikant
02. juli 2004 - 09:12 #7
Terry
Der er en del fortroligt materiale i, men jeg prøver lige at lave en mindre db, der illustrerer problemet.
Avatar billede terry Ekspert
02. juli 2004 - 09:15 #8
OK
Avatar billede sjap Praktikant
02. juli 2004 - 10:07 #9
DB sendt
Avatar billede terry Ekspert
02. juli 2004 - 10:16 #10
I havent received anything yet, but lets give it a bit longer!
Avatar billede sjap Praktikant
02. juli 2004 - 10:21 #11
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.
Avatar billede sjap Praktikant
02. juli 2004 - 10:39 #12
Terry -> Jeg ved ikke hvor lang tid det tage, men du kan evt. prøve at hente filen på ftp://ftp.kruger.dk/Eksp1.mdb
Avatar billede terry Ekspert
02. juli 2004 - 10:47 #13
I havent received anything yet so I wil try the link!
Avatar billede sjap Praktikant
02. juli 2004 - 11:11 #14
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.
Avatar billede terry Ekspert
02. juli 2004 - 11:24 #15
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
Avatar billede terry Ekspert
02. juli 2004 - 11:30 #16
and it would be just as easy to alter the underlaying queries too!
Avatar billede terry Ekspert
02. juli 2004 - 11:32 #17
just received your mail too, its been around the houses (long trip) :o)
Avatar billede sjap Praktikant
02. juli 2004 - 11:57 #18
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å.

Mange tak for indsatsen.
Avatar billede terry Ekspert
02. juli 2004 - 12:02 #19
: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!
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

IT-JOB

Allerød Kommune

Digitaliseringschef

Netcompany A/S

Test Consultant

IT-Universitetet i København

CIO