OK, you don't need all the CType crap. It's not doing anything for you at all, other than trying to convert a type to the SAME TYPE IT ALREADY IS!
What it's screaming about is that you never said what each parameter type is supposed to be. For example, the Text property always returns a string, so why are you converting it to a string? Get rid of all that crap.
Also, you can simplify the code a bit just by using AddWithValue. It will take a "best guess" as the DbType by looking at the type of the variable you passed in, like a String, Integer, or DateTime.
str = "Insert Into Bookee([Staff] , [Full Name], [Contact Number], [Email] , [Resource], [Period], [Date])Values(?,?,?,?,?,?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
cmd.Parameters.AddWithValue("Staff", CBStaffName.Checked)
cmd.Parameters.AddWithValue("Full Name", TxtBoxFullName.Text)
cmd.Parameters.AddWithValue("Contact Number", TxtBoxContactNumber.Text)
cmd.Parameters.AddWithValue("Email", TxtBoxEmail.Text)
cmd.Parameters.AddWithValue("Resource", TxtBoxResource.Text)
Dim value As Integer = Integer.Parse(TxtBoxPeriod.Text)
cmd.Parameters.AddWithValue("Period", value)
cmd.Parameters.AddWithValue("Date", DateTimePicker1.Value)