设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: sgrshh29
打印 上一主题 下一主题

[其它] [讨论][分享]求下一条记录与上一条记录的差值

[复制链接]
11#
 楼主| 发表于 2006-1-1 02:59:00 | 只看该作者
以下是引用wu8313在2005-12-31 18:52:00的发言:



版本高了,没法看。谢谢 sgrshh29 分享!

感谢您的提醒.9楼已经改为2000版本.
12#
发表于 2006-1-1 23:23:00 | 只看该作者
SELECT 表1.id, 表1.金额, DLookUp("金额","表1","id>" & [id])-[金额] AS 差额
FROM 表1;

这样算一霎那就出来了,怎么会说慢呢?域函数是效率很高的函数啊?
13#
 楼主| 发表于 2006-1-1 23:33:00 | 只看该作者
情版主可能忽略了一个细节,id是自动编号,如果删除了其中的某些记录,就不连号了.这样在断号的记录之间的差值就会发生错误.
14#
发表于 2006-1-1 23:36:00 | 只看该作者
还是我错了:改一下:这样的结果就和你的一致了,嘿嘿,连不连号没关系,顺序就行.

SELECT 表1.id, 表1.金额, [金额]-DLast("金额","表1","id<" & [id]) AS 差额
FROM 表1;


[此贴子已经被作者于2006-1-1 15:51:47编辑过]

15#
 楼主| 发表于 2006-1-2 00:12:00 | 只看该作者
以下是引用情比金坚在2006-1-1 15:36:00的发言:


还是我错了:改一下:这样的结果就和你的一致了,嘿嘿,连不连号没关系,顺序就行.

SELECT 表1.id, 表1.金额, [金额]-DLast("金额","表1","id<" & [id]) AS 差额
FROM 表1;

这个可能是最好的方法了,佩服.最好加上ORDER BY 表1.ID;

[此贴子已经被作者于2006-1-1 16:14:34编辑过]

16#
发表于 2006-1-2 05:35:00 | 只看该作者
我前面几个献丑了,大伙不要试,机器会算死的。呵呵~~

再来一个,速度稍好,但与情比金坚的没法比。

SELECT a.id, a.金额, a.金额-nz((select 金额 from 表1 where id=(select max(id) from 表1 where id<a.id)),0) AS 差额
FROM 表1 AS a;
17#
发表于 2006-1-2 05:50:00 | 只看该作者
我觉得使用dao或者ado方法可能更好一些。
18#
发表于 2006-1-2 10:12:00 | 只看该作者
ding
19#
发表于 2006-1-2 10:15:00 | 只看该作者
ding
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 19:54 , Processed in 0.213764 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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