Did you copy and paste your code in? If not, is line 4 a typo?
If you are trying to refer to a control on your form named ID, the correct code is Me.ID or Me!ID. What you have (assuming you've not declared this as a variable and populated it elsewhere) is an implicitly declared variable named MeID that contains nothing, therefore your PersonID will be populated with nothing.
A VERY good coding practice is to require explicit declaration of variables by enabling the Option Explicit in your editor window by clicking on Tools>Options>Editor and check the box Require Variable Declaration (and typing it into modules that don't have it). This just means that you cannot misspell something in your code, because when you compile, Access will check and give a compile error if the variable has not been declared in the proper way.
Otherwise you can type anything in you want (within some limits of course) and Access will assume that you are declaring a variable and will give it the type of Variant. This can wreak havoc in your code!
Regards,
Scott