Okay, I don't do macros, so I can't comment on the syntax, but here are some notes.
1) Before starting the loop, I would verify each file existed, and prompt for a fix at that point.
2) After the loop starts, if the file doesn't exist, I would want to use Null rather than a nonexistent filename.
Code:
VALUES
(
Gameno,
Play,
IIF(FileExists(tblgames.filepath.Gameno"\"ezfilename),ezfilename, Null),
IIF(FileExists(tblgames.filepath.Gameno"\"slfilename),slfilename, Null)
)
3) I would tend to put the 4-digit serial number of the file into a variable and increment, rather than extracting and incrementing them each time, but that's just a personal preference.
Otherwise, your code/pseudocode should work when you get the syntax right.