Posted form vars with the same name will be comma delimited.
If you are nesting lists, then you need to pass the location of
your outter loop to the listGetAt function.
From your original code..
#ListGetAt(listGetAt(Form.ProductGroupID,delProductGroupState),
1, "|")#
I really recommend not nesting the lists.. it's not helping
you that much, and it puts your application at risk by giving the
end user to much control over the data. Try just passing the ID
number - whichever one is most relavant - then using an insert
statement in combination with a select statement to get whatever
info you need during the insert. This way you don't need to worry
about your string data possibly containing one of the delimiters
and ruining everything on you.
Something like this..
INSERT INTO table (field1,field2,field3,field4)
(SELECT 'some text' as field1, tablename.field2,
othertable.field3, 'string' as field4 FROM etc..... )
You can replace the literal strings "some text" or "string"
with form vars to allow for data to be inserted from the form scope
and from the select query at the same time..