don't worry about the foreign key too much.
for example this means that a value for imageid in the voting table should match an imageid value in the image table.
in this way, if you need to produce a recordset to show all pictures, with number of votes for each, you would start by creating a query with an inner join on this field.
also, a value for userid in the voting table should match a userid value in the user table.
by creating a query with an inner join on this field, you could determine, for example, which user voted for which picture.
heres a quick walkthrough as i see it, (I assume you have dataassist, it's not essential , but makes things easier)
On your voting page, add a recordset to show all of the images, (select * from tblimages will do for starters)
add a dataassist repeating table with one image displayed in each 'cell' (<td> </td> tag)
also, within each cell add...
a form with a vote button
a hidden field with imageid as its data source
when you load your page, you should now see all of your images, with a vote button displayed under each image
your page now has a set of repeating forms, one for each image
now add the dataassist insert record server behavior, so that when the vote button is pressed, the imageid from the form's hidden field, along with your userid value, is inserted into tblvote.
if you wish, redirect to a 'thanks for voting page'.
that should sort it.
Hope this doesn't give you too much of a headache. ps sorry, but i probably won't be online again until the weekend.