设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[ADO/DAO] 请教如何通过ADO或DAO的实现快速统计?

[复制链接]
跳转到指定楼层
1#
发表于 2007-7-27 06:16:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
<>表  “学生管理” 有如下字段</P>
<><br>事件ID     学生姓名        时间          类别       内容            摘要<br>             <br>1             甲         2007-7-1        奖励      成绩优秀       月度小考分数全班第一</P>
<>2             乙         2007-7-3        处罚      迟到           早上10点才回到学校</P>
<P>3             乙         2007-7-3        处罚      早退           下午2点就离开课室        </P>
<P>4             丙         2007-7-7        奖励      表现突出       主动打扫卫生</P>
<P>5             甲         2007-7-9        奖励      成绩优秀       级运动会长跑第一</P>
<P>6             丙         2007-7-9        处罚      违规           上课打瞌睡</P>
<P>7             乙         2007-7-15       处罚      违规           与隔壁班大熊打架         </P>
<P>……</P>
<P>在每月和期末的时候就需要进行统计汇总,用Dcount 等域函数,是可以做到在子窗体中使用数据表显示如下的的统计结果的:</P>
<P>成绩优秀次数=dcount("[ID]","学生管理","[内容]="成绩优秀" and [姓名]='"me.姓名"')</P>
<P>奖励小计=dcount("[ID]","学生管理","[类别]="奖励" and [姓名]='"me.姓名"')</P>
<P><br><br></P>
<P><br>但是在数据量多或使用次数多时非常慢,请教如何通过ADO或DAO的实现?</P><br><br><br><br>
[此贴子已经被作者于2007-7-26 23:05:49编辑过]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
17#
发表于 2008-1-29 23:37:55 | 只看该作者
值得详细研究一下!谢谢
16#
发表于 2008-1-29 23:01:16 | 只看该作者
好贴
15#
发表于 2008-1-10 13:10:10 | 只看该作者
赚钱啊!!!!!!!!!!!!!!
14#
发表于 2008-1-10 13:08:51 | 只看该作者
好贴
13#
发表于 2007-7-28 19:20:00 | 只看该作者
<>谢谢楼主的详细解答!</P>
<>老实说你讲的那些“偷盗”方法我都不会,所以我也就不管那么多了。而且如果想偷,作为服务器的电脑也很容易被人抱走(去年就被人偷过一台,公安局的都来了)。</P>
<>我在研究你提供的那个工具了,不知道生成的.exe能不能在WIN98客户端运行。</P>
<P>再次感谢!</P>
12#
 楼主| 发表于 2007-7-28 07:58:00 | 只看该作者
<>回楼上,通过ado做在vba代码里面,生成mde可以避免用户看到前台的查询或修改查询。</P>

<>回fswxs,不满足这5点真的是徒劳白费心,我一一给你说明,假设那个能访问数据库的用户名是sales:</P>
<>1、2两点是为了避免用户可以轻易知道数据库路径。如果不设定的话,用户在打开数据库后,调出任务管理器,就能看到当前运行access的用户名是sales,然后他就能直接打开系统盘下的隐藏目录"Documents and Settings\sales\Application Data\Microsoft\Office\Recent",这个目录就是office记录该用户最近所有访问过文件的路径(如果他们不是管理员而C盘是NTFS的话他们是看不了其他用户信息的)</P>
<P>3、不禁用"ctrl+o"、"ctrl+n"等access快捷键,用户在打开数据库后,先"ctrl+n"以sales身份再次运行一个access主程序,点击一下文件菜单就可以看到刚才的数据库路径在哪里,然后再按一下ctrl+o,马上就弹出对话询问要打开什么文件,用户可以在这个对话框输入数据库路径(如\\服务器名\数据库文件夹$)直接copy走你的mde,也能以sales身份运行任何程序;同样,不禁用office助手和帮助、输入法帮助,用户只要打开这些帮助也能打开类似对话框跳转出去,不过麻烦了一点。</P>
<P><BR>4、5两点,数据库窗口不设置为弹出模式来阻止用户点击菜单,用户简直就能直接通过菜单更改你的设计或导出数据库。</P>
<P><BR>你可以自己操作上面的内容来体会一下,即使用第三方软件隐藏了sales的密码和数据库路径,access自己马上就给你暴露出来,安全性太低。</P>
<P><BR>第三方的软件很多,可以试试一个国产中文软件的RunAs tool,百度一下就有了,他能将用户名,密码,路径打包成一个exe,要求不高的话够用了。<BR>老外做的功能更强,例如提供对目标程序的MD5和数字签名校验来预防陷阱欺骗,可以绑定机器或硬盘,也能同时加载多个用户配置文件、注册表和打印机设置等,不过是英文的,设定很麻烦。</P>
11#
发表于 2007-7-28 06:05:00 | 只看该作者
<DIV class=quote><B>以下是引用<I>rjacky</I>在2007-7-27 18:49:00的发言:</B><BR>
<><FONT face=Verdana color=#61b713><STRONG>tz-chf</STRONG><FONT color=#000000>兄,你懂的话就说一下吧,之前也有不少朋友问过你呢</FONT></FONT></P>
<>查询虽然维护方便,但是如果做在VBA里面安全性更高一点</P><BR></DIV>
<p>和安全性有什么搭界
10#
发表于 2007-7-28 05:52:00 | 只看该作者
<DIV class=quote><B>以下是引用<I>rjacky</I>在2007-7-27 18:43:00的发言:</B><BR>
<>to 3楼的朋友:</P>
<>我的保护mdb方法操作繁琐,设置要求比较高,你先确认一下,能不能做到:</P>
<>1、客户端的操作系统所在分区必须为ntfs格式;</P>
<P>2、用户在客户端上没有管理员权限,只有普通用户权限;</P>
<P>3、用户能容忍禁打开这个收保护的数据库时,office助手和帮助功能被禁用,F1等快捷键被禁用,输入法帮助被禁用</P>
<P>4、数据库的所有窗口必须设置为弹出模式,也就是说不能同时打开或操作多个窗口(如果你用的access2000,那么所有的报表会在窗体设置为模式时将会显示不正常),自定义菜单不能使用</P>
<P>5、如果你的数据库有打印功能,那么用户不能随意选择打印机,基本只能使用预先设置的打印机</P>
<P><BR><BR>以上只要有任何一点不能满足,稍懂电脑的用户就能突破限制,所有的努力就会白费</P><BR><BR></DIV>
<P>
<P>谢谢你这么热心的回复!</P>
<P>以上5条都有困难,你说稍懂电脑的人就可以突破,但我没能看出有什么用,看来我还是不懂电脑。</P>
<P>我能理解作为服务器端使用NTFS的作用,但为什么还要限制客户端呢?</P>
<P>你的思路我简单理解为,在NTFE磁盘上安装MDE文件的共享文件夹,然后设置权限,给某个用户名控制,然后在其他电脑使用这个用户名,输入正确密码才可以访问这个文件夹。为了不暴露密码,使用第三方软件隐藏路径和密码,直接打开数据库。</P>
<P>你追求的是完美的方案,而我要求的是能对付像我这样的菜鸟就行了。</P>
<P>我希望做到的是:</P>
<P>1、我的MDE放在WINDOWS2003操作系统的NTFS分区内,设置服务器的访问权限。</P>
<P>2、不限制客户端的操作系统,发布的时候可以要求客户端运行第三方软件连接数据库。如果是一个MDE做的就更好了,隐藏了访问文件夹的用户名、密码和路径。</P>
<P>3、没有密码就不能打开共享文件夹,当然也不能删除。</P>
<P>只要这样就可以了,能行吗?我不会的是第二条,请继续指点,谢谢!</P>
9#
 楼主| 发表于 2007-7-28 02:49:00 | 只看该作者
<><FONT face=Verdana color=#61b713><STRONG>tz-chf</STRONG><FONT color=#000000>兄,你懂的话就说一下吧,之前也有不少朋友问过你呢</FONT></FONT></P>

<>查询虽然维护方便,但是如果做在VBA里面安全性更高一点</P>
[此贴子已经被作者于2007-7-27 18:50:45编辑过]

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

本版积分规则

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

GMT+8, 2024-5-23 09:43 , Processed in 0.127280 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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