设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] Access可不可以做到?

[复制链接]
11#
发表于 2009-5-9 11:28:04 | 只看该作者
本帖最后由 todaynew 于 2009-5-9 13:58 编辑
很久不见todaynew了。还在继续猜问题。 强。
ACMAIN_CHM 发表于 2009-5-6 22:44

呵呵,没办法,还是帮他分析了一下。规律是按4位数分组,分组规律为长数据至向下遇到的第一个短数据为一组。由此查询就很好写了:
SELECT 表1.数据 AS glm, IIf(Len([数据])=4,[数据],DFirst("数据","表1","ID>" & 表1.ID & " and len(数据)=4")) AS tm
FROM 表1
WHERE (((Len([表1].[数据]))>4))
ORDER BY 表1.数据;






本帖子中包含更多资源

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

x
12#
发表于 2009-5-9 11:40:13 | 只看该作者
是,没有规律。
我是在一个程序里生成的这样一系列数据,我就想弄明白作者他是用什么方式做到这一点的。
jeeren 发表于 2009-5-7 15:00

实际上是有规律的,只是你没看出规律,或者不知道怎么表述而已。
13#
 楼主| 发表于 2009-5-12 12:31:12 | 只看该作者
言之有理。
14#
 楼主| 发表于 2009-5-12 12:38:49 | 只看该作者
兄弟索性送佛送到西,我把那个程序呈上来你给看一下,看不能不能找出点破绽来。

本帖子中包含更多资源

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

x
15#
发表于 2009-5-12 16:18:05 | 只看该作者
应该是表1中的三长属于后面紧接着的那一短那一类的
16#
发表于 2009-5-13 11:16:52 | 只看该作者
本帖最后由 todaynew 于 2009-5-13 17:29 编辑

DataSource不是原始表,而是排序后的结果。因此这张表与结果表之间已经看不出规律来了。
实际上分析时不用DataSource表,而是直接看原始表和结果表就可以了,原始表到结果表的算法过程可以分为激流三部曲---分组---排序---筛选:

1、原始数据
数据
35475453876546354
89645634565487654
78965346784564559
2222
53278547687564657
75698245825468546
37546874598654962
5555
78932459354686547
45687654983543542
78545687549549862
1111
45873246345645657
45686547895354985
74598354584589353
7777
2、分组
数据分组
354754538765463542222
896456345654876542222
789653467845645592222
22222222
532785476875646575555
756982458254685465555
375468745986549625555
55555555
789324593546865471111
456876549835435421111
785456875495498621111
11111111
458732463456456577777
456865478953549857777
745983545845893537777
77777777
3、排序
数据分组
11111111
22222222
354754538765463542222
375468745986549625555
456865478953549857777
456876549835435421111
458732463456456577777
532785476875646575555
55555555
745983545845893537777
756982458254685465555
77777777
785456875495498621111
789324593546865471111
789653467845645592222
896456345654876542222
4、筛选
数据分组
354754538765463542222
375468745986549625555
456865478953549857777
456876549835435421111
458732463456456577777
532785476875646575555
745983545845893537777
756982458254685465555
785456875495498621111
789324593546865471111
789653467845645592222
896456345654876542222
17#
 楼主| 发表于 2009-5-15 09:46:12 | 只看该作者
原来是这个一个过程啊,真是太谢谢了。

兄弟,你真牛。
18#
 楼主| 发表于 2009-5-15 09:53:55 | 只看该作者
那要是这样的话,是不是在导入数据时生成一张临时表,然后再进行分组排序和筛选,写出另一张新表,最后删除那张临时表?

不知这样可行否
19#
发表于 2009-5-15 11:53:04 | 只看该作者
那要是这样的话,是不是在导入数据时生成一张临时表,然后再进行分组排序和筛选,写出另一张新表,最后删除那张临时表?

不知这样可行否
jeeren 发表于 2009-5-15 09:53

具体实现的方法多种多样,可以在Excel表中加工后导入Access,也可在Access中直接加工,在Access中又可以分为用子查询实现、用dfirst函数实现,还可用记录集实现。所以实现的手段和方法全然都不重要,重要的只是明白原始表与结果表之间的关系,仅此而已。
20#
 楼主| 发表于 2009-5-15 14:29:58 | 只看该作者
看来还得再去学学数据库基础。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-23 20:40 , Processed in 0.111335 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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