0

帮助!我正在尝试以绑定的形式通过记录(MS Access 后端数据库)导航上一个/下一个。请注意,这是 DataRowView(单独绑定的字段),而不是 DataGridView。我有两个相关的问题,但我将在另一篇文章中处理第二个问题。我在基础数据库表中有两个关键字段。第二个关键字段 Carrier_No 定义为 5 个字符。当我尝试移动到上一条记录时,应用程序使用“System.Data.DataRowView”填充第二个关键字段。然后,当我再次单击上一个(或下一个)按钮时,我收到以下错误:System.ArgumentException:'无法设置列'Carrier_No'。该值违反了此列的 MaxLength 限制。我究竟做错了什么?这似乎是一个如此简单的任务。

4

1 回答 1

0

谢谢大家的回复。经过多次故障排除后,我偶然发现了解决方案。事实证明,组合框的“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

于 2020-12-11T12:49:24.773 回答