Помощь! Я пытаюсь перемещаться по предыдущим/следующим записям (серверная база данных MS Access) в связанной форме. Обратите внимание, что это DataRowView (с отдельными полями), а не DataGridView. У меня есть две связанные проблемы, но я рассмотрю вторую проблему в другом посте. У меня есть два ключевых поля в базовой таблице базы данных. Второе ключевое поле, Carrier_No, определяется как 5 символов. Когда я пытаюсь перейти к предыдущей записи, приложение заполняет второе ключевое поле «System.Data.DataRowView». Затем, когда я снова нажимаю кнопку «Назад» (или «Далее»), я получаю следующую ошибку: System.ArgumentException: «Невозможно установить столбец «Carrier_No». Значение нарушает ограничение MaxLength для этого столбца». Что я делаю не так? Казалось бы, такая простая задача.
перейти к предыдущей/следующей записи casues 'System.Data.DataRowView' для отображения в ключевом поле
Ответы (1)
Спасибо всем за ваши ответы. После долгих поисков и устранения неполадок я наткнулся на решение. Оказывается, виновником было свойство выпадающего списка «DropDownStyle». Первоначально я установил свойство «DropDownList», чтобы пользователи не могли вводить значение. Когда я установил свойство «DropDown», проблема исчезла. Я понятия не имею, почему это свойство может иметь какое-либо влияние на навигацию по записям, но оно влияет. Чтобы пользователи не могли вводить данные, я использовал некоторый код в событии «KeyPress» поля со списком. Как оказалось, это решение также решило связанную с этим проблему (значения поля со списком копируются в другие записи, отдельный пост). Private Sub cmb_TPA_KeyPress(sender As Object, e As KeyPressEventArgs) Handles cmb_TPA.KeyPress MsgBox("Please select a TPA value from the pick list.", vbExclamation) e.Handled = True 'cancel event End Sub