Hi Annet,
I believe you want something like this:
def multitable_form_update():
last=0
if request.args:
last=request.args[0]
# retrieve next 2 addresses
addrs=db(
db.cli_addr.id>last).select(limitby=[0,2])
if addrs:
addr=addrs[0]
curr=
addr.id
# set defaults to be shown on form
db.client.name.default=db.client[addr.client].name
db.cli_addr.street.default=addr.street
db.cli_addr.city.default=addr.city
else: # show EOF msg and loop
session.flash='no more addresses on file'
redirect(URL(request.action))
# set client to read only
db.client.name.writable=False
form=SQLFORM.factory(db.client,db.cli_addr)
# add link to next
form[0][-1][1].append(A("Skip to
Next",_href=URL(request.action,args=curr)))
if form.accepts(request.vars):
# update record and redirect
addr.update_record(**db.cli_addr._filter_fields(form.vars))
session.flash='record updated'
redirect(URL(request.action,args=last))
return dict(form=form)