发布网友 发布时间:2023-07-28 21:44
共1个回答
热心网友 时间:2024-11-23 05:25
解决思路,用SQL语言检索出数据表某一字段下的全部内容,然后用VBA代码(ACCESS自带的编程语言)逐条将相应内容输入到窗体文本框内。
下面例子示范在打开窗体时,将当前ACCESS数据库里学生表中的全部学生姓名显示到一个文本框(Text1)内。
数据表结构及数据如下图
编写下列窗体打开事件过程
Private Sub Form_Open(Cancel As Integer)
Dim rs As New ADODB.Recordset '声明并实例化ADO记录集对象
Dim strSql As String, strg As String
strSql = "select 姓名 from 学生表" '编写SQL查询语句,以便检索出全部学生的姓名
rs.Open strSql, CurrentProject.Connection, adOpenStatic, adLockReadOnly '打开记录集
Do Until rs.EOF '循环将记录集中的学生姓名写入变量strg
strg = strg & rs!姓名 & vbCrLf '每次读出一个姓名到变量并加上回车\换行符以便每行只显示一个姓名
rs.MoveNext '移动到下一条记录
Loop
Text1 = strg '显示全部名字到文本框
If rs.State = adStateOpen Then rs.Close '关闭记录集
Set rs = Nothing '释放记录集对象所占空间
End Sub
上述代码(ADO Recordset) Open方法中所使用参数说明
strSql 此参数里的SQL语句确定如何检索出数据
CurrentProject.Connection 记录集所引用当前ACCESS数据库的默认连接
adOpenStatic 指定记录集的游标类型为静态游标
adLockReadOnly 指定记录集的锁定(并发)类型为只读。(因为该记录集无需用于更新数据,故这里使用只读类型借以减少系统开销、提高运行速度)
请注意将文本框Text1的”滚动条“属性设置为”垂直“,以方便姓名很多时可用滚动条来查看。另外,上述代码需要引用ADO类库,否则运行将会报错。
ACCESS引用ADO类库方法
于VBE界面 菜单——工具——引用 在弹出的引用对话框勾选“Microsoft ActiveX Data Objects 2.1 Library"或其他版本
运行效果见下图
追问你好,首先谢谢你的回答,可能是我的问题没有说明白。我的意思是我根本只知道数据表中的字段名都那些,我只是需要在一个文本框中能显示第二个字段的字段名就行,在下一个文本框显示该字段的一个值,而不是统计出该字段下的所有值。(这两个文本框是我设计好的,固定文本框,显示的某一条记录的情况)你能帮我解决吗