设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1833|回复: 8
打印 上一主题 下一主题

[Access本身] 关于组合框行来源设置为“等差数列”的问题

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-21 23:00:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 anthonywang9 于 2012-5-21 23:02 编辑

     小弟,做了一个分页显示的子窗体,其中页码数(名称dpage)设置为一个组合框,如下图:

     组合框的行来源想设置为从1到总页码数(名称sum_page)的一个步长值为1的等差数列,当组合框数据变更时子窗体变更至相应页面的记录列表,却不知如何设置组合框的RowSource及RowSourceType两属性才能完成。
   此前我的做法比较愚笨,即在源表中添加自动编号字段“序号”,然后设置组合框RowSourceType为查询,行来源为select 序列 from table where 序号<=[sum_page]的。后来数据源表从table 变为查询时,我就不知道怎么在查询里添加自动编号序列了,故请教大侠们如何设置组合框的行来源为“等差数列”?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
9#
发表于 2012-5-22 22:22:31 | 只看该作者
以下语句建议放置在Form的Load(加载)事件中
'请引用Microsoft DAO 3.6或以上版本
Dim rst As DAO.Recordset
Set rst = Me.Form.RecordsetClone
'改成  rst = Me.Form.Recordset 也可以。
'如果数据较多,加上以下两句以加速获取记录数。
'rst.MoveLast
'rst.MoveFirst
Me.TxtRecordcount= rst.RecordCount
8#
 楼主| 发表于 2012-5-22 22:01:14 | 只看该作者
roych 发表于 2012-5-22 21:31
可以用DAO或者ADO的RecordCount属性来获取记录条数。

具体如何写DAO/ADO语句,版主能给提示一下吗?
7#
发表于 2012-5-22 21:31:47 | 只看该作者
anthonywang9 发表于 2012-5-22 20:01
谢谢t小宝版主,那是不是要写一个关于总页数sum_page的afterupdated事件?每当Sum_page文本框requery导致 ...

可以用DAO或者ADO的RecordCount属性来获取记录条数。
6#
发表于 2012-5-22 20:56:07 | 只看该作者
anthonywang9 发表于 2012-5-22 20:01
谢谢t小宝版主,那是不是要写一个关于总页数sum_page的afterupdated事件?每当Sum_page文本框requery导致 ...

没必要。预计一个大概的数量范围一次性写死组合框的数据源,只是在组合框的更新后事件中多一个超出总数不处理的一小段代码即可。
5#
 楼主| 发表于 2012-5-22 20:01:29 | 只看该作者
t小宝 发表于 2012-5-21 23:40
将组合框的行来源类型设为值列表,用VBA代码设置它的行来源,参考:其中的86为总页数,你需要先求得这个值

谢谢t小宝版主,那是不是要写一个关于总页数sum_page的afterupdated事件?每当Sum_page文本框requery导致文本变更后,重新设置组合框的行来源?
4#
发表于 2012-5-22 10:27:00 | 只看该作者
pq318 发表于 2012-5-22 08:14
用for循环,不知能否用step啊

可以吧
3#
发表于 2012-5-22 08:14:34 | 只看该作者
用for循环,不知能否用step啊

点击这里给我发消息

2#
发表于 2012-5-21 23:40:01 | 只看该作者
将组合框的行来源类型设为值列表,用VBA代码设置它的行来源,参考:
  1. Dim i As Integer
  2. Dim s As String
  3. For i = 1 To 86
  4.     s = s & i & ";"
  5. Next
  6. Me.dpage.RowSourceType = "Value List"
  7. Me.dpage.RowSource = s
复制代码
其中的86为总页数,你需要先求得这个值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-20 19:36 , Processed in 0.093342 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表