In that case, it's the SQL INSERT statement that is bad or not formated correctly. After looking up the INSERT statement on MSDN, I've found that it should look something like this:
cmd.CommandText = "INSERT INTO [EmployeeData$] (ID, Name, BirthDate) values ('" & strID & "', '" & strName & "', #" & Birthdate & "#)"
Where string values must be enclosed in single quotes. Date values must be passed something like #1/1/1999# (enclosed in pound signs). I haven't tested this, but it should work according to the docs. ;) You might have to make sure that the Birthdate gets passed in the correct format. RageInTheMachine9532