2008年11月26日星期三

2008年10月29日星期三

在 Access 中查找并删除重复记录

适用于
Microsoft Office Access 2003
Microsoft Access 2002

如果您的 Access 数据库包含从多个源导入的数据,或者您继承了已经使用多年而且没有得到正确设置的数据库,那么该数据库中可能包含需要清除的重复记录。

要确定 Access 表中是否存在重复记录,可以使用 Access 中的"查找重复项查询向导";如果您的表包含的重复记录不多,并且您需要先查看记录再决定删除哪些记录,"查找重复项查询向导"可以帮助您清除重复记录。但是,您也可以自动删除重复记录并保留原始记录。

查找重复的记录或字段值
打开包含重复记录的数据库。
在"数据库"窗口中的"对象"下,单击"查询",然后单击"数据库"窗口工具栏上的"新建"。
在"新建查询"对话框中,单击"查找重复项查询向导",然后单击"确定"。
这可能是因为 Access 正运行于沙盒模式,但您的计算机上尚未安装 Microsoft Jet
4.0 SP8 或更高版本。启用沙盒模式后,必须安装有 Jet 4.0 SP8 或更高版本,Access
才能完全发挥作用。

有关安装 Jet 升级的详细信息,请参阅 Office Online 文章关于 Microsoft Jet 4.0
SP8 或更高版本。

有关沙盒模式的详细信息,请参阅 Office Online 文章关于 Microsoft Jet
Expression Service 沙盒模式。

在该向导中的表列表中,选择包含重复记录的表,然后单击"下一步"。
从可用字段列表中,选择包含重复信息的字段,例如,如果您想比较以不同方式书写的街道地址以查找重复记录,请选择"城市"字段。然后单击"下一步"。
从可用字段列表中,针对要在重复记录中检查的数据选择字段,例如"地址"字段。然后单击"下一步"。
输入查询的名称,例如"针对客户查找重复项",然后单击"完成"以运行查询。
运行查询时,包含重复字段的记录(在本例中,就是同一城市的所有记录)按照该重复字段("城市")排序,这样就可以比较要检查的任何其他字段(例如"地址")中的数据。在本例中,重复记录的"地址"字段包含不同的数据(例如 "崇外大
街" 和 "崇德门外大街")。

如果您的数据库只包含少量的重复记录,可以选择不需要的个别记录并将其删除。当您删除"地址"字段中不使用缩写的重复记录之后,记录将按如下方式显示。

但是,您不能为了删除重复记录而将"查找重复项"查询转换为删除查询。这是由于"查找重复项"查询返回的是原始记录和该记录的所有副本,方便您选择要删除的版本。因此,如果将"查找重复项"查询转换为删除查询,将会同时删除原始记录和重复记录。但是,如果您不需要选择待删除的版本,则有一种既可以保留原始记录、又能自动删除重复记录的方法。

自动删除重复记录并保留原始记录
从表中删除重复记录需要两个步骤。第一步,复制包含重复记录的表的结构,生成包含重复记录的所有字段的主键。第二步,创建并运行从原始表到新表的追加查询。由于主键字段不能包含重复记录,因此这一过程将生成不含重复记录的表。

复制该表并使包含重复项的字段成为主键
在"数据库"窗口中选择该表。
单击工具栏上的"复制"。
然后单击工具栏上的"粘贴"。
在"粘贴表方式"对话框中,键入已复制的表的名称,单击"只粘贴结构",然后单击"确定"。
在"设计"视图中打开新表,选择复制表中包含重复记录的字段。
单击工具栏上的"主键"以基于选定字段创建主键。
保存并关闭该表。
仅将唯一的记录追加到新表
基于包含重复记录的原始表创建一个新查询。
在"查询设计"视图中,单击工具栏上的"查询类型",然后单击"追加查询"。
在"追加"对话框中,在"表名称"列表中单击新表的名称,然后单击"确定"。
添加来自原始表的所有字段,方法是将星号 (*) 拖动到查询设计网格中。
单击工具栏上的"运行"。
当您收到将要追加行的消息时,请单击"是"。
当您收到 Microsoft Access 无法在追加查询中追加所有记录时,请单击"是"。这样,只会将不重复的记录传输到新表中,放弃重复记录。
打开该表查看结果。如果您确定新表的不重复记录是正确的,则可以删除原始表,然后使用原始表的名称重命名新表。

2008年10月28日星期二

探索RailsKits──停止编写重复冗余的代码

对于编写网络应用程序来说,Ruby on Rails是近年来的一个流行Ruby架构。一个原因就在于编写网络应用程序的时候,需要重复地编写同样的基础功能,而RailsKits的出现有效地缓解了这个问题。

相关厂商内容
InfoQ中文站电子杂志《架构师》试刊号发布

SOY Framework:Java富客户端快速开发框架

运用Ruby纤程进行异步I/O:NeverBlock和Revactor

技术沙龙:Solaris网络虚拟机构架和Grails框架分析(11.1 杭州)

IDC:《软件商成长路线图》白皮书免费下载

相关赞助商

InfoQ中文站Ruby社区,面向Web和企业开发的Ruby,主要关注Ruby on Rails,通过新闻、文章、视频访谈和演讲以及迷你书等为中国Ruby社区提供一流资讯。
在进行应用程序的核心部分开发之前,开发者必须要完成一些东西。例如很多使用Ruby
On Rails开发的程序需要实现认证、自动付款以及其他商业应用。RailsKits就是为了快速解决这样的问题而生。

InfoQ获得了一个和RailsKits作者Benjamin Curtis直接对话的机会。我们希望从中能够了解到更多关于RailsKits的信息,例如RailsKits的概念、RailsKits可以提供的大量便捷的类型工具以及它们的使用。

Robert Bazinet (RB):介绍一下你自己吧,Benjamin Curtis

Benjamin Curtis (BC):我是一个西雅图的企业家,创业狂,还是一个Rails的开发者。我喜欢那些和在线商务有关的东西,无论它们是仅仅停留在概念上,还是处于开发中,或者正在后期宣传。我写过一些博客文章,内容是关于对比使用Rails以及没有使用Rails的网络开发,也使用过一些Rails的插件,我也同样热衷于为那些开源工程做自己的贡献,只要有时间的话 。我对在线商务的一个领域──电
子商务尤其感兴趣,早期的Rails开发者已经构建了一个大型的网络商店解决方案,直到现在,我还在一直在构建电子商务的解决方案,例如NextProof,一个为专业的摄影者开发的解决方案,它包括自助的网络商店部件组合和网络商店的构建器。

RB:什么是RailsKits?能介绍一下吗?

BC:RailsKits是一个基础的Ruby On Rails应用,它能够帮助开发者快速地开发应用程序,这些应用程序通常包含一些功能,这些功能很普通,但是底层基础实现非常复杂,比如商务上的经常性结算。基本上,这些应用程序都需要解决一些问题,例如安全地存储信用卡号以及月度地结算,这些问题是相当地普通,并且不会给你的应用程序的特色带来任何更多价值,所以,为什么要花时间在重新发明轮子上呢?使用RailsKits吧,它为这些问题提供了解决方案,你需要将精力放回到那些激动人心的地方上了。

RB:你是怎么想起要做RailsKits这样一个东西呢?

BC:我是在编写了一系列的软件即服务(SaaS)的网络应用之后,产生了要写RailsKits的灵感。有段时间,我的主要工作是进行基于增值(免费+收费)模型B2B应用开发,在那些日子里,我发现每启动一个新的项目,我都是在重用之前项目已经写好的那些结算代码。随着我不断地重复着这些事情,我发现我真的不喜欢与这些代码打交道,这真是完全没有一点意思的事情,我估计肯定也有其他的开发者面临着这样烦人的问题。如果让他们选择,他们肯定愿意购买那些已经实现了经常性结算功能的代码──花小钱办大事,节省了时间不说,还能快速完成他们的程序。所以,我把在一些项目中改善过的结算部分抽取出来,然后打包并且出售。

RB:RailsKits希望解决什么特殊问题?

BC:我已经在之前提到了经常性结算和顾客订购管理是RailsKits专注解决的一些问题。近期发布的另一个RailsKits提供了构建地图程序的平台,在这个平台上,能够轻松地开发那些实现Google Map API和处理地址编码,自己的地图
标注的应用程序。第三个RailsKits,也就是OpenID Kit,我将其免费地发布在网站上,这个工具提供Rails开发者一个起始点,来构建那些需要使用经典的用户名密码登录方式的应用程序,就像OpenID登录那样。所以,作为一个开发者,你不用担心什么OpenID API,
甚至不用担心需要在应用程序中集成OpenID Rails插件,你要做的仅仅是下载这个工具然后使用已经存在的登录方法构建你的应用程序。

RB:什么样的项目适合使用RailsKits呢?

BC:如果你是需要构建一个有着一般化需求的应用程序,例如经常性结算,或者OpenID认证,那么这个应用程序就非常适合使用RailsKits作为起始点来进行开发。需要解决全新问题的应用程序并不推荐使用RailsKits。

RB:你提供了哪些不同的RailsKits以及它们各自专注于什么?

BC:第一个是SaaS RailsKits,它专注于为那些基于顾客订购的网络应用提供起始点。如果你想开发一个多房客管理网络应用来处理房客们月度用信用卡结算的账单,这个工具提供了你经常性结算的代码和为客户创建、升级以及降级帐号的功能。它同样提供了一个多功能的架构,能够完成多客户的隐私数据维护,以及实现产品计划中不同层次的限制,例如一个帐号中用户的数量,磁盘空间使用总量等。其他的工具包括了一个PayPal
API的简单实现,一个OpenID的实现,以及一个为Radiant内容管理系统的扩展,这个扩展为一个基于Radiant的网站提供了仅仅向会员开放的功能。

RB:你对这些工具提供什么样的支持呢?

BC:我对那些关于在这些工具的基础上实现、定制、部署应用程序时产生的问题提供电子邮件支持。我也拥有一个客户的邮件列表,对他们提供其他问题的支持。

RB:我们注意到这些工具是开源的,那么是基于哪个许可证呢?开发者如何才能合法地改进和分发这些工具。

BC:在购买一个工具之后,你就能获得源代码,但是它并不是基于任意一个开源许可证的。这个工具的许可证允许你使用和修改代码,但是不能重新分发,除非你能使用这个工具作为起始点,为客户构建一个解决方案。这个时候你就能够和客户共享这些代码。

RB:能不能给我们的读者举一些客户如何使用这个工具的例子?例如一些拥有自己站点的读者希望能够发现一些使用这些工具能够创造的有意思的东西。

BC:第一个将要部署的用户应用程序NextProof使用了SaaS Rails Kit,这是一个为专业摄影师提供的电子商务平台。这也是我的客户项目,在这个项目中我重用了结算代码,这些代码是在Catch the Best首次编写的,我将这些代
码抽取出来,放入这个架构中,这样就能在大量的项目中重用这些代码。Sifter是另外一个使用了SaaS Rails Kit的站点。

RB:我注意到你使用你自己提供的一个工具构建了一个相当独特的程序,用来寻找本地可用的办公室。你能告诉我们一些有关这个工具以及这个程序的信息吗?

BC:近期我启动了Map Rails Kit,这个工具旨在快速搭建一个Google Maps的混搭应用。它包含一个Google Maps API的实现,还有为开发者提供地址的地理编码,所以所有你需要做的
就仅仅是提供一个地址的列表,然后工具会负责为这些地址生成地理编码并且为你把这些地址在地图上标注出来。使用这个工具,编写一个地图应用程序将是相当容易的一件事,我也在OfficeMapper中使用这个工具。当时我现在的办公室租期快到了,在寻找新的办公地点的时候,我编写了一个脚本,将Craigslist上的出租办公室地址列表下载下来并且使用这个工具将他们标记在地图上,现在我能够对我房子附近哪个办公地点可用一目了然。

RB:你打算在将来提供哪些类型的RailsKits呢?

BC:我有三到四个处于不同完成情况的工具,有些多数时候在不断被裁剪优化,然后为那些通用的实现问题提供一个良好的参考样例(例如PayPal Rails Kit),有些多数时候的朝着对于有着共同需求的
Rails应用,能够成为一个候选的参考解决方案的目标不断被开发完善(例如SaaS
Rails Kit)。我会在接下来的时间在RailsKits的邮件列表中发布一些通知(同样也会提供折扣!),所以务必确保已经在RailsKits web site的页脚下的订阅栏中订阅相关信息。

更多关于RailsKits的信息请参见公司网站。

2008年10月17日星期五

医学问答网站

医学问答网站

js 弹出对话框3种方式

对话框有三种
1:只是提醒,不能对脚本产生任何改变;

2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断

3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片

下面我们分别演示:

%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>三种弹出对话框的用法实例</title>
<script language="javascript">
function ale()
{//这个基本没有什么说的,就是弹出一个提醒的对话框
alert("我敢保证,你现在用的是演示一");
}
function firm()
{//利用对话框返回的值(true 或者 false)
if(confirm("你确信要转去天轰穿的博客?"))
{//如果是true ,那么就把页面转向thcjp.cnblogs.com
location.href="http://thcjp.cnblogs.com";
}
else
{//否则说明下了,赫赫
alert("你按了取消,那就是返回false");
}
}
function prom()
{
var name=prompt("请输入您的名字","");//将输入的内容赋给变量 name ,
//这里需要注意的是,prompt有两个参数,前面是提示的话,后面是当对话框出来后,在对话框里的默认值
if(name)//如果返回的有内容
{
alert("欢迎您:"+ name)
}
}
</script>
</head>

<body>
<p>对话框有三种</p>
<p>1:只是提醒,不能对脚本产生任何改变;</p>
<p>2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if else
判断 </p>
<p>3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片 </p>
<p>下面我们分别演示:</p>
<p>演示一:提醒 对话框</p>
<p>
<input type="submit" name="Submit" value="提交" onclick="ale()" />
</p>
<p>演示二:确认对话框 </p>
<p>
<input type="submit" name="Submit2" value="提交" onclick="firm()" />
</p>
<p>演示三:要求用户输入,然后给个结果</p>
<p>
<input type="submit" name="Submit3" value="提交" onclick="prom()" />
</p>
</body>

2008年10月15日星期三

网通谢幕 新联通公司今挂牌正式成立

悉,新的组建的公司名称为"中国联合网络通信有限公司",简称仍为中国联通。新公司的公办地点将主要为原中国网通大楼,但原中国联通总部大楼也将承担部分人员办公职责。

同时中国网通从香港和纽约两地交易所摘牌退市,退市时间分别为香港时间15日9时30分和纽约时间15日9时30分。之后,中国网通正式成为中国联通附属子公司。 自从2002年开始成立的中国网通,在经历了六载
春秋后终于随着奥运会的闭幕而完成了使命,缩小成为中国电信改革史上的一个句点。

据悉中国网通员工和营业厅将逐步合并为中国联通,统一打上联通新标识,届时新联通自有营业厅数量将达到18000个。

目前新联通已经确定了机构设置,内部确定部门总是达34个,合并后网通市场部仍独立成为一个部门,为固定业务市场部。按照中国联通董事长常小兵自己的预0测.,两家公司整合的全部工作将于合并生效后一年内全部完成。

联通保证3年内不裁员!

2008年10月8日星期三

博客站运营的十五个好方法

1、选择一个好的博客程序。好的博客程序是博客成功的重要保障。比如Zblog、Wordpress等都是优秀的独立博客程序,如果你还不打算花钱,百度空间、搜狐博客、blogbus也许是你不错的选择。可以参考如何选择博客程序

2、好的博客一般都有一个好的域名和博客名字。在专门的博客网站申请的博客一定要有个好名字,这样易记,容易树立自己的品牌。独立博客更是如此,你可以参考前面的文章 博客命名。

3、博客最好比较简洁。华丽的博客固然可以吸引不少年轻的朋友,但过多的效果必然会拉长博客的打开时间,这样会有很多人失去打开的耐心。高速,简洁,易用,且有特色的博客最吸引大部分人。

4、适当的使用图片。文字对于搜索引擎友好,而读者更新换看直观的图片。博客内容不同于框架,它是独立的,当大家通过搜索引擎找到你的博客的时候往往打开的是一个页面,所以,不必担心首页因为文章太多而让大家等待时间过长。

5、坚持写文章。如果能坚持每天写一篇应该不是特别累人的事情,如果你觉得不过瘾,可以在开始的时候写两篇,当比较平稳了之后每隔一天写一篇。刚开始大家可以写两篇的原因是为了讨好搜索引擎,希望引起他们的关注。超过两片的原创性文字对我们来说也许比较难,所以在坚持质量的原则下,还是每天不要过多的写文章。但是要坚持,相对稳定的频率,如每天一篇或者两天一片都是很好的。不要在某一天写了很多,而后连续很多天什么都没有,这样对于搜索引擎和忠实用户来说都不太好。

6、使用简单的搜索引擎优化。网页标题,说明标签,黑体,斜体,网页的最开始使用一次你的本文的关键字。这种最简单、古老的优化策略往往是最有效的。如果你是英文博客,地址的自定义URL中可以使用关键词,如果你是中文博客,在自定义的URL中可以使用关键词的英文单词或者关键词的拼音,现在支持中文的搜索引擎如百度、Google、雅虎中文、live都可以识别。

7、加入一个内连接。在你的博客中加入一个内连接到其他文章不但可以增加阅读者的互动性,让读者更全面的理解你的意思,使他们多读几页你的博客;更能使搜索引擎增加这些页面的相关性,从而增加公共关键词在搜索引擎中的排名。内链接的优化至关重要,如果有机会我们可以专门开篇说明。

8、给搜索引擎一个链接。我们一般不提倡外连接。但,搜索引擎是个例外,页面当中如果出现了百度、google、雅虎、live,请给他们一次连接,请记住是一次。主要原因是讨好他们,在我们的搜索引擎索引文章的时候,有链接向他们的页面至少是有好的;其次,读者在读某一篇文章的时候,会有一些点击,当搜索引擎接到这些网页的转向信息时,这些网页会被早一点收录。

9、注意流量数据。博客老手都会留意自己的博客流量,但绝非简单的PV和IP。他们关注:到底是什么关键词带来了PV,第一落脚点集中在哪里,什么样的关键词流逝了,直接的订阅用户有多少,收藏用户有多少,各个搜索引擎分别来多少,哪里推荐了你的网址……关于这个我们以后会有文章专门讨论。

10、要原创也要质量。很多地方都在提"内容为王",可是很多朋友并不理解其为何意(也许我也不理解)。我的理解是:多写原创,但原创要有真是的内容和意义。不是流水帐,不是简单的文字堆砌,不是毫无用处的文字堆砌,不是……,我们一定要去人,文章告诉想读者什么,文章想告诉搜索引擎什么。也许网络世界最流行那句"存在即合理",但我想问的是,如果一篇一个月只有两次点击点击的文章和一个月有一千次点击的文章,你觉得那个更"合理"的存在?所以,内容原创,更要有价值。

11、适当的推广。任何正常的事物都需要慢慢的成长,博客的经营也如此。不要过分的到处发垃圾留言,这样不但会遭到别人的删除,还会引起搜索引擎的注意,甚至遭到搜索引擎的惩罚。

12、丰富博客的功能。博客有很多的模块,但最需要什么,我们就添加什么,订阅模块需要吗?日历模块是否需要?推荐列表是否需要?音乐模块是否需要?统计系统是否合适?我们自己要明白,不是别人有什么,我也要什么。过多的插件和模块很很快的抹杀我们的博客性能,拿最需要的摆出来。

13、有前瞻性的写文章。关于早写主题早在搜索引擎里占一个位置的重要性,我们在前面的博客教程中已有说明。前瞻性的文章就是股票中的潜力股,"长期投资",值得大家写。

14、热点也可以写。热点虽然有不少不能给我们长久的带来流量,但在短期是有机会的。

15、不要太过于关心数字。这些数字包括各个搜索引擎索引了多少页面,每天的流量有多大,订阅数有多少,广告费得了多少。这些数字不是一朝一夕得到的。有些数字每天睡觉前看一遍,有些数字每周看一边足亦。

一个在线工具网站

在线工具: http://zhongguoren.cn
 
 
 
 
 
 
 
 
 
 
 

位于浙江省天台县万年山麓,它发端于东晋,始建于唐。南宋时曾列入"五山十刹",兴极一时。宋孝宗问:"天下名山名寺哪里最好?"学士宋之端答道: "太平鸿福,国清万年"。可见万年寺非同一般。根据日僧实地描绘的寺图,当时共有40多处殿堂寮室在线工具。寺前有宋初建造的六角形宝塔和放生池。以后历经兴废,到清代乾隆、嘉庆年间在线工具,一次剃度,还动辄五百人。至1921年,寺境还占地约2.4万平方米,尚有天王殿、大雄宝殿、法堂、方丈室,以及肃堂、客堂、戒堂、西方胜院等殿宇。其时,住持谛闲曾经加以整修。此后,因经年失修,仅留下大雄宝殿、天王殿等少数建筑。目前,正在修复中。
 
万年寺在中外茶文化交流史上有着重要的地位,日僧荣西、道元曾先后来此求师学法。特别值得一提的是在线工具荣西禅师(1141―1215年)曾两度来到我国。荣西第一次来我国是在宋孝宗乾道四年(1168年),在明州(今宁波)天童寺、阿育王寺和天台山万年寺等参禅。第二次来我国是在宋孝宗淳熙十四年(1187年),拜天台山万年寺虚阉为师,直到1191年回国。
 
荣西回国后,除了研究佛教经典外,还带回宋时的饮茶风习,他以极大的兴趣研究茶的功能,并把从由天台山和四明山带回的茶籽在日本种植。进而根据我国寺院的在线工具饮茶方法,制订寺院的饮茶仪式。在他晚年著的《吃茶养生记》中,说茶是"贵哉茶乎,上通诸天境界,下资人伦矣。诸药各为一病之药在线工具,茶为万病之药"。还称茶是"上天的恩物","圣药之本源"。从而,使茶在日本很快传播开来。所以,在茶文化发展史上,万年寺曾为中日茶文化交流作出了贡献。