Opbouw grafiek

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
419
Ik maak de sql voor een grafiek aan in Design View. De query ziet er als volgt uit

Code:
SELECT tblPatientenLijst.PTN_ID, tblPatientenLijst.PTN_Naam, tblPatientenLijst.PTN_Voornaam, tblKenmerk.K_Naam, tblBloedAnalyse.BLA_Datum, Format(Format([BLA_Datum],"ddmmyyyy"),"00\/00\/0000") AS Datum, tblWaarden.W_Waarde, tblMinMaxeenheid.MME_Min, tblMinMaxeenheid.MME_Max
FROM tblPatientenLijst INNER JOIN ((tblBloedAnalyse INNER JOIN (tblKenmerk INNER JOIN tblWaarden ON tblKenmerk.K_iD = tblWaarden.K_ID) ON tblBloedAnalyse.BLA_ID = tblWaarden.BLA_ID) INNER JOIN tblMinMaxeenheid ON tblKenmerk.K_iD = tblMinMaxeenheid.K_ID) ON tblPatientenLijst.PTN_ID = tblBloedAnalyse.PTN_ID
WHERE (((tblPatientenLijst.PTN_ID)=1 AND ((tblWaarden.K_ID)=4))
ORDER BY tblBloedAnalyse.BLA_Datum;

Als ik deze als Rowsource gebuik werkt die perfect. Echter wijzig ik de Where-clausule naar dynamisch, als volgt:

Code:
SELECT tblPatientenLijst.PTN_ID, tblPatientenLijst.PTN_Naam, tblPatientenLijst.PTN_Voornaam, tblKenmerk.K_Naam, tblBloedAnalyse.BLA_Datum, Format(Format([BLA_Datum],"ddmmyyyy"),"00\/00\/0000") AS Datum, tblWaarden.W_Waarde, tblMinMaxeenheid.MME_Min, tblMinMaxeenheid.MME_Max
FROM tblPatientenLijst INNER JOIN ((tblBloedAnalyse INNER JOIN (tblKenmerk INNER JOIN tblWaarden ON tblKenmerk.K_iD = tblWaarden.K_ID) ON tblBloedAnalyse.BLA_ID = tblWaarden.BLA_ID) INNER JOIN tblMinMaxeenheid ON tblKenmerk.K_iD = tblMinMaxeenheid.K_ID) ON tblPatientenLijst.PTN_ID = tblBloedAnalyse.PTN_ID
WHERE (((tblPatientenLijst.PTN_ID)=[COLOR="#FF0000"][B][TempVars]![Patient_ID][/B][/COLOR]) AND ((tblWaarden.K_ID)=[COLOR="#FF0000"][B][TempVars]![BloedKenmerk][/B][/COLOR]))
ORDER BY tblBloedAnalyse.BLA_Datum;

Dan werkt die niet meer. Forceer ik het gelijkheidsteken in Design View dan werkt dit slechts éénmaal. Weet niet waarom?

Daarom wil ik de opbouw van de grafiek in een procedure opzetten. Hier faalt het met de fout: "Kan niet toewijzen aan alleen lezen eigenschap". Begrijp ik niet! Hierbij de procedure;

Code:
Private Sub Form_Load()
    Dim sqlBron As String
    Dim sqlTransform As String
 
    sqlBron = "SELECT tblPatientenLijst.PTN_ID, tblPatientenLijst.PTN_Naam, tblPatientenLijst.PTN_Voornaam, tblKenmerk.K_Naam, tblBloedAnalyse.BLA_Datum, " & _
        "Format(Format([BLA_Datum],""ddmmyyyy""),""00\/00\/0000"") AS Datum, tblWaarden.W_Waarde, tblMinMaxeenheid.MME_Min, tblMinMaxeenheid.MME_Max " & _
        "FROM tblPatientenLijst INNER JOIN ((tblBloedAnalyse INNER JOIN (tblKenmerk INNER JOIN tblWaarden ON tblKenmerk.K_iD = tblWaarden.K_ID) ON " & _
        "tblBloedAnalyse.BLA_ID = tblWaarden.BLA_ID) INNER JOIN tblMinMaxeenheid ON tblKenmerk.K_iD = tblMinMaxeenheid.K_ID) ON tblPatientenLijst.PTN_ID = tblBloedAnalyse.PTN_ID " & _
        "WHERE (((tblPatientenLijst.PTN_ID) = " & [TempVars].Item([Patient_ID]) & " And ((tblWaarden.K_ID) = " & [TempVars].Item([BloedKenmerk]) & _
        "ORDER BY tblBloedAnalyse.BLA_Datum;"
    
    sqlTransform = "SELECT qryBloedkenmerken.[Datum], qryBloedkenmerken.[W_Waarde], qryBloedkenmerken.[MME_Min], qryBloedkenmerken.[MME_Max] " & _
        "FROM qryBloedkenmerken;"

    With Me
        .txtPatientNaam = TempVars.Item("Patien_Naam") & " " & TempVars.Item("Patent_Voornaam")
        .txtPatientNaam.BackStyle = 0
        .txtPatientNaam.BorderStyle = 0
        .txtPatientNaam.Locked = True
        .txtPatientNaam.Enabled = False
        
        With .grfBloedKenmerk
            .grfBloedKenmerk.HasTitle = True
            .grfBloedKenmerk.ChartTitle = TempVars.Item("GrafiekTitel")
            .RowSource = sqlBron
            [COLOR="#FF0000"][B].TransformedRowSource[/B][/COLOR] = sqlTransform
        End With
    End With
End Sub

Graag hulp! :confused:
 
Het eerste deel is reeds opgelost (althans deels). Was voor een stuk mijn eigen fout. :eek:

Deel twee vanaf "Daarom wil ik de ...." blijft behouden.
 
I.p.v. die uitgebreide queries had ik liever gelezen hoe je e.e.a. aanschiet. Ik vermoed dat je het grafiek formulier aftrapt vanaf een ander formulier. Dat zou ik namelijk zelf doen. En daarbij hang ik dan een vaste query aan de grafiek (lost je probleem op) en gebruik ik de QueryDefs collectie om de bron (source) van die query aan te passen.
 
Juist: frmGrafiek wordt geopend via frmKenmerkKeuzeNaarGrafiek. In de procedure Form_Load laad ik dan de query op voor de grafiek. Ik heb gemerkt dat de getransformeerde query dan automatisch aangemaakt wordt. Ik begreep eerst de mededeling "Kan niet toewijzen aan alleen lezen eigenschap". Uiteraard de getransformeerde query wordt automatisch aangemaakt en is niet te bewerken. Werkt nu perfect. Thanks voor de suggesties! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan