I would like to know if LN is capable of creating a form that can be used to display variable rows of data (based on the contents of a table) and collect user input data for each of the rows.
I will simplify the application, but essentially what we want to do is import questions into LN from a relational database and capture user responses. The questions will change regularly in quantity and content. We would like to develop a single form that is not hard coded or restiricted and can accommodate the variable nature of the data.
The actual application is a bit more complex (questions are grouped by topic, etc.), but knowing if a LN form can be completely data driven would help us determine if LN may be the right tool. Thanks you for your help!
Subject: Forms - handling variable data rows
Notes can do an excellent job with this if you work with response documents instead of staying within a single document. This also allows categorization, which sounds like it may address some of your more complex needs. You can still view all items together on a single form using an embedded view.
Subject: Forms - handling variable data rows
It depends on the details of what you want to do. Notes enforces separation between the user interface design (the form) and the data (the document).If, on any one day, all users will see the same interface then you can use a single form. On a different day, when the questions are different, you can run code that changes the form. This can be completely data-driven. All users then see the new interface.
If, on any one day, different users must see different interfaces, then it is not sensible to use a Notes form. (But you can easily do this in HTML, where the user interface and the data are not separated.)
When you want users to answer questions, it is usually better to present one question at a time. This focuses users’ attention on each question in turn, and you get better quality answers. In this case you do not ever need to modify the form. You can use a single form with hide-whens to do all the work at run time.