Rowsource probleem

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.680
Hallo,
Ik heb een formulier met een subformulier in en een keuzelijst
Op basis van wat ik in die keuzelijst aanduid zal de inhoud van het subformulier veranderen
Als ik dat subformulier aanstuur via een query maar als ik dat probeerde via een andere weg lukte dat niet

ik schreef:
Me.[Subformulier_Overzicht_vandaag].RowSource = "SELECT Fiche.NAAM, DATA.CODE FROM DATA INNER JOIN Fiche ON DATA.KODE = Fiche.KODE WHERE (((data.DATUM) = Date - 2) And ((data.OFFEUSTHER) = [Forms].[Venster_Overzicht_vandaag].[Persoon]) And ((data.OPMERKING) <> 'verplaatsing'))ORDER BY Fiche.NAAM;"

Nu weet ik dat de fout in "Rowsource" zit want dat kan je blijkbaar bij een subform niet gebruiken

Wat is dan wel de juiste weg?

Alvast bedankt

JP
 
Nu weet ik dat de fout in "Rowsource" zit want dat kan je blijkbaar bij een subform niet gebruiken
Dat klopt natuurlijk niet; een formulier is ofwel niet-gebonden, en dan heeft het geen RowSource, ofwel het is wél gebonden en dan heeft het wél een RowSource. En dan heb je het ofwel over een tabel, ofwel over een Query. Ik snap niet helemaal waarom je de Rowsource verandert, en niet het filter. Dat eerste kan wel, maar vereist dat je na de aanpassing ook nog eens het formulier opnieuw laadt, omdat een geladen formulier 'fixed' is op de rowsource. Je kunt de rowsource dus niet zomaar veranderen. En een filter kan dat wel, en is dus veel flexibeler.
Daarnaast maak je de fout dat je het object verkeerd aanspreekt. Een subformulier is niet een zelfstandig object op een hoofdformulier, maar staat altijd in een container. Die heeft ook zijn eigen eigenschappen. Je moet dus, als je verwijst, aangeven dat je naar een formulier verwijst. En dat doe je zo: Me!Subform1.Form.RecordSource
Je krijgt dus:
Code:
Me!Subformulier_Overzicht_vandaag.Form.RowSource = "SELECT Fiche.NAAM, DATA.CODE FROM DATA INNER JOIN Fiche ON DATA.KODE = Fiche.KODE WHERE ((data.DATUM) = Date - 2) And ((data.OFFEUSTHER) = Forms!Venster_Overzicht_vandaag.Form.Persoon) And ((data.OPMERKING) <> ""verplaatsing"")) ORDER BY Fiche.NAAM"
Geen idee of dit wel werkt want dan moet ik de db even zien :). Maar het is in ieder geval qua syntax beter. Maar nogmaals: filteren is beter en sneller.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan