Arnoud Posted September 14, 2003 Posted September 14, 2003 Bij het maken van een interne relatie krijg ik bovenstaande melding. Mijn dochter veld is een calculatie met daarin een if statement. De voorwaarde bevat bovendien een zgn. dependente waarde. Bij meer simpele calcaties gaat alles goed. Om de portal toch te laten werken moet ik de uitkomsten van de calcuatle (0 of 1) eerst middels een loop overpompen in een normaal rekenveld. Hoe krijg ik de portal werkend? Quote
AvD Posted September 28, 2003 Posted September 28, 2003 portal: veld kan worden geindexeerd Je bedoelt waarschijnlijk dat het NIET kan worden geïndexeerd? Dat gebeurt inderdaad in een aantal gevallen: als je key-veld afhangt van een unstored calculation, van een global, of van een relationele waarde. Je zal dus eventueel je calculatie en relatie moeten herzien. Kan dat niet, dan is de oplossing die je zelf voorstelt een haalbaar alternatief, hoewel je "database integrity" daardoor bedreigd wordt. Quote
Koen Van Hulle Posted September 29, 2003 Posted September 29, 2003 Misschien handig om je exacte toepassing te verduidelijken. Er zijn wat truukjes om het eventueel op te lossen, maar het hangt meestal van de toepassing af om er de juiste uit te kiezen. Koen Quote
Arnoud Posted September 29, 2003 Author Posted September 29, 2003 Intussen ben ik eruit maar ik zal toch even vertellen wat het probleem was. In de calculatie (veld) zat een status(currentdate). Aan de hand van de huidige datum werd zo getest of een ingestelde datum was overschreden en zo ja, dan werd dat in het veld als "aktie" gemeld. Nu wilde ik alle records waarvan dat veld "aktie' aangaf, in een portal weergeven, teneinde zo makkelijk records te kunnen selecteren (dus een selfjoin). De keys waren dus afhankelijk van de genoemde calculatie. Op zich geen probleem ware het niet dat dit alleen werkte als ik calculatie op STORED zette. En daar zat nu juist het probleem: dan werd de Status(currentdate) bij het opstarten niet meer ververst met de aktuele datum. Ik heb het opgelost door de verguisde Today te gebruiken in plaats van Status(Currentdate). De calculatie is nu stored, en dus kunnen de keys worden geindexeerd. Het zijn slechts honderden records, dus dat is goed te doen. Een net zo goed (lees: net zo snel) alternatief is een nieuw unstored calcuatlieveld met status(currentdate) bij het opstarten via een replace een datumveld te laten verversen zodat de cuculatie waarin laatsgenoemd veld zou staan weer stored kan worden en dus als key is te gebruiken. Van een loop heb ik afgezien omdat dit traag is. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.