设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4575|回复: 10
打印 上一主题 下一主题

[帮助] ACCESS2007中怎么查询某数据倒数第二次出现的位置

[复制链接]
跳转到指定楼层
1#
发表于 2014-7-6 18:40:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在这个ACCESS中,用first和last查询某商品第一次和最后一次的销售时间,所得到的结果刚好相反,是怎么回事?另外,我还想查询某商品倒数第二次销售的时间,应该怎么设计查询呢?如果查询倒数第N次的销售时间,又该怎么设计呢?请大神赐教!谢谢

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-7-7 06:16:05 | 只看该作者

本帖子中包含更多资源

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

x
3#
发表于 2014-7-7 10:34:41 | 只看该作者
一般倒数第几条记录的做法是先建立一个降序的Top查询(例如,倒数第五条,就Top5),然后再按升序的方法列出第一条即可。如果需要一步到位的话,则把Top查询设置为子查询,详见附件。

本帖子中包含更多资源

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

x
4#
 楼主| 发表于 2014-7-7 12:38:02 | 只看该作者
5#
 楼主| 发表于 2014-7-7 12:38:16 | 只看该作者
roych 发表于 2014-7-7 10:34
一般倒数第几条记录的做法是先建立一个降序的Top查询(例如,倒数第五条,就Top5),然后再按升序的方法列 ...

谢谢



6#
 楼主| 发表于 2014-7-8 09:37:51 | 只看该作者

数据量稍微大了点,用dlookup查询就很慢,容易卡机
7#
发表于 2014-7-8 10:46:26 | 只看该作者
bbjam 发表于 2014-7-8 09:37
数据量稍微大了点,用dlookup查询就很慢,容易卡机

域函数是这样的。建议用ADO好些。
8#
发表于 2014-7-9 06:17:24 | 只看该作者
按 roych 版主建议再修改(使用自定义函数):

本帖子中包含更多资源

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

x
9#
发表于 2014-7-9 12:31:44 | 只看该作者
本帖最后由 roych 于 2014-7-9 12:34 编辑
netguestcn 发表于 2014-7-9 06:17
按 roych 版主建议再修改(使用自定义函数):

写得已经很不错了,如果非要改的话,就用用Move代替循环吧。当然,如果不需要分组的话,代码会更简单些许。
  1. Public Function LastDate2(ByVal products As String) As Date
  2.     Dim Rs As New ADODB.Recordset
  3.     Dim strSQL As String, strWhere As String
  4.     Dim i As Integer

  5.     strWhere = "商品  = '" & products & "'"
  6.     strSQL = "select 销售日期 from 销售表 where " & strWhere

  7.     Rs.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

  8.     'Rs.MoveFirst
  9.    
  10.     Rs.MoveLast             '最后一条。
  11.     Rs.MovePrevious       '倒数第二条。
  12.     LastDate2 = Rs.Fields(0)
  13.    ' For i = 1 To Rs.RecordCount
  14.    '     If Rs.Fields(0) > LastDate2 Then LastDate2 = Rs.Fields(0)
  15.    '     Rs.MoveNext
  16.     'Next i
  17.     Rs.Close
  18.     Set Rs = Nothing
  19. End Function
复制代码
另一段代码就不按此方式改改就好了。查询条件改一下:


本帖子中包含更多资源

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

x
10#
发表于 2014-7-9 21:51:40 | 只看该作者
本帖最后由 netguestcn 于 2014-7-9 22:13 编辑
roych 发表于 2014-7-9 12:31
写得已经很不错了,如果非要改的话,就用用Move代替循环吧。当然,如果不需要分组的话,代码会更简单些许 ...

roych 版主改得精辟
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-14 15:32 , Processed in 0.087383 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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