Office中国论坛/Access中国论坛

标题: [原创] 如何实现子窗体的分页显示 [打印本页]

作者: 宿命的风    时间: 2005-9-7 08:40
标题: [原创] 如何实现子窗体的分页显示
今天终于做出来了!  呵呵!

已经更新!

[attach]12970[/attach]




[attach]12969[/attach]



[此贴子已经被作者于2005-12-15 22:03:34编辑过]


作者: wuaza    时间: 2005-9-7 20:14
我要看看是怎么实现的。
作者: 风筝    时间: 2005-9-7 20:16
看看
作者: gaoqiwen    时间: 2005-9-7 22:34


看看
作者: gaoqiwen    时间: 2005-9-7 22:42
按上一页,好象回不了第一页

[此贴子已经被作者于2005-9-7 15:15:52编辑过]


作者: gaoqiwen    时间: 2005-9-7 23:34
Select Case way

    Case True                                                              '向上移动

        If currentPage = 1 Then                                            '判断当前是否为1,如果是则提示无法移动

            MsgBox "已经是第一页!", vbInformation, "提示"

        Else                                                               '选择前N条数据,ID在(当前页-1)*条数 之外

            sql = "select top " & IntCount & " * from student where " _

                & " id not in (select top " & (currentPage - 1) * IntCount & " id from student)"

            Me.dqpage = Me.dqpage - 1                                      '更新当前页

            Me.student_sub.Form.RecordSource = sql                         '更改子窗体数据源

            Me.student_sub.Requery                                         '刷新子窗体

        End If

    Case False                                                             '向下移动

        If currentPage = MaxPage Then

            MsgBox "已经是最后一页!", vbInformation, "提示"

        Else    '

            sql = "select top " & IntCount & " * from student where " _

                & " id not in (select top " & currentPage * IntCount & " id from student)"

            Me.dqpage = Me.dqpage + 1

            Me.student_sub.Form.RecordSource = sql

            Me.student_sub.Requery

        End If建议将红色字代码换为:if currentPage - 2 = 0 then

    sql = "select top " & IntCount & " * from student "

else

    sql = "select top " & IntCount & " * from student where " _

        & " id not in (select top " & (currentPage - 2) * IntCount & " id from student)"

endif
作者: 宿命的风    时间: 2005-9-8 01:44
以下是引用gaoqiwen在2005-9-7 15:34:00的发言:



Select Case way

    Case True                                                              '向上移动

        If currentPage = 1 Then                                            '判断当前是否为1,如果是则提示无法移动

            MsgBox "已经是第一页!", vbInformation, "提示"

        Else                                                               '选择前N条数据,ID在(当前页-1)*条数 之外

            sql = "select top " & IntCount & " * from student where " _

                & " id not in (select top " & (currentPage - 1) * IntCount & " id from student)"

            Me.dqpage = Me.dqpage - 1                                      '更新当前页

            Me.student_sub.Form.RecordSource = sql                         '更改子窗体数据源

            Me.student_sub.Requery                                         '刷新子窗体

        End If

    Case False                                                             '向下移动

        If currentPage = MaxPage Then

            MsgBox "已经是最后一页!", vbInformation, "提示"

        Else    '

            sql = "select top " & IntCount & " * from student where " _

                & " id not in (select top " & currentPage * IntCount & " id from student)"

            Me.dqpage = Me.dqpage + 1

            Me.student_sub.Form.RecordSource = sql

            Me.student_sub.Requery

        End If

建议将红色字代码换为:

if currentPage - 2 = 0 then

    sql = "select top " & IntCount & " * from student "

else

    sql = "select top " & IntCount & " * from student where " _

        & " id not in (select top " & (currentPage - 2) * IntCount & " id from student)"

endif



    谢谢! 原来没有发现这个问题,早上已经有人提出错误,中午的时候已经改正了!

            If currentPage = 2 Then

                sql = "select top " & IntCount & " * from student "

            Else

                sql = "select top " & IntCount & " * from student where " _

                    & " id not in (select top " & (currentPage - 2) * IntCount & " id from student)"

            End If


作者: wu8313    时间: 2005-9-8 02:09
欣赏欣赏!不错不错,没收掉!

[此贴子已经被作者于2005-9-7 18:11:54编辑过]


作者: good    时间: 2005-9-8 07:22
看看
作者: dhwx    时间: 2005-9-8 08:13
看看
作者: ui    时间: 2005-9-8 08:22
谢谢
作者: qdjqx    时间: 2005-9-8 18:41
很好!
作者: 喳喳林    时间: 2005-9-8 21:07
学习学习
作者: 徐阿鹏    时间: 2005-9-8 21:19
学习中[em02]
作者: zyz218    时间: 2005-9-8 22:21
欣赏一下
作者: wanghj_jd    时间: 2005-9-10 05:52
学习中
作者: tmtony    时间: 2005-9-10 06:30
不错,宿命的风的程序总是让人耳目一新
作者: mwxlmxy    时间: 2005-9-10 08:10
xiexie
作者: bryce    时间: 2005-9-10 08:28
怎么?
作者: ahah    时间: 2005-9-12 05:34
也许有一天能用上
作者: esmile    时间: 2005-9-12 05:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: skylark    时间: 2005-9-12 07:00
标题: 回复:(宿命的风)[原创] 如何实现子窗体的分页显示
To 楼主:

创作辛苦,感谢共享!

_______________________________

Do Our Job Well  Try Anything Once
作者: Stephenwu    时间: 2005-9-12 17:46
很好!
作者: Grant    时间: 2005-9-13 01:25
谢谢分享,原来的那个有bug现在这个改好了.
作者: 可乐可口    时间: 2005-9-14 01:36
我正找呢,看看学习
作者: 小小鸟    时间: 2005-9-15 00:35
hao !
作者: 午夜兰花    时间: 2005-9-15 16:55
没收
作者: 午夜兰花    时间: 2005-9-15 16:56
还有没有啊?
作者: zlb961223    时间: 2005-9-15 21:02
我想指导way是什么意思?
作者: zlb961223    时间: 2005-9-15 21:05
上面的程序是用在什么地方?
作者: duzili    时间: 2005-10-10 06:40
kk
作者: tonywong    时间: 2005-10-10 18:50
ok
作者: nimo    时间: 2005-10-11 00:10
看看
作者: yodong    时间: 2005-10-11 00:25
看看
作者: hrawea    时间: 2005-10-11 04:18
看看
作者: df    时间: 2005-10-11 05:00
学习中
作者: haihai1014    时间: 2005-10-11 05:07
很有用的东东。谢谢分享
作者: haihai1014    时间: 2005-10-11 05:07
很有用的东东。谢谢分享
作者: haihai1014    时间: 2005-10-11 05:08
   sql = "select top " & IntCount & " * from student where " _

                & " id not in (select top " & (currentPage - 1) * IntCount & " id from student)"

why?

作者: andymark    时间: 2005-10-11 06:17
KANKAN
作者: dasen    时间: 2005-10-11 16:33
学习[em01]
作者: 35059630    时间: 2005-10-16 00:56
okok
作者: ccczzz    时间: 2005-10-16 02:13
ok
作者: 付谦    时间: 2005-10-16 03:12
祝贺你!
作者: aone    时间: 2005-10-16 10:07
学习学习!
作者: wuhanshayo    时间: 2005-10-17 18:15
看看
作者: 中国人    时间: 2005-10-17 19:09
不错不错,向你学习。
作者: xu750915    时间: 2005-10-17 20:45
看看
作者: 小小鸟    时间: 2005-10-17 20:49
请问楼主,程序中默认的10条记录是不是不能改啊,每次打开时都只显示10条。改代码中的IntCount = Nz(Me.txtCount, 10) 10好象不管用哦
作者: ggg    时间: 2005-10-23 06:33
看一看
作者: gzh97730    时间: 2005-10-23 15:52
学习!学习!
作者: ssh8688    时间: 2005-10-23 17:24
看看
作者: fs_jin    时间: 2005-10-24 17:45

作者: yttzm    时间: 2005-12-11 03:54
做得很好!

能告诉我怎么做的么?
作者: qw7912    时间: 2005-12-12 17:25
看看
作者: nofuture    时间: 2005-12-12 19:37
KANKAN
作者: nofuture    时间: 2005-12-12 19:38
还要3个帖子哦!
作者: 小蓓    时间: 2005-12-12 22:21
想看一下
作者: wzh    时间: 2005-12-12 23:47
看看
作者: hxntxm    时间: 2005-12-13 03:23
参考一下
作者: hxntxm    时间: 2005-12-13 03:25
参考一下
作者: 好学    时间: 2005-12-13 04:03
好的东东要大家分享!!
作者: fool999    时间: 2005-12-13 17:31
佩服!
作者: wcfywyd    时间: 2006-4-4 08:03
谢谢分享!!
作者: peg20000    时间: 2006-4-4 18:45
好~~
作者: lingjiang    时间: 2006-4-5 02:01
我要看看是怎么实现的[em01][em01]
作者: juntan    时间: 2006-10-16 19:35
我现在也想做一个从查询中创建窗体的记录分页,不知道是否可行,先学习下
作者: juntan    时间: 2006-10-16 21:44
Me.student_sub.Form.RecordSource = "select top " & Me.txtCount & " * from student"

以上的recordsource中的SELECT语句是必须将其中的所有字段选中吗?是否可以只选其中几个?

我做的是个查询窗体,所以不能在SELECT后面用*来表示,我应该怎么做呢?

以下是我的尝试,但是不对,请指正:

   Me.RecordSource = "select top 10 * from (SELECT XXX_LB.DOMAIN, XXX_LB.USUBJID, XXX_LB.LBSEQ, XXX_CO.RDOMAIN, XXX_CO.USUBJID, XXX_CO.COSEQ, XXX_LB.LBDTC, XXX_LB.LBFAST, XXX_LB.LBTEST, XXX_LB.LBSTAT, XXX_LB.LBORRES, XXX_LB.LBORRESU, XXX_LB.LBNRIND, XXX_LB.LBREASND, XXX_LB.LBGRPID, XXX_CO.COVAL FROM XXX_LB INNER JOIN XXX_CO ON (XXX_LB.DOMAIN = XXX_CO.RDOMAIN) AND (XXX_LB.USUBJID = XXX_CO.USUBJID) AND (XXX_LB.LBSEQ = XXX_CO.COSEQ))"


作者: 好学    时间: 2006-10-17 02:12
很好!谢谢分享
作者: yuriyuri    时间: 2006-10-30 03:59
新手上路~

学习学习~

谢谢~
作者: yuriyuri    时间: 2006-10-30 04:00
新手上路~

学习学习~

谢谢~
作者: zkh    时间: 2008-7-16 20:44
标题: 看看
下来用得上,谢谢
作者: zkh    时间: 2008-7-17 17:38
标题: 下不了
下不了,下来的是网页文件
作者: zkh    时间: 2008-7-17 17:47
标题: 看看
想下下来看看
作者: tamahome7    时间: 2008-7-17 21:39
have a look
作者: BILLFEI    时间: 2008-12-26 19:08
[:17] [:17] [:17]
作者: lhsh    时间: 2008-12-27 12:35
欣赏欣赏!不错不错
作者: 7777777    时间: 2009-1-6 11:14
欣赏!不错不错,没收掉!
作者: ilikeu    时间: 2009-1-6 16:22
标题: 回复 1# 的帖子
走过路过,不如下来看看!
作者: luhao    时间: 2009-4-5 17:16
数据多,不知会不会很慢
作者: 阿六爱狗    时间: 2009-4-6 16:31
学习下
作者: 411855771    时间: 2009-4-6 17:04
不错啊
怎么做出来的
我一直不明白代码
作者: njy6000    时间: 2009-4-6 23:10
欣赏一下,看是否能用上.
作者: njy6000    时间: 2009-4-6 23:11
怎么两个附件?
作者: 13555609005    时间: 2009-4-7 22:52
欣赏欣赏
作者: xxiaoxin321    时间: 2009-10-17 14:11
很经典的例子,学习!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3