Select all choice in a multiple choice (dynamic)
Hi!
In a trigger after update of a field (YES, NO), I would like the code select all options in a multiple choice (dynamic) if YES,
Which code should I use?
Thanks!
9 replies
-
You can try something like:
let selDMC := for loop1 in numbers(dMCfieldname) do record(tablename,loop1) end
This will put all selections of a dMC into an array. Change the following:
dMCfieldname
tablename
to match your specific environment.
-
Sorry, I didn’t make myself clear.
I have a field1 Yes/NO
I have a multiple choice field "One","Two","Three","Four","Five".
I would like this:
when the field1 checked (Yes), all the elements of the field2 would have checked.
-
Sorry, misread your post. Here is what you can put in your trigger after update:
let allTable := (select Table1); if YN then dMC := allTable end
Change the following references to match your environment:
Table1 = the table name where the dynamic Multichoice points to
YN = the yes/no field
dMC = dynamic multi choice field name.
Thankfully Ninox allows multichoice fields to be set by an array. Line 1, we start by creating an array with all of the records from the table.
Line 2, we check to see if the Yes/No field is true and if so then set the dMC to be equal to the array we just created.
-
Fred
Thank you so much!
It works!
But I didn’t understand why the expressiondMC := (select Table1)
selects all the elements.
And then why is it just for the current record?
-
I’m having trouble entering this code into the database that’s on Ninox’s server.
It works perfectly in the imac app.
The server reports the following error: "Field must return dynamic values: allTable in linea 1, colonna 57.
This is the code I entered:
let allTable := (select 'Natura Giuridica'); if 'Seleziona la natura giuridica aziendale' then 'Natura Giuridica Aziende' := allTable else 'Natura Giuridica Aziende' := null end
-
Web Name said:
And then why is it just for the current record?Usually a trigger after update of a field only affects the record you are on.
Are you asking to make the trigger affect ALL records in the table?
-
Fred said:
Are you asking to make the trigger affect ALL records in the table?No. Thanks!
-
Web Name said:
This is the code I entered:
let allTable := (select 'Natura Giuridica');
if 'Seleziona la natura giuridica aziendale' then
'Natura Giuridica Aziende' := allTable
else
'Natura Giuridica Aziende' := null
endIn the server Ninox, this code works only on click in a button.
-
this code worked for me. In my case I wrote every Fieldnumber, which needs to get selected and if the "Yes/No" Field is turned off again, the selections in the multiple Choice Field are made undone.
let allTable := (select Vorausplanung); if 'Alle Monate auswählen' = true then Monatauswahl := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] else if 'Alle Monate auswählen' = false then Monatauswahl := [0] end end
In this case Vorausplanung is the Table where I want to get the code executed
'Alle Monate auswählen' is the ON/OFF Switch
'Monatauswahl' is the Multiple Choice Field with 12 months.
Content aside
- Status Answered
- 1 yr agoLast active
- 9Replies
- 489Views
-
4
Following