Larry -
This is really neat. Could you possibly digress on how you came to
find that this would work, underlying principle or somesuch. How far can we
push this?
Thanks,
Bernie
>----- Original Message -----
>From: "Lawrence Lustig" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Monday, February 25, 2002 12:03 PM
>Subject: Re: Looking for a rules
>
>
>> Hi JM. See answer at bottom. . .
>>
>> > I have a table that contains the components for a receipt.
>> > Each row contains 3 columns :
>> >
>> > Receipt TEXT (8)
>> > Component TEXT (8)
>> > Weight_Percentage DOU
>> >
>> > I am looking for a rule able to prevent user to enter new rows or change
>> > existing rows such as the sum of Weight-Percentage stay less or equal to
>> > 100 %
>> >
>> > I tryed :
>> > RULES 'Receipt incorrect' FOR composition SUCCEEDS +
>> > WHERE (100 -Weight_Percentage) >= (SELECT SUM(Weight_Percentage)
>> FROM
>> > composition T1 +
>> > WHERE T1.Receipt = composition.Receipt)
>>
>> This is almost the answer. The problem is that you need to have a primary
>> key on this table, so you can exclude the current row from the SUM if the
>> row has already been added. Assuming the key is CompID, try the rule like
>> this:
>>
>> RULES 'Receipt incorrect' FOR composition SUCCEEDS +
>> WHERE (100 -Weight_Percentage) >= +
>> (SELECT SUM(Weight_Percentage) FROM composition T1 +
>> WHERE T1.Receipt = composition.Receipt AND +
>> T1.CompID <> Composition.CompID)
>>
>> I did a quick test with this rule using both insert and update (from the
>> browser) and it appears to give the results you want.
>> --
>> Larry
>>
>>
>>
>> _________________________________________________________
>> Do You Yahoo!?
>> Get your free @yahoo.com address at http://mail.yahoo.com
>>
>> ================================================
>> TO SEE MESSAGE POSTING GUIDELINES:
>> Send a plain text email to [EMAIL PROTECTED]
>> In the message body, put just two words: INTRO rbase-l
>> ================================================
>> TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
>> In the message body, put just two words: UNSUBSCRIBE rbase-l
>> ================================================
>> TO SEARCH ARCHIVES:
>> http://www.mail-archive.com/rbase-l%40sonetmail.com/
>
>================================================
>TO SEE MESSAGE POSTING GUIDELINES:
>Send a plain text email to [EMAIL PROTECTED]
>In the message body, put just two words: INTRO rbase-l
>================================================
>TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
>In the message body, put just two words: UNSUBSCRIBE rbase-l
>================================================
>TO SEARCH ARCHIVES:
>http://www.mail-archive.com/rbase-l%40sonetmail.com/
>
================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/