| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 700 人关注过本帖
标题:请教各位大牛:Access数据库里面如何通过SQL语句查询,使得查询结果显示在窗 ...
只看楼主 收藏
ppxe310
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-26
结帖率:100%
  已结贴   问题点数:20  回复次数:6   
请教各位大牛:Access数据库里面如何通过SQL语句查询,使得查询结果显示在窗体上呢?
Access数据库里面有两张表,建立一个窗体,想从数据表里面随机抽取两条记录显示在窗体上,如何做到呢?
数据库见附件。
问题
1. 想通过点击“随机抽取执法人员”按钮,能够从“执法人员名单”表里面随机抽取两位执法人员,显示其姓名
2. 击“随机抽取检查企业”,能够从“抽查企业名单”中随机选出一个企业信息
2017-12-26 15:43
ppxe310
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-26
  得分:0 
回复 楼主 ppxe310
Access数据库文件
附件: 您没有浏览附件的权限,请 登录注册
2017-12-26 15:45
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:14
帖 子:138
专家分:703
注 册:2016-3-10
  得分:20 
【需要引用Microsoft Activex Data Objects XX Library】
Private Sub Command1_Click()
 Dim conn As ADODB.Connection
 Set conn = New ADODB.Connection
  conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\VB\temp\RandSystem.accdb;Persist Security Info=False"
  conn.Open
  strsql = "select * from 执法人员名单"
  Dim rs As ADODB.Recordset
  Set rs = New ADODB.Recordset
  rs.Open strsql, conn, 1, 1
  '自己编写随机数算法,以下示例显示1,3记录
  MsgBox "记录数:" & Str(rs.RecordCount)'显示总记录数’
  MsgBox rs.Fields(1)'显示第一个记录【具体显示随机数自己编写】
  rs.Move 3
  MsgBox rs.Fields(1)'显示第三个记录
End Sub
2017-12-26 16:43
ppxe310
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-26
  得分:0 
回复 3楼 wds1
太感谢了,我试试
2017-12-26 16:45
ppxe310
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-26
  得分:0 
回复 3楼 wds1
太感谢了,帮我解决了大问题,现在问题又来了,如何把查询结果放入窗体中的那个文本框里面呢?
Private Sub Command2_Click()
  Dim conn As ADODB.Connection
  Set conn = New ADODB.Connection
  conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Joyce\Desktop\tmp\RandSystem.accdb;Persist Security Info=False"
  conn.Open
  strsql = "SELECT TOP 2 执法人员名单.[姓  名] FROM 执法人员名单 ORDER BY RND(ID)"
   
  Dim rs As ADODB.Recordset
  Set rs = New ADODB.Recordset
  rs.Open strsql, conn, 1, 1
  
   '自己编写随机数算法,以下示例显示1,3记录
  MsgBox "记录数:" & Str(rs.RecordCount) '显示总记录数’
  
  Text4 rs.Fields(1) '//如何把查询结果放入窗体中的那个文本框里面呢? 系统提示这样做不对
  rs.Move 2
  Text4 rs.Fields(1) '显示第二个记录

End Sub
2017-12-26 17:18
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:14
帖 子:138
专家分:703
注 册:2016-3-10
  得分:0 
'如果数据库没有空记录,判断可以不要,不同窗体要加窗体名,如果是文本控件赋值如下’
 If Not IsNull(rs.Fields(1))  Then text4.text=rs.fileds(1)

      
2017-12-26 17:37
ppxe310
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-26
  得分:0 
回复 6楼 wds1
修改为这样: If Not IsNull(rs.Fields("姓  名")) Then Me.Text4.Value = rs.Fields("姓  名").Value
问题就解决了。

太感谢了,
2017-12-27 11:13







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.087417 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved