x
Solved

Formula Question....

Posted on 2004-09-20
Medium Priority
250 Views
Hi...Have two fields in a form A1 & A2.

both the fields can store multiple values in it. each value is 13 bytes long.

Now I've to put a validation so that no duplicates can be entered.
In A1's input translation I've @Unique(A1)
In A2's input translation I've @Unique(A2)

But i also want to restrict this. If a value in in A1 and the same value is in A2. it should give an error message.

I did put the following in A2's input validation.
@If(a2 = a1;@Failure("cannot enter duplicates");@Success)...

But this works only for some values.(Not sure why... may be becuase A1 and A2 are multi-value fields)

thanks
Kalios
0
Question by:kalios

LVL 24

Expert Comment

ID: 12104281
use

@If(a2 *= a1;@Failure("cannot enter duplicates");@Success)...

~Hemanth
0

LVL 2

Author Comment

ID: 12104451
great so *= is the trick..

Hemanth, is there a way to show the duplicate in the error message.

thanks
0

LVL 24

Expert Comment

ID: 12104532
There is..
0

LVL 2

Author Comment

ID: 12104537
How?
0

LVL 2

Author Comment

ID: 12104601
sorry, i've no more points left. i'll have to buy them. i'll for my next question.
0

LVL 14

Expert Comment

ID: 12104722
Kalios
Use @keywords

Partha
0

LVL 24

Expert Comment

ID: 12105676
0

LVL 24

Accepted Solution

HemanthaKumar earned 140 total points
ID: 12105683
Let me paste the formula here

List := A1 : A2;
num := "0" : "1" : "2" : "3" : "4" : "5" : "6" : "7" : "8" : "9";
idList := @Subset( num *+ num *+ num; @Elements(List));
tmp1 := @Unique(@Replace(List; List; idList));
tmp2 := @Trim(@Replace(idList; tmp1; ""));
@Replace(tmp2; idList; List);
0

LVL 31

Expert Comment

ID: 12105843
Neat, been a while since I saw that one.  Ah, the joys of list processing.
0

LVL 2

Author Comment

ID: 12107047
I can just say ONLY one thing..

SUPER HEMANTH - If I could increase the font size I would do it to the biggest.

thanks
Kalios
0

LVL 2

Author Comment

ID: 12107094
It returns all the duplicates. I've used  num*+ num*+ num*+ num  as i've more values here.

also, once I save the document it displays me all the duplicates which is great. but i also want this.
once i click ok on the message all the duplicates should be removed from A2.

thanks
Kalios.
0

LVL 2

Author Comment

ID: 12111888
Hemanth, I get the list of all the duplicates as return which is great. is it possible to remove duplicates from A2 by using formula or do i have to write a script for that.
0

LVL 2

Author Comment

ID: 12112160
ok i get it...

a := @Replace(A2;fieldwhereistoredduplicatesfromyourcode;"");
@If(fieldwhereistoredduplicatesfromyourcode = a2; @SetField("a2";a) ;"");
@Command([ViewRefreshFields])

this works fine.... can i do any better.
kalios
0

LVL 24

Expert Comment

ID: 12112807
You are good with the code
0

Featured Post

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment Already a member? Login.

This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
Notes 8.5 Archiving Steps and Tips This article covers setting up a Notes archive, and helps understand some of the menu choices making setting up and maintaining a Notes archive file easier.
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Through the video, you can check the migration process of Outlook PST file to PDF. Kernel for Outlook to PDF tool can convert Outlook emails with all attributes like Subject, To, From, Cc, Bcc and other folders such as Inbox, Outbox, Sent Items, Jun…
Suggested Courses
Course of the Month9 days, 8 hours left to enroll

606 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.