Yeah, it looks like the code didn't come through very well. Pastebin would be good or go to groups.google.com where you can paste it and format it as "Courier New" font.
I'd try to stay away from using 0 in your business logic. It might not always do what you expect since it can have different meanings in different contexts. The one place where you *do* use it is when checking the length of an object (ie if len(request.args(0))>0:). For example, to retrieve all rows in a table, you can do something like this: rows = db().select(db. questionaire.ALL, orderby='<random>') * * Another tactic I would recommend is to get one component working well before integrating it with something else. You've got some complicated things going on such as appending to forms, checking IS_IN_SET against a query, and some complex query mashing in general. For checking the form before it gets processed, "onvalidation" might work: http://web2py.com/book/default/chapter/07#onvalidation

