设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

我要引用最大的两个值

[复制链接]
跳转到指定楼层
1#
发表于 2003-2-7 06:40:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一报表需引用一查询中的最大和其次的两个值该怎么办呢?注:报表的每一页将使用查询中不同的ID号,即该ID下的两个最大值。
请高手指点[em27]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-2-7 09:14:00 | 只看该作者
select * top 2
3#
 楼主| 发表于 2003-2-13 06:51:00 | 只看该作者
不行呀
4#
发表于 2003-2-13 19:39:00 | 只看该作者
select top 2 欲引用值的字段名 from .... where id=条件
此SQL语句将返回少于2行记录.
5#
 楼主| 发表于 2003-2-14 04:34:00 | 只看该作者
已参数提供给ID号,然后 select top 2是可以引用2行纪录,可是我怎样在同一个窗体界面或报表界面的不同文本框显示2行的值呢
6#
发表于 2003-2-14 04:48:00 | 只看该作者
窗体:使用連續窗体或是數据表窗体.
報表:与其他的類似.
7#
 楼主| 发表于 2003-2-14 05:12:00 | 只看该作者
不行,我需要在不同的文本框中显示两列数据,以用于计算,报表中的两列数据也不是放在同一位置的
8#
发表于 2003-2-14 05:25:00 | 只看该作者
设一通用函数返回数据
将文本框1的控件来源设为:   =GetValue(ID,1)
文本框2 的控件来源设为:    =GetValue(ID,2)

Public Function GetValue(ID As Long, Num As Long)
    Dim ReS
    Dim Rs As DAO.Recordset
   
    Set Rs = CurrentDb().OpenRecordset("select top 2 ..... where id=条件...")
    If Rs.RecordCount = 0 Then
        '数据源不存在
        Exit Function
    End If
    If Num = 1 Then
        ReS = Rs(目标字段)
    Else
        If Num = 2 Then
            Rs.MoveNext
            '在此加入代码,以保证在 RS 只有一条记录时不出错
            ReS = Rs(目标字段)
        End If
    End If   
    GetValue = ReS
End Function


您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-26 17:58 , Processed in 0.093819 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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