VB.NET 2012开发Access项目导航按钮遇CurrentRow、ShowData未声明错误
VB.NET Access数据库导航按钮报错解决方案
错误原因
两个报错的核心问题都是缺少对应声明:
CurrentRow:用于存储当前浏览行索引的变量,没有在模块级别声明,因此按钮点击事件中无法识别ShowData:用于将指定行数据绑定到窗体控件的自定义方法,没有实现该方法,因此调用时报错
修复步骤
1. 声明全局变量
在窗体类的顶部(所有Sub方法外部)添加以下声明,确保所有按钮事件都能访问到对应变量:
' 声明当前行索引全局变量 Dim CurrentRow As Integer = 0 ' 存储Access查询结果的数据集,需确保为全局声明 Dim Dst As New DataSet
2. 实现ShowData自定义方法
在窗体类中添加ShowData方法,可根据你自己的窗体控件、数据表字段调整内容,示例如下:
Private Sub ShowData(rowIndex As Integer) ' 先判断行索引合法性,避免越界报错 If rowIndex < 0 OrElse rowIndex >= Dst.Tables("Purchases_file").Rows.Count Then Exit Sub End If Dim currentDataRow As DataRow = Dst.Tables("Purchases_file").Rows(rowIndex) ' 以下赋值逻辑根据你实际的控件名、数据表字段名修改即可 txt采购编号.Text = currentDataRow("采购编号").ToString() txt供应商名称.Text = currentDataRow("供应商名称").ToString() dtp采购日期.Value = Convert.ToDateTime(currentDataRow("采购日期")) txt采购金额.Text = currentDataRow("采购金额").ToString() ' 其余字段按上述格式依次添加 End Sub
3. 运行前提确认
你现有的四个导航按钮逻辑无需修改,运行前需确保窗体加载时已经完成Access数据库查询,将数据正常填充到Dst.Tables("Purchases_file")中,避免后续出现空引用、找不到表的报错。
内容的提问来源于stack exchange,提问作者Prince
相关产品推荐
相关产品推荐

