Hi
I have got a problem with a choice field. I have a formula which works perfectly for what I wanted but now need to add an additional column to the Search formula. Every time I try to add it in one form or another, the page goes blank. So I guess, it really does not like Choice columns. the formula which works is as follows:
SortByColumns(Search('JMS Audit Register',SearchBox1.Text,"Auditor","Initiator"),"Auditor", If(SortDescending1, Descending, Ascending))
This searches the columns I want perfectly and sorts aswell.
If I add the column "Site" the page goes blank, If I add "Site.Value", the page goes blank. The error message is, "Site.Value" does not exist!
I have checked the URL to ensure there is nothing after Field=Site, just in case I had missed something.
I have tried changing the command from Search to Filter, and it didn't like that at all.
I have attached a pic of my screen. There is nothing personal in here as it is a job in process. With various testing to ensure the app is working, which other than this problem is working perfectly.
Does anyone have any ideas??
Solved! Go to Solution.
Hi @DebsWadge ,
Based on the Editform screenshot you provided, I know where is the issue on your side.
Please consider set the DefaultMode property of the Edit form to following:
FormMode.Edit /* <-- Rather than FormMode.New */
Please take a try with above formula, then check if the issue is solved.
Best regards,
Hi,
I assume
1. You want to search a text which you entered in the textbox in Auditor, Initiator and Site fields of the JMS Audit Register entity/table/list.
2. all three fields are text type.
if my assumptions are correct please use below formulae to search. If they are not correct please elaborate about that.
SortByColumns(Search('JMS Audit Register',SearchBox1.Text,"Auditor","Initiator","Site"),"Auditor", If(SortDescending1, Descending, Ascending))
If this answers your question mark it as verified.
Regards,
Pavan Kumar Garlapati
HI
Thank you for responding.
The fields are all text, however the field "Site" is a choice field. I've already tried the formula you have written. I have also tried the formula:
SortByColumns(Search('JMS Audit Register',SearchBox1.Text,"Auditor","Initiator","Site.Value"),"Auditor", If(SortDescending1, Descending, Ascending))
Which ever formula I use, the same thing happens, the page goes blank. the only thing I can think of is, as this is a choice field. It just doesn't like it.
Hi,
Please use something like this
Note: .Email, .Facebook are the values inside the optionset so change them accordingly and add as many as we have in optionset
Filter('JMS Audit Register', Or(SearchBox1.Text = 'Site'.Email,SearchBox1.Text = 'Site'.Facebook,'Auditor' = SearchBox1.Text,'Initiator'=SearchBox1.Text);
Ideally search function expects only text values so replace the search block of your code with above formulae.
if this answers your question mark it as verified and give thumbs up.
Regards,
Pavan Kumar Garlapati
Hi @DebsWadge ,
Could you please share a bit more about your scenario?
Do you want to add a Choice type column within your Search function as Search column?
Based on the issue that you mentioned, I think you have some misunderstanding on the Search function. Within the Search function, you could add Text type column as Search column, the complex type column (e.g. Choice, LookUp, Person etc) is not supported within Search function.
I have made a test on my side, please take a try with the following workaround:
Please take a try to modify your formula as below:
SortByColumns(
Search(
AddColumns('JMS Audit Register', "SiteValue", Site.Value), /* <-- Add formula here */
SearchBox1.Text,
"Auditor",
"Initiator",
"SiteValue"
),
"Auditor",
If(SortDescending1, Descending, Ascending)
)
or
SortByColumns(
Filter(
AddColumns('JMS Audit Register', "SiteValue", Site.Value), /* <-- Add formula here */
SearchBox1.Text in Auditor || SearchBox1.Text in Initiator || SearchBox1.Text in SiteValue
),
"Auditor",
If(SortDescending1, Descending, Ascending)
)
Note: Please make sure that you have set the "Data row limit for Non-delegable queries" option to maximum value -- 2000 within Advanced settings of App settings of your app.
More details about AddColumns function, please check the following article:
Please take a try with above solution, check if the issue is solved.
Best regards,
HI
That is great, the first option works perfectly. It has however, caused 2 formulae errors as follows:
DetailForm1.
The Issue:
Invalid formula. Expected a value compatible with 'DataSource'
Location
DataForm1.item
Item=Fx ˅ BrowseGallery1.Selected Red squiggly line under the .Selected
EditForm1
The Issue
Invalid formula. Expected a value compatible with 'DataSource'
Location
EditForm1. Item
The existing formula in the box is:
Item=Fx ˅ BrowseGallery1.Selected /* <--Gallery1 represents the Gallery control within your BrowseScreen1*/
These formulae were fine when the formula in BrowseGallery1 was set to:
SortByColumns(Search('JMS Audit Register',SearchBox1.Text,"Auditor","Initiator"),"Auditor", If(SortDescending1, Descending, Ascending))
I don't understand why they should now throw up errors in both DetailForm1 and EditForm1 with the formulae you gave me for BrowseGallery1.
HI v-xida-msft
I have used the formula you sent:
SortByColumns(Search(AddColumns('JMS Audit Register',"SiteValue",Site.Value),SearchBox1.Text,"Auditor","Initiator","SiteValue"),"Auditor", If(SortDescending1, Descending, Ascending))
It in itself works perfectly and does everything I need it to do. Big thank you for that.
However, it has thrown up 2 formulae errors in the DetailForm1 and EditForm1 details below:
DetailsForm1
BrowseGallery1.Selected
EditForm1
BrowseGallery1.Selected /* <--Gallery1 represents the Gallery control within your BrowseScreen1*/
Both formulae worked ok with the original formula. I have tried various things, but I can't get this problem sorted. I really don't have enough knowledge with formulae and am easily confused. Sorry to be a pain.
Hi @PavanKumar ,
I assume that your 'JMS Audit Register' data source is a SP List, please take a try with above formula I provided to configure your Gallery. Then modify the Item property of the Display form and Edit form in your app to following formula:
Set the Item property of the Display form and Edit form to following formula:
LookUp('JMS Audit Register', ID = BrowseGallery1.Selected.ID)
If the 'JMS Audit Register' data source is not a SP List data source, please consider modify above formula as below:
Set the Item property of the Display form and Edit form to following formula:
LookUp('JMS Audit Register', 'Primary Column' = BrowseGallery1.Selected.'Primary Column')
Please take a try with above solution, then check if the issue is solved.
More details about LookUp function, please check the following article:
Best regards,
Hi v-xida-msft
I have done as you suggested. Yes, the app's source is a SP list. A very long one as regards fields!!
The DetailForm1 now works perfectly with your formula. I have also entered it in the EditForm1 Item view as per your instructions. Now whilst it has taken away the 2 formulae errors. In the DetailForm1 it works perfectly. Pulling the information from the SP list. However, now this is strange. In the EditForm1 it's not pulling anything through. I have taken screenshots and added them in the attachments for you to see. Normally, the EditForm1 should have pulled all the information through into the boxes. It must be something tiny, as the error dots have disappeared, so PA is happy with the formula, but it is missing something??
I have also read the LookUp info link you sent me. It is very interesting and clever. Would love to go on a course to learn more about formulae.
I really do appreciate your help with this.
Hi @DebsWadge ,
Based on the Editform screenshot you provided, I know where is the issue on your side.
Please consider set the DefaultMode property of the Edit form to following:
FormMode.Edit /* <-- Rather than FormMode.New */
Please take a try with above formula, then check if the issue is solved.
Best regards,
User | Count |
---|---|
142 | |
137 | |
78 | |
73 | |
70 |
User | Count |
---|---|
228 | |
139 | |
78 | |
61 | |
56 |