In the users table, set the region for admins to 0.
The table that the user is inserting data to should contain a region column as well.
when the user inserts a record, it should store the region from the session variable.
On the results, update and details pages, edit the recordset to add a new condition to the where clause, you will need to use advanced view in the recordset dialog box:
WHERE (regionColumn <> 0 And regionColumn = paramUserRegion) OR (0=paramUserRegion2)
and create 2 new variables
Name: paramUserRegion
Type: Integer
Default Value: -1
Run Time Value: $_SESSION['userregion']
Name: paramUserRegion2
Type: Integer
Default Value: -1
Run Time Value: $_SESSION['userregion']
NOTE: in my example above, i am using regionColumn as the name of the region column in the table. and userregion as the name of the session variable. you will need to adjust accordingly. also, when editing the recordsets, if there is already a where clause:
WHERE Column = something
dont replace it, just add on:
WHERE Column = something AND (regionColumn <> 0 And regionColumn = paramUserRegion) OR (0=paramUserRegion2)