﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-闲庭信步</title><link>http://www.cnitblog.com/seaship/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 05:59:02 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 05:59:02 GMT</pubDate><ttl>60</ttl><item><title>asp.net三层架构</title><link>http://www.cnitblog.com/seaship/archive/2010/07/16/67531.html</link><dc:creator>seaship</dc:creator><author>seaship</author><pubDate>Fri, 16 Jul 2010 00:53:00 GMT</pubDate><guid>http://www.cnitblog.com/seaship/archive/2010/07/16/67531.html</guid><wfw:comment>http://www.cnitblog.com/seaship/comments/67531.html</wfw:comment><comments>http://www.cnitblog.com/seaship/archive/2010/07/16/67531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/seaship/comments/commentRss/67531.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/seaship/services/trackbacks/67531.html</trackback:ping><description><![CDATA[三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为：表现层（UI）、业务逻辑层（BLL）、数据访问层（DAL）。区分层次的目的即为了&#8220;高内聚，低耦合&#8221;的思想。　 <br>&nbsp;１、表现层（UI）：通俗讲就是展现给用户的界面，即用户在使用一个系统的时候他的所见所得。
<p align=left>&nbsp;２、业务逻辑层（BLL Business Logic Layer）：针对具体问题的操作，也可以说是对数据层的操作，对数据业务逻辑处理。</p>
<p align=left>&nbsp;&nbsp;３、数据访问层（DAL）：该层所做事务直接操作数据库，针对数据的增、删、改、查。</p>
<p align=left>　　<strong><em>优点：</em></strong></p>
<p align=left>　　1、开发人员可以只关注整个结构中的其中某一层；</p>
<p align=left>　　2、可以很容易的用新的实现来替换原有层次的实现；</p>
<p align=left>　　3、可以降低层与层之间的依赖；</p>
<p align=left>　　4、有利于标准化；</p>
<p align=left>　　5、利于各层逻辑的复用。</p>
<p align=left>　　<strong><em>缺点：</em></strong></p>
<p align=left>　　1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构，很多业务可以直接造访数据库，以此获取相应的数据，如今却必须通过中间层来完成。</p>
<p align=left>　　2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能，为保证其设计符合分层式结构，可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。</p>
所以考虑一个项目是不是应该应用三层/多层设计时, 先得考虑下是不是真的需要? 实际上大部分程序就开个WebApplication就足够了, 完全没必要作的这么复杂. 而多层结构, 是用于解决真正复杂的项目需求的。
<img src ="http://www.cnitblog.com/seaship/aggbug/67531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seaship/" target="_blank">seaship</a> 2010-07-16 08:53 <a href="http://www.cnitblog.com/seaship/archive/2010/07/16/67531.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VBA 编写考勤分析程序终于完成了</title><link>http://www.cnitblog.com/seaship/archive/2010/06/24/66975.html</link><dc:creator>seaship</dc:creator><author>seaship</author><pubDate>Thu, 24 Jun 2010 03:41:00 GMT</pubDate><guid>http://www.cnitblog.com/seaship/archive/2010/06/24/66975.html</guid><wfw:comment>http://www.cnitblog.com/seaship/comments/66975.html</wfw:comment><comments>http://www.cnitblog.com/seaship/archive/2010/06/24/66975.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/seaship/comments/commentRss/66975.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/seaship/services/trackbacks/66975.html</trackback:ping><description><![CDATA[<p>VBA 编写考勤分析程序终于完成了，从6月15号开始经过十几次的反复修改<br>6月24号终于推出了 1.0正式版。<br>编写目的：<br>目前公司考勤班次复杂，员工人数多，现有的考勤软件无法准确对所有员工打卡记录进行归类。<br>完全依靠人工进行分析每个员工的打卡记录。为了减少和减轻人工分析过程中大量的重复性劳动，<br>现利用EXCEL VBA 程序开发一套考勤分析程序。</p>
<p>实现功能：<br>1.自动计算正常上班时间和实际加班时间<br>2.自动标注出勤迟到，早退，漏打卡等出勤异常的员工打卡记录<br>3.自动排除重复打卡记录<br>4.标注排班表中未添加，但是有出勤记录的员工</p>
<p>存在问题：<br>1.必须在排班表中准确分配好员工的班次，否则出现错误<br>2.还需要人工核对异常出勤记录中是否存在请假<br>3.由于完全依靠CPU计算分析考勤数据，数据量大时会计算缓慢，需要提高计算机硬件配置</p>
<img src ="http://www.cnitblog.com/seaship/aggbug/66975.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seaship/" target="_blank">seaship</a> 2010-06-24 11:41 <a href="http://www.cnitblog.com/seaship/archive/2010/06/24/66975.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>企业网站做SEO的意义</title><link>http://www.cnitblog.com/seaship/archive/2010/06/21/66895.html</link><dc:creator>seaship</dc:creator><author>seaship</author><pubDate>Mon, 21 Jun 2010 03:49:00 GMT</pubDate><guid>http://www.cnitblog.com/seaship/archive/2010/06/21/66895.html</guid><wfw:comment>http://www.cnitblog.com/seaship/comments/66895.html</wfw:comment><comments>http://www.cnitblog.com/seaship/archive/2010/06/21/66895.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/seaship/comments/commentRss/66895.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/seaship/services/trackbacks/66895.html</trackback:ping><description><![CDATA[现在企业都很注重宣传自己，只有宣传好自己，外界认同你了，你的企业才能更好的发展，而企业网站侧是一个企业形象宣传的窗口，对于一个陌生的客户要了解你们很多会先看看你的网站，从侧面了解一下，你公司的实力及产品信息等。这里说到的陌生的客户,（姑且让我这样称呼吧，）也是潜在的客户,他们是怎么样得知你的企业，我想有一部分是通过搜索找到的，说到搜索这里好像才和SEO搭上边吧，其实我觉得我在这里谈SEO应用于企业之中，可能有些多余的，因为作为SEOER都知道，通过SEO优化，让企业站排名靠前，可以网罗更多客源，事实上也是这样的，很多企业都是这样做的<br>企业网站，不说如何优化，想说说网站用户体验，这也是SEO里的一部分内容吧，企业站最好简洁明了，不要让人看了有找不着北的感觉。产品分类清析，说明详细，图文并茂，用户更容易找到TA想要的。另外很多人说企业站没什么内容更新，其实不然，一个行业相关的东西太多了，你可以找找技术方面、信息方面的内容，经常更一下，特别是逢年过节的时候，发表一些祝贺类的文章，表达一下企业对客户的祝贺，更能显示企业的亲和力及人文关怀。还有本论坛的一位朋友告诉我的:1、把网站首页的联系方式加粗加红，2、在网页右边增加滚动的网站留言板，或者在线QQ能给网站提升 300%的效果，但这样做有没有300%的效果不敢说，但肯定有一定的好处，红色字体最少可以引人注目，在线QQ及留言方便用户交流，大家可以试试。<br><br>总之通过企业网站能给企业来一定的销售量,而SEO能给企业站带来更多生机,当然企业网上的销售不能光靠一个企业站维持,还得在其他一些行业站发布一些相关信息,拿阿里巴巴、慧聪网来说，在这些网站上发布信息，客户通过他们网站内的搜索也能找到你，这里发布信息也有个技巧的，别人站内搜你也是通过关键词才能搜到，所以这里就用上SEO里的关键词选择。发布时你得选好关键词及发布的标题，这样搜索时你才能靠前，机会更大。
<img src ="http://www.cnitblog.com/seaship/aggbug/66895.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seaship/" target="_blank">seaship</a> 2010-06-21 11:49 <a href="http://www.cnitblog.com/seaship/archive/2010/06/21/66895.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C# 连接ACCESS类</title><link>http://www.cnitblog.com/seaship/archive/2010/06/20/66874.html</link><dc:creator>seaship</dc:creator><author>seaship</author><pubDate>Sun, 20 Jun 2010 09:06:00 GMT</pubDate><guid>http://www.cnitblog.com/seaship/archive/2010/06/20/66874.html</guid><wfw:comment>http://www.cnitblog.com/seaship/comments/66874.html</wfw:comment><comments>http://www.cnitblog.com/seaship/archive/2010/06/20/66874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/seaship/comments/commentRss/66874.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/seaship/services/trackbacks/66874.html</trackback:ping><description><![CDATA[<p>定义AccessDbClass类</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_0_109_Closed_Image onclick="this.style.display='none'; Codehighlighter1_0_109_Closed_Text.style.display='none'; Codehighlighter1_0_109_Open_Image.style.display='inline'; Codehighlighter1_0_109_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><img id=Codehighlighter1_0_109_Open_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_109_Open_Text.style.display='none'; Codehighlighter1_0_109_Closed_Image.style.display='inline'; Codehighlighter1_0_109_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><span id=Codehighlighter1_0_109_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">变量声明处</span><span id=Codehighlighter1_0_109_Open_Text style="DISPLAY: none"><span style="COLOR: #0000ff">#region</span><span style="COLOR: #000000">&nbsp;变量声明处</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;OleDbConnection&nbsp;Conn;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;ConnString;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">连接字符串</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">#endregion</span></span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;Dbpath</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Application.StartupPath.Substring(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;Application.StartupPath.Substring(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;Application.StartupPath.LastIndexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)).LastIndexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;string&nbsp;Dbpath&nbsp;=&nbsp;"D:\\我的文档\\Visual&nbsp;Studio&nbsp;2005\\Projects\\hrmgl\\hrmgl\\database\\db.mdb";</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_399_469_Open_Image onclick="this.style.display='none'; Codehighlighter1_399_469_Open_Text.style.display='none'; Codehighlighter1_399_469_Closed_Image.style.display='inline'; Codehighlighter1_399_469_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_399_469_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_399_469_Closed_Text.style.display='none'; Codehighlighter1_399_469_Open_Image.style.display='inline'; Codehighlighter1_399_469_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_399_469_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_399_469_Open_Text><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;&nbsp;构造函数与连接关闭数据库<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;构造函数<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">ACCESS数据库路径</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;AccessDbClass()<br><img id=Codehighlighter1_509_791_Open_Image onclick="this.style.display='none'; Codehighlighter1_509_791_Open_Text.style.display='none'; Codehighlighter1_509_791_Closed_Image.style.display='inline'; Codehighlighter1_509_791_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_509_791_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_509_791_Closed_Text.style.display='none'; Codehighlighter1_509_791_Open_Image.style.display='inline'; Codehighlighter1_509_791_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_509_791_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_509_791_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConnString&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Provider=Microsoft.Jet.OleDb.4.0;Data&nbsp;Source=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;Dbpath&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">@"</span><span style="COLOR: #000000">\database\db.mdb</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;ConnString&nbsp;=&nbsp;"Provider=Microsoft.Jet.OleDb.4.0;Data&nbsp;Source="&nbsp;+&nbsp;Dbpath;</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conn&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;OleDbConnection(ConnString);<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conn.Open();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_801_852_Open_Image onclick="this.style.display='none'; Codehighlighter1_801_852_Open_Text.style.display='none'; Codehighlighter1_801_852_Closed_Image.style.display='inline'; Codehighlighter1_801_852_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_801_852_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_801_852_Closed_Text.style.display='none'; Codehighlighter1_801_852_Open_Image.style.display='inline'; Codehighlighter1_801_852_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_801_852_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_801_852_Open_Text><span style="COLOR: #808080">///</span><span style="COLOR: #008000">/&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;打开数据源链接<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;OleDbConnection&nbsp;DbConn()<br><img id=Codehighlighter1_901_961_Open_Image onclick="this.style.display='none'; Codehighlighter1_901_961_Open_Text.style.display='none'; Codehighlighter1_901_961_Closed_Image.style.display='inline'; Codehighlighter1_901_961_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_901_961_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_901_961_Closed_Text.style.display='none'; Codehighlighter1_901_961_Open_Image.style.display='inline'; Codehighlighter1_901_961_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_901_961_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_901_961_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conn.Open();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;Conn;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_972_1024_Open_Image onclick="this.style.display='none'; Codehighlighter1_972_1024_Open_Text.style.display='none'; Codehighlighter1_972_1024_Closed_Image.style.display='inline'; Codehighlighter1_972_1024_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_972_1024_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_972_1024_Closed_Text.style.display='none'; Codehighlighter1_972_1024_Open_Image.style.display='inline'; Codehighlighter1_972_1024_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_972_1024_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_972_1024_Open_Text><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;请在数据传递完毕后调用该函数，关闭数据链接。<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;Close()<br><img id=Codehighlighter1_1061_1097_Open_Image onclick="this.style.display='none'; Codehighlighter1_1061_1097_Open_Text.style.display='none'; Codehighlighter1_1061_1097_Closed_Image.style.display='inline'; Codehighlighter1_1061_1097_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1061_1097_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1061_1097_Closed_Text.style.display='none'; Codehighlighter1_1061_1097_Open_Image.style.display='inline'; Codehighlighter1_1061_1097_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1061_1097_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1061_1097_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conn.Close();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_1112_1220_Open_Image onclick="this.style.display='none'; Codehighlighter1_1112_1220_Open_Text.style.display='none'; Codehighlighter1_1112_1220_Closed_Image.style.display='inline'; Codehighlighter1_1112_1220_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1112_1220_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1112_1220_Closed_Text.style.display='none'; Codehighlighter1_1112_1220_Open_Image.style.display='inline'; Codehighlighter1_1112_1220_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1112_1220_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1112_1220_Open_Text><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;数据库基本操作<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;根据SQL命令返回数据DataTable数据表,<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;可直接作为dataGridView的数据源<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;DataTable&nbsp;SelectToDataTable(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;SQL)<br><img id=Codehighlighter1_1284_1563_Open_Image onclick="this.style.display='none'; Codehighlighter1_1284_1563_Open_Text.style.display='none'; Codehighlighter1_1284_1563_Closed_Image.style.display='inline'; Codehighlighter1_1284_1563_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1284_1563_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1284_1563_Closed_Text.style.display='none'; Codehighlighter1_1284_1563_Open_Image.style.display='inline'; Codehighlighter1_1284_1563_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1284_1563_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1284_1563_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbDataAdapter&nbsp;adapter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;OleDbDataAdapter();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbCommand&nbsp;command&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;OleDbCommand(SQL,&nbsp;Conn);<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adapter.SelectCommand&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;command;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable&nbsp;Dt&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;DataTable();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adapter.Fill(Dt);<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;Dt;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1573_1708_Open_Image onclick="this.style.display='none'; Codehighlighter1_1573_1708_Open_Text.style.display='none'; Codehighlighter1_1573_1708_Closed_Image.style.display='inline'; Codehighlighter1_1573_1708_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1573_1708_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1573_1708_Closed_Text.style.display='none'; Codehighlighter1_1573_1708_Open_Image.style.display='inline'; Codehighlighter1_1573_1708_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1573_1708_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_1573_1708_Open_Text><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;根据SQL命令返回数据DataSet数据集，其中的表可直接作为dataGridView的数据源。<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;在返回的数据集中所添加的表的名称<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #808080">///</span><span style="COLOR: #008000">&nbsp;</span><span style="COLOR: #808080"></span></span><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;DataSet&nbsp;SelectToDataSet(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;SQL,&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;subtableName)<br><img id=Codehighlighter1_1789_2119_Open_Image onclick="this.style.display='none'; Codehighlighter1_1789_2119_Open_Text.style.display='none'; Codehighlighter1_1789_2119_Closed_Image.style.display='inline'; Codehighlighter1_1789_2119_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1789_2119_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1789_2119_Closed_Text.style.display='none'; Codehighlighter1_1789_2119_Open_Image.style.display='inline'; Codehighlighter1_1789_2119_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1789_2119_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1789_2119_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbDataAdapter&nbsp;adapter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;OleDbDataAdapter();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbCommand&nbsp;command&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;OleDbCommand(SQL,&nbsp;Conn);<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adapter.SelectCommand&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;command;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataSet&nbsp;Ds&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;DataSet();<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ds.Tables.Add(subtableName);<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adapter.Fill(Ds,&nbsp;subtableName);<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;Ds;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<img src ="http://www.cnitblog.com/seaship/aggbug/66874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seaship/" target="_blank">seaship</a> 2010-06-20 17:06 <a href="http://www.cnitblog.com/seaship/archive/2010/06/20/66874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VBA编写 考勤分析宏程序</title><link>http://www.cnitblog.com/seaship/archive/2010/06/20/66864.html</link><dc:creator>seaship</dc:creator><author>seaship</author><pubDate>Sun, 20 Jun 2010 00:44:00 GMT</pubDate><guid>http://www.cnitblog.com/seaship/archive/2010/06/20/66864.html</guid><description><![CDATA[<p>为公司编写的一个宏程序，班次太多还没完成<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">Sub</span><span style="COLOR: #000000">&nbsp;kqfx()<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">取得打卡表的记录行数</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">kqcount&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet1.UsedRange.Rows.Count<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">取得排班表的记录行数</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">pbcount&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet3.UsedRange.Rows.Count<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">For</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">To</span><span style="COLOR: #000000">&nbsp;pbcount<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet3.Cells(i,&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">CStr</span><span style="COLOR: #000000">(Sheet3.Cells(i,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">))<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">).NumberFormat&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">@</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet3.Cells(i,&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet3.Cells(i,&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">)<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet3.Cells(i,&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">)<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Next</span><span style="COLOR: #000000">&nbsp;i<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">创建汇总表完成</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">For</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">To</span><span style="COLOR: #000000">&nbsp;pbcount<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">打卡计数</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">For</span><span style="COLOR: #000000">&nbsp;j&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">To</span><span style="COLOR: #000000">&nbsp;kqcount<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">If</span><span style="COLOR: #000000">&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet1.Cells(j,&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">Then</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">相同员工</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">&nbsp;cfjl&nbsp;=&nbsp;Sheet1.Cells(j,&nbsp;6)&nbsp;排除重复打卡记录&nbsp;后续考虑</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">If</span><span style="COLOR: #000000">&nbsp;Sheet1.Cells(j,&nbsp;</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">&lt;&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">重复记录</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Then</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sheet2.Cells(i,&nbsp;y&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet1.Cells(j,&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">考勤时间行改成列</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;y&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">End</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">If</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">End</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">If</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">Next</span><span style="COLOR: #000000">&nbsp;j<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Next</span><span style="COLOR: #000000">&nbsp;i<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">记录汇总完毕&nbsp;开始分析</span><span style="COLOR: #008000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">For</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">To</span><span style="COLOR: #000000">&nbsp;pbcount<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;flag&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;banci&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">)<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;jb1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;jb2&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;lbsj&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;Overtimes&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">If</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">IsEmpty</span><span style="COLOR: #000000">(Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #0000ff">Or</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">IsEmpty</span><span style="COLOR: #000000">(Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">11</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #0000ff">Or</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">IsEmpty</span><span style="COLOR: #000000">(Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #0000ff">Or</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">IsEmpty</span><span style="COLOR: #000000">(Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">13</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #0000ff">Then</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;flag&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">考勤记录不完整</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sheet2.Cells(i,&nbsp;</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;flag<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;end if<br></span></div>
<img src ="http://www.cnitblog.com/seaship/aggbug/66864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seaship/" target="_blank">seaship</a> 2010-06-20 08:44 <a href="http://www.cnitblog.com/seaship/archive/2010/06/20/66864.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>