【问题标题】:sample program that views the records查看记录的示例程序
【发布时间】:2012-03-13 07:15:47
【问题描述】:

大家好...我正在尝试制作一个示例程序来查看数据库中的记录,就像上面的输出一样。我正在使用 Visual Basic 6.0 和 Access... 使用 DataControl,我想通过单击“下一步”按钮查看特定 ID 号的下一条记录。我对下面代码的问题是出现了其他 ID 号的记录...

Private Sub cmdNext_Click()
    With Me.dtaInfo.Recordset
        .MoveNext

        Me.txtCash.Text = .Fields("Cash")
        Me.txtAddress.Text = .Fields("Country")
    End With
End Sub

Private Sub cmdShow_Click()
    With Me.dtaInfo.Recordset
        .Index = "idxIDNumber"
        .Seek "=", Me.txtIDNumber.Text

        Me.txtCash.Text = .Fields("Cash")
        Me.txtAddress.Text = .Fields("Country")
    End With
End Sub

这是我的记录

【问题讨论】:

  • 好吧,我只能在这里猜测...我注意到您在 IDNumber 列中有重复项(例如 B6、B4)?我的猜测是“其他 ID 号”会影响带有 IDNumber = B6 或 B4 的记录。如果不是这种情况,再来一张屏幕截图(带有不正确的数据)会有所帮助。
  • @IgorTurman... 我的意思是,当我搜索带有 ID 号的记录时,比如说 B6,所有带有该 ID 号的记录(现金和国家)都将通过单击显示按钮来查看然后 Next 按钮用于下一条带有 B6 ID 号的记录...当我尝试搜索有 2 条记录的 B6 时,每当我按下 Next 按钮时,其他记录(如 B8)就会出现,这不应该是这种情况。
  • 知道了。我可能遗漏了一些东西,但似乎当您使用 Show 方法时您确实应用了过滤器,但在使用 Next 方法时没有应用过滤器。导致循环遍历整个记录集。但同样,我不能 100% 确定,因为我无法对此进行测试,而且带有数据控制的 VB6 现在对我来说是模糊的 :)

标签: ms-access vb6 data-controls


【解决方案1】:

由于您使用的是数据控件,您只需要将文本框绑定到它。

右键单击每个文本框控件并选择“属性”。在 DataSource 属性上将其设置为您的数据控件。 IE。数据1。

接下来,在文本框控件上设置 DataField 属性。 IE。现金

当您在数据控件上单击前进/后退时,文本框控件将自动更新。

如果您真的想控制记录集导航以进行查看/更新等,我建议您切换到使用 ADO 而不是 DAO,并使用您自己的导航控件而不是数据控件。

【讨论】:

  • 我的意思是,当我搜索带有 ID 号的记录时,比如说 B6,所有带有该 ID 号的记录(现金和国家)将通过单击显示按钮然后单击下一步按钮来查看带有 B6 ID 号的下一条记录...当我尝试搜索有 2 条记录的 B6 时,每当我按下“下一步”按钮时,就会出现 B8 等其他记录,但情况并非如此。
  • 您的搜索语句将匹配多个记录。在调试时,如果您检查 dtaInfo.Recordset.RecordCount 它会确认它。如果您试图允许用户搜索和查找特定记录,则必须更改您的代码。例如,使用一个列表框显示每个匹配的记录,并允许他们单击他们试图查找的记录。他们点击的那个可以被加载并显示在文本框中。
猜你喜欢
  • 2012-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-02
  • 1970-01-01
  • 1970-01-01
  • 2012-05-27
  • 1970-01-01
相关资源
最近更新 更多