The trouble here is knowing how deeply you want to test the candidates.
I did devise a test for my last employer, after my manager contrived to hire, as a developer, someone who struggled to turn a computer on.
The test started easy, and with very general questions. One simply had an extract from an innvoice and asked how the candidate would develop a table structure from it. The more difficult questions involved asking how you could alter two variables from one function (the old byVal or byRef thing), and a few simply asked them to spot the deliberate mistake.
I'd seriously suggest taking some of the work you do and writing it into the test, with queries and table structures you already have and asking the candidates obvious questions (which field is a good candidate for a primary key) to much harder ones, how would you resolve a many to many relationship ...
(My exam did have some success, my manager almost employed another candidate, but decided against it when he scored 1 out of 870.)