Сначала и навсегда включите Option Strict в свойствах проекта на вкладке Compile.
Вы создаете ненужные вам объекты.DataSet и DataAdapter не обязательно должны просто получать счетчик.
Вы можете инициализировать ваше соединение в одну строку, передав строку соединения конструктору.
Не открывайте соединение до тех пор, пока оно вам не понадобится.
Первичный ключ никогда не дублируется, поэтому нет смысла использовать предложение Like в вашем запросе.Вы просто проверяете, существует ли идентификатор.Не извлекайте данные, когда все, что вам нужно, это счетчик.
Используйте параметры.Acces заботится не о названии параметра, а о порядке;поэтому убедитесь, что вы добавляете параметры в том же порядке, в котором они появляются в запросе.
Редко нужно объявлять переменную как Object.Финализотурно это дата, так что отклоните ее как таковую.Свойство Value объекта DateTimePicker возвращает дату, свойство Text возвращает строку.
`
Private Sub btnClockout_Click(sender As Object, e As EventArgs) Handles btnClockout.Click
Dim myConnection As New OleDbConnection("PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source = ..\Bases de Datos\Horario.accdb")
Dim updateQuery As String = "Update EmpleadoHorario Set FinalizoTurno= ? Where Fecha= ? AND IddeEmpleado = ?;"
Dim cmd As New OleDbCommand(updateQuery, myConnection)
Try
cmd.Parameters.Add("Fecha1", OleDbType.Date).Value = DateTimePicker1.Value
cmd.Parameters.Add("Fecha2", OleDbType.Date).Value = datePicker.Value
cmd.Parameters.Add("ID", OleDbType.Integer).Value = CInt(txtEmpId.Text)
myConnection.Open()
Dim retVal As Integer = cmd.ExecuteNonQuery()
myConnection.Close()
If retVal = 1 Then
MessageBox.Show("Salida de Turno Aceptada")
Else
MessageBox.Show("ID de Empleado no encontrado")
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
cmd.Dispose()
myConnection.Dispose()
End Try
End Sub
`