2013-11-21 47 views
0

我是编程新手,所以不要太苛刻。如何使用Visual Basic在访问数据库中选择其他数据行?

的情况是这样的:

我想从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 

访问数据库是这样的:

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

我知道我的代码是错误的。我唯一知道的是我必须从数据库中返回值并将其赋值给一个变量并将其放入文本框中。我知道程序如何,但我不知道正确的代码将工作。

您的回应将得到充分赞赏。谢谢。

+1

打开你的项目,找到'Sub'。现在滚动到模块的顶部(例如,通过按[Ctrl-Home])并查找一个声明“Option Explicit”的语句(行)。如果您没有看到,请在该模块的最上方添加该行。然后再次尝试运行您的代码。 –

回答

0

除非您遗漏了一些代码,否则您显示的代码实际上并没有做任何事情来获取记录集。您正在将查询分配给一个变量,但是您没有使用该变量。例如,你究竟在哪里打开你的记录集?对于ADO记录集打开语句的语法是:recordset.Open源的ActiveConnection,CursorType的,锁定类型,选项
来源是一个可选参数,你的情况是你的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语句中也有错误。你用单引号将包围,表明它是一个字符串,在表格的屏幕截图中,它看起来是数字。把戈登汤普森的建议放在心上。 Option Explicit声明将通过要求您声明所有变量来节省许多麻烦。如果您尚未这样做,请转至工具|选项菜单和编辑器选项卡确保要求变量声明被选中。

相关问题