sjap
(62.466 point. Point ude: 0)
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)
Skrevet tor. d. 01. juli 2004 kl. 18:59:18| #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!
Skrevet tor. d. 01. juli 2004 kl. 19:38:32| #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.
Skrevet tor. d. 01. juli 2004 kl. 19:44:10| #3
Det grundlæggende problem er at kolonneoverskrifterne er dynamiske - det er derfor jeg har startet på at kode SQL'en
Skrevet tor. d. 01. juli 2004 kl. 23:38:58| #4
Du har ikke mulighed for at anvende paramtre i forespørgslen ???
forms!frmNavn!txtBox
Skrevet fre. d. 02. juli 2004 kl. 00:47:01| #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).
Skrevet fre. d. 02. juli 2004 kl. 08:05:14| #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
Skrevet fre. d. 02. juli 2004 kl. 09:12:43| #7
Terry
Der er en del fortroligt materiale i, men jeg prøver lige at lave en mindre db, der illustrerer problemet.
Skrevet fre. d. 02. juli 2004 kl. 09:15:56| #8
Skrevet fre. d. 02. juli 2004 kl. 10:07:25| #9
Skrevet fre. d. 02. juli 2004 kl. 10:16:04| #10
I havent received anything yet, but lets give it a bit longer!
Skrevet fre. d. 02. juli 2004 kl. 10:21:47| #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.
Skrevet fre. d. 02. juli 2004 kl. 10:39:32| #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
Skrevet fre. d. 02. juli 2004 kl. 10:47:28| #13
I havent received anything yet so I wil try the link!
Skrevet fre. d. 02. juli 2004 kl. 11: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.
Skrevet fre. d. 02. juli 2004 kl. 11:24:58| #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
Skrevet fre. d. 02. juli 2004 kl. 11:30:23| #16
and it would be just as easy to alter the underlaying queries too!
Skrevet fre. d. 02. juli 2004 kl. 11:32:20| #17
just received your mail too, its been around the houses (long trip) :o)
Skrevet fre. d. 02. juli 2004 kl. 11:57:26| #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.
Skrevet fre. d. 02. juli 2004 kl. 12:02:51| #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!