【问题标题】:How to select other row of data in access database using Visual Basic?如何使用 Visual Basic 在 access 数据库中选择其他行数据?
【发布时间】:2013-11-21 07:15:24
【问题描述】:

我是编程新手,所以不要太苛刻。

情况是这样的:

我想从 access 数据库中获取值并将其返回到 Visual Basic 中的文本框。我尝试了这些代码,但问题是,它总是只返回第一行中的数据。我想从 ID = 4 获取数据。这是我的代码:

Private Sub cmdshow_Click()

    strsql1 = "select * from Table1 where ID = '4' "

    With RS

    txtstudent.Text = !Student
    txtage.Text = !Age

   End With

End Sub

access数据库是这样的:

http://postimg.org/image/mrtcmsc3b/

我知道我的代码是错误的。我唯一知道的是我必须从数据库中返回值并将其分配给一个变量并将其放在文本框中。我知道程序是如何运行的,但我不知道正确的代码会起作用。

您的回复将不胜感激。谢谢。

【问题讨论】:

  • 打开你的项目并找到Sub。现在滚动到模块的顶部(例如,通过点击 [Ctrl-Home])并查找显示 Option Explicit 的语句(行)。如果您没有看到,请将该行添加到模块的最顶部。然后尝试再次运行您的代码。

标签: ms-access vb6 database-connection


【解决方案1】:

除非您省略了一些代码,否则您显示的代码实际上并没有做任何事情来获取记录集。您正在将查询分配给变量,但是您没有使用该变量。例如,您实际上在哪里打开记录集? ADO 记录集 Open 语句的语法是:recordset.Open Source, ActiveConnection, CursorType, LockType, Options
Source 是可选的在您的情况下将是您的 SQL 语句的参数,因此您的方法应该看起来更像下面。

Private Sub cmdshow_Click()

    strsql1 = "select * from Table1 where ID = 4"

    RS.Open strsql1
    With RS

        txtstudent.Text = !Student
        txtage.Text = !Age

    End With

End Sub

您可以在此处阅读完整文档,Open Method (ADO Recordset)。自己的SQL语句也有错误。您用单引号将 4 括起来,表示它是一个字符串,在表格的屏幕截图中它似乎是数字。并牢记戈德汤普森的建议。 Option Explicit 语句要求您声明所有变量,这将为您省去很多麻烦。如果您还没有这样做,请转到 工具 |选项菜单和编辑器标签确保需要变量声明被选中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-25
    • 2013-05-23
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多