First, let me give some background on what I've been trying to do. We wanted to set up an inventory system using QR codes which would be put on stickers on our stock and then scaned with smartphone when removing inventory bring up the appropiate web page. The QR code should contain something like: http://GeorgesTV/qrinv/update_inventory?partnum=12345
and the following is the code I wrote for update_inventory: rows = db(db.invent.partnum == request.vars.partnum).select() # change rows object to row object row = rows[0] # display queried object record = crud.update(db.invent, row.id) return dict(record=record) initialy it would work fine it would run the query and pull up the correct record but if I tried to update the record I would get the folling error: Traceback (most recent call last): File "/home/joel/Source/web2py/gluon/restricted.py", line 205, in restricted exec ccode in environment File "/home/joel/Source/web2py/applications/GeorgesTV/controllers/qrinv.py" <http://127.0.0.1:8000/admin/default/edit/GeorgesTV/controllers/qrinv.py>, line 123, in <module> File "/home/joel/Source/web2py/gluon/globals.py", line 173, in <lambda> self._caller = lambda f: f() File "/home/joel/Source/web2py/applications/GeorgesTV/controllers/qrinv.py" <http://127.0.0.1:8000/admin/default/edit/GeorgesTV/controllers/qrinv.py>, line 116, in update_inventory row = rows[0] File "/home/joel/Source/web2py/gluon/dal.py", line 7755, in __getitem__ row = self.records[i] IndexError: list index out of range I thought maybe the request variable wasn't getting passed correctly when updated so I made the following change: session.partnum = request.vars.partnum rows = db(db.invent.partnum == session.partnum).select() which didn't help either, but I then noticed that if I tried to pull up the update_inventory page now without the query string it would come up since session varible was already set and it would update correctly! I was eventualy able to get it work more or less how I wanted by writing a page whose only function was to take the query string set a session variable and then redirect you to the update_inventory page. But I worry that using session varibles may cause unforseen problems eventualy. So what I would like to know, is this a bug I've found or am I going about doing this incorrectly? Could someone explains what happens when you use crud.update and why I get this error when I try to use query strings? Thanks in advance for your help. Joel Robinson