How do I use ref-tables to display & store data

Hi,

Let’s say I want to build a survey app where I want to display a site name (with enum list) in Burmese for user to choose, but the data will be saved in English.

I’m thinking to create two tables, one for Burmese (to display) and it will be referenced to English table.

But I just can’t seem to figure out how to configure it in the form designer.

For now, what I have done is as below

Main table referenced to Burmese table which then referenced to English table.

But the data is stored as Burmese now.

Not entirely sure what your data schema and what you want to achieve globally, but I would suggest you simply make a table with key (english terms) as well as other data fileds with your own language. Then set own language to “Label” for that table.
When you call this table in a place such as ref type column which would generate the dropdown, your user will see own language, ie. the data field you set to label, while the actual data saved to the source is key value, i.e. english in this case.

3 Likes

@tsuji_koichi Thanks! Easier than what I was originally anticipating :slight_smile:

Additional question - how can I achieve the same result if I were to populate an enumlist using ValidIf instead of Ref to another table?

Set the data type to Enum list and “Base Type” to Ref. And save the app editor.
Back to the same data field, now you will see dropdown to select the ref table for that field. “Referenced Table name” section, pick up the table name.
Go to validIf setting and add the expression which yields the key value from target table, which is simply

YOURTABLENAME[KEYFIELD]

Thats it.

3 Likes

Thanks! One last question: is it possible to have multiple key-value entries in a single table? or it is required to have individual tables.

I m sorry, i m not with you, what do you mean?

Say, for example, in a table, can I have multiple key and labels? I assume it is not possible because in the form designer, I could only set 1 key per table.

Yes, correct.

One key + one label per table.

3 Likes

For reference: