I am using ColdFusion (Railo 3.3), and I have several forms using jQuery that can dynamically add a set of form fields (for instance, the user can tick a box to add another company owner that brings up all the relevant fields for the additional owner). All the information needs to be inserted into a database, but I don't know exactly how many fields will be submitted at any given time.
How do I process this arbitrary number of fields to insert into a DB with ColdFusion?
Thanks!
Form is a structure aka Collection.
You can just loop over the entire form structure and insert all the fields, you will probably need to exclude some like the submit button etc, but you should know the name of this.
<cfloop collection=#form# item="field">
<cfif field neq 'submit'>
.... insert into DB #form[field]#
</cfif>
</cfloop>
Related
I need to allow the users repeat some of the form fields(or form groups) in the survey forms. There should be a + or - button next to the field that if the user clicks on +, then a new field is created.
Example: https://www.rhyzz.com/repeatable-fields.html
I would be surprised to know if Qualtrics doesn't have this feature.
I google for this but no success.
You can't create new fields (choices, answers, variables, etc.) on the fly in Qualtrics. A field has to be defined in the survey for it be be saved in the response data.
You could write a JavaScript to show and hide fields to give the appearance of adding and removing fields, but you would have to define the maximum number of fields in the survey beforehand.
I have a form in Access 2007 with 2 subforms. Each one has it's own table. All 3 tables have a primary key to link on. The 2 subforms can be linked by the primary key and a second field. Users want to print the form, rather then a report, to review the record data. When the form prints the order is as follows:
Main form, [subform1]![record1], [subform1]![record2], etc, [subform2]![record1], [subform2]![record2], etc, last page of the main form.
How do I force the form print order to be:
Main form, [subform1]![record1], [subform2]![record1], [subform1]![record2], [subform2]![record2], etc, last page of the main form.
I've tried setting up the table relationships and checked all the Master-Child links. The form navigates through records correctly. I've also looked at print options but didn't see a solution there either.
You will need a query where you join the master table with the two subtables.
Then apply the requested order and create new form for printing.
Still, a report would be better. Remember to remove any sorting from the query and specify that in the report.
I have a form and it's record source is a table. I created the form separately and added the control sources to the different fields in the form and also changed it's record source. I imported values from an excel sheet into the table and when I open the form, I do not see the tabe values being displayed in the form. Any idea what I should do to see the table records in the form?
In form design mode, check the form's DataEntry property. It sounds like yours is set to Yes, which hides existing records and only allows new entries. Change it to No and you will see the existing records.
Another possibility is that a filter is active and no records match that filter.
Use a form wizard to generate a working form based on your table. Then once you can see the data being displayed in the form, customise as needed.
What I really need is a Tabular form that allows me to update multiple rows at a time while being filterable like an Interactive report. Any chance this is even remotely possible?
I would also like to hijack the row checkboxes on a tabular form that appear when the 'delete' functionality is activated and use them to select which rows get assigned a to a group based on a common attribute. (i.e. My table contains parts in my inventory and I need to be able to assign parts with common attributes to a group for processing)
Perhaps a group-by function that creates a new row in a 'Group' table with the group as the PK and the parts assigned to that group as a list or something...?
Thoughts? I am kind of at a loss...
It's really not that hard :) You can easily transform an IR into a pseudo-tabular form. And even though there are always more stylish and elegant solutions, those usually involve lots of javascript and/or plugins. They're nice, but not always what you want or need of course.
So how to manipulate your output? Use the APEX_ITEM api!
Quick example. I have an ir built on emp. I added a checkbox and textbox.
select empno, ename, deptno,
apex_item.checkbox(1, empno) empno_selected,
apex_item.text(2, ename, 10, 10) ename_edit
from emp
Don't forget: in the column attributes, set Display text as to Standard Report Column. If you don't, the output will be in plain text. Since apex_item generates html code, you don't want the plain text of course :)
Now, to be able to perform DML based on the actions you do in those generated fields, you will need a process. Let me start off by pointing out though that the generated items are stored in application variables, namely in arrays in APEX_APPLICATION.
Take note of the behaviour of checkboxes: only ticked boxes will have their value stored in the array!
As an example, i've made this small On Submit process (also adding a SUBMIT button on the form to actually perform the submit...)
for i in 1..apex_application.g_f01.count
loop
insert into empselected(empno, selectiondate, ename_changed)
values(apex_application.g_f01(i), sysdate, apex_application.g_f02(i));
end loop;
This will loop over the records with the checkboxes ticked, and insert them into some table. For example, i ticked the box with KING and edited the textfield. See record nr 2 (1 is from a previous action ;))
It's not all the way there yet though. You still miss out on the functionality of a tabular form and it's processes, and things like optimistic locking. If you want to stay with tabular forms, you can also, for example, check out this link. There have also been some questions here about writing your own mru processes etc, like this one ;)
It is possisble, using the same tabular form.
Create an item (text item) in the tabular form region.
Create a submit button (Create a button displayed among this region's items)
Modify the where clause in the tabular form region source
For Example, you need search by customer name:
WHERE lower(CUSTOMER_NAME) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'
If you need to search for other field only add other condition to the where clause
WHERE (
lower(CUSTOMER_NAME) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'
or lower(CUSTOMER_address) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'
)
Simple and use the same tabular form.
I'm not real familiar with inputting data through forms. Up until now I've just been handling the data from the table. However, now I have a table with two pieces of information:
Group ID
Each ID is in a group, not all IDs are represented in the table (ie there is another table with a complete list of IDs...many to one), and multiple IDs can be associated with the same group.
I want to make a form that allows the user to add a new ID/group row, edit an existing ID's "Group," and delete an existing Row. I want the user to see the changes he/she has made. I think there's a way to show a snapshot of the table as part of the form? How do I do all this?
Have you tried a continuous form? You can use a combo to display additional information for each control/field, if that is required.
EDIT re Comment
From your comments and original post, it seems that what may suit is a main form and subform. The subform can be set to prevent editing - it will display the existing groups. The main form will have your combos and buttons.
As to the various types of form, look at the Views Allowed property for the form, you will find:
Single Form (suitable for main form)
Continuous Form (suitable for subform)
Datasheet
Link one table (or query) to the main form and your second table (or query) to a sub form. Drag your sub form onto the main form. Tie the two forms together in properties (sub form) under link master fields and link child fields add the key ID.