关于Access如何将表中某一字段,全部内容显示在窗体文本框中的问题! 5
有一个窗体希望实现的效果如图:
简单地说就是按照“金额”来显示对应的“型号“和”入库数量“。
比如输入”金额“为100时,出现上述效果,我遇到的困难就是:窗体中的文本框无法在一个界面内显示全部记录,而是一条一条的记录!后台代码我想把”型号“和”入库数量“形成”数组“然后显示在文本框中,请问可以实现预期效果吗?如果可以求代码该怎么写,如果不能还请大神们详细指点,谢谢!说表格视图显示窗体的,就别浪费时间了,这我也知道。。。 展开
解决思路,用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"或其他版本
运行效果见下图
求具体!在access里