<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<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>MK2-风 之谷 - MS ACCESS</title><link>http://www.mk2leo.com/</link><description>大家来学习编程吧 - </description><generator>RainbowSoft Studio Z-Blog 1.8 Arwen Build 90619</generator><language>zh-CN</language><copyright>MK2-风版权所有.</copyright><pubDate>Sat, 04 Sep 2010 21:08:37 +0800</pubDate><item><title>表中同一字段分组合并 查询 ACCESS</title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/173.html</link><pubDate>Wed, 07 Oct 2009 22:37:36 +0800</pubDate><guid>http://www.mk2leo.com/post/173.html</guid><description><![CDATA[<p class="g_p_center g_t_wrap g_t_left g_t_20 g_c_pdin c07" id="blogtitle_fks_082075085084086065083094094095086080089071087081083071" style="margin: 20px auto 10px"><span style="font-family: '微软雅黑','黑体',Arial,Helvetica,Sans-Serif">DCONCAT　域字符串合并函数</span></p><div class="g_p_center g_t_right g_c_pdin g_h_20 c08" style="margin-bottom: 15px"><div class="g_p_left"><a class="c05" id="aBelongClsfks_082075085084086065083094094095086080089071087081083071" onclick="NEBlog.gPermaLinkPage.updownMenu.openSameClass('fks_083067086087080074092080074065082094085064083083082', '程序相关');" href="http://yunwang121.blog.163.com/blog/static/26843754200981835415741/#"><font color="#155067">程序相关</font></a> &nbsp;&nbsp;<span class="g_t_12 c08">2009-09-18 15:54</span> <span class="c08">&nbsp;&nbsp;阅读<nobr id="accessCount_fks_082075085084086065083094094095086080089071087081083071">9</nobr>&nbsp;&nbsp;&nbsp;评论<nobr id="comCount_fks_082075085084086065083094094095086080089071087081083071">0</nobr></span> <span class="c08">&nbsp;</span></div><div>字号： <a class="g_c_ul c05" id="bigfont" style="font-size: 12px" onclick="NEBlog.gPermaLinkPage.updownMenu.changeFont('blogtext_fks_082075085084086065083094094095086080089071087081083071', 1);return false;" href="http://yunwang121.blog.163.com/blog/static/26843754200981835415741/#"><font color="#155067">大</font></a><span class="g_t_bold c07" id="bigfont_off" style="display: none"><strong>大</strong></span>&nbsp; <a class="g_c_ul c05" id="middlefont" style="font-size: 12px" onclick="NEBlog.gPermaLinkPage.updownMenu.changeFont('blogtext_fks_082075085084086065083094094095086080089071087081083071', 2);return false;" href="http://yunwang121.blog.163.com/blog/static/26843754200981835415741/#"><font color="#155067">中</font></a><span class="g_t_bold c07" id="middlefont_off" style="display: none"><strong>中</strong></span>&nbsp; <a class="g_c_ul c05" id="smallfont" style="display: none; font-size: 12px" onclick="NEBlog.gPermaLinkPage.updownMenu.changeFont('blogtext_fks_082075085084086065083094094095086080089071087081083071', 3);return false;" href="http://yunwang121.blog.163.com/blog/static/26843754200981835415741/#"><font color="#155067">小</font></a><span class="g_t_bold c07" id="smallfont_off" style="display: inline"><strong>小</strong></span></div></div><div class="g_blog_list"><div class="g_t_center g_c_pdin g_p_center c07 content" id="blogtext_fks_082075085084086065083094094095086080089071087081083071"><div class="ns_content"><p><strong>函数</strong>：DCONCAT</p><p><strong>功能</strong>：连接指定的一组记录（域）中的一组值的字符串。</p><p><strong>语法</strong>：DCONCAT(expr, domain, [criteria],[delimiter])</p><table style="border-right: 1px solid; border-top: 1px solid; border-left: 1px solid; border-bottom: 1px solid" cellspacing="1" cellpadding="1" width="100%" border="1">    <tbody>        <tr>            <td width="100">参数</td>            <td>说明</td>        </tr>        <tr>            <td>expr</td>            <td>表达式，用于标识要计算其记录数的字段。它可以是标识表或查询中字段的字符串表达式，也可以是对该字段中的数据执行计算的表达式。在 expr 中，可以包含表中字段的名称、窗体上的控件、常量或函数。如果 expr 包含一个函数，那么它可能是内置或用户定义的函数，但不是另一个域聚合函数或 SQL 聚合函数。</td>        </tr>        <tr>            <td>domain</td>            <td>字符串表达式，用于标识组成域的一组记录。它可以是表名称或不需要参数的查询的查询名称。</td>        </tr>        <tr>            <td>criteria</td>            <td>可选字符串表达式，用于限制对其执行 DCONCAT 函数的目标数据的范围。例如，criteria 通常等价于 SQL 表达式中的 WHERE 子句，但它没有单词 WHERE。如果 criteria 被省略，那么 DCONCAT 函数将针对整个域计算 expr。任何包含在 criteria 中的字段必须也是 domain中的字段；否则 DCONCAT 函数将返回 错误信息。</td>        </tr>        <tr>            <td>delimiter</td>            <td>可选字符串表达式，用于分隔各记录的字符串值。默认值为逗号&quot;,&quot; 。</td>        </tr>    </tbody></table><br /><strong>说明</strong>：可以在 Visual Basic、宏、查询表达式或者计算控件中使用 DCONCAT 函数。(ADO/DAO不支持)。<p>&nbsp;</p><p><strong>示例</strong>：<br />NewOrder</p><table style="border-right: 1px solid; border-top: 1px solid; border-left: 1px solid; border-bottom: 1px solid" cellspacing="1" cellpadding="1" width="400" border="1">    <tbody>        <tr>            <td>ID</td>            <td>OrderID</td>            <td>Name</td>            <td>Quantity</td>        </tr>        <tr>            <td>1</td>            <td>001021</td>            <td>五子棋</td>            <td>41</td>        </tr>        <tr>            <td>2</td>            <td>001021</td>            <td>象棋</td>            <td>54</td>        </tr>        <tr>            <td>3</td>            <td>001021</td>            <td>跳棋</td>            <td>545</td>        </tr>        <tr>            <td>            <p>4</p>            </td>            <td>001022</td>            <td>跳棋</td>            <td>45</td>        </tr>        <tr>            <td>5</td>            <td>001022&nbsp;</td>            <td>象棋</td>            <td>24</td>        </tr>        <tr>            <td>6</td>            <td>001023</td>            <td>五子棋</td>            <td>424</td>        </tr>        <tr>            <td>7</td>            <td>001023</td>            <td>跳棋</td>            <td>52</td>        </tr>    </tbody></table><p>&nbsp;</p><p>&nbsp;</p><p>查询：<br />SELECT DISTINCT DCONCAT(&quot;DISTINCT Name&quot;,&quot;NewOrder&quot;,&quot;&quot;,&quot;/&quot;) As Name FROM NewOrder</p><table style="border-right: 1px solid; border-top: 1px solid; border-left: 1px solid; border-bottom: 1px solid" cellspacing="1" cellpadding="1" width="150" border="1">    <tbody>        <tr>            <td>Name</td>        </tr>        <tr>            <td>跳棋/五子棋/象棋</td>        </tr>    </tbody></table><p>&nbsp;</p><p>查询：<br />SELECT DISTINCT OrderID ,DCONCAT(&quot;Name&quot;,&quot;NewOrder&quot;,&quot;OrderID='&quot; &amp; OrderID &amp; &quot;'&quot;) As Name FROM NewOrder</p><p><table style="border-right: 1px solid; border-top: 1px solid; border-left: 1px solid; border-bottom: 1px solid" cellspacing="1" cellpadding="1" width="300" border="1">    <tbody>        <tr>            <td>OrderID</td>            <td>Name</td>        </tr>        <tr>            <td>001021</td>            <td>五子棋,象棋,跳棋</td>        </tr>        <tr>            <td>001022</td>            <td>跳棋,象棋</td>        </tr>        <tr>            <td>001023</td>            <td>五子棋,跳棋</td>        </tr>    </tbody></table></p><p>&nbsp;</p><p>&nbsp;</p><p><strong>函数实现</strong>：</p><p>Public Function DCONCAT(sExpr As String, sDomain As String, Optional sCriteria As String, Optional sDelimiter As String = &quot;,&quot;)<br />&nbsp;&nbsp;&nbsp; On Error GoTo ErrHandler<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; Dim rs As New ADODB.Recordset<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; Dim sSQL As String<br />&nbsp;&nbsp;&nbsp; Dim sResult As String<br />&nbsp;&nbsp;&nbsp; sResult = &quot;&quot;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; sSQL = &quot;select &quot; &amp; sExpr &amp; &quot; from (&quot; &amp; sDomain &amp; &quot;)&quot;<br />&nbsp;&nbsp;&nbsp; If sCriteria &lt;&gt; &quot;&quot; Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sSQL = sSQL &amp; &quot; where &quot; &amp; sCriteria<br />&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; rs.Open sSQL, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; Do While Not rs.EOF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If sResult &lt;&gt; &quot;&quot; Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sResult = sResult &amp; sDelimiter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sResult = sResult &amp; rs.Fields(0).Value<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.MoveNext<br />&nbsp;&nbsp;&nbsp; Loop<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; rs.Close<br />&nbsp;&nbsp;&nbsp; Set rs = Nothing<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; DCONCAT = sResult<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; Exit Function<br />&nbsp;&nbsp;&nbsp; <br />ErrHandler:<br />&nbsp;&nbsp;&nbsp; If rs.State &lt;&gt; adStateClosed Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.Close<br />&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp; Set rs = Nothing<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; DCONCAT = Err.Number &amp; &quot; : &quot; &amp; Err.Description<br />End Function</p></div></div></div><p>&nbsp;</p><p><a href="http://www.mk2leo.com/upload/同一字段分组合并.rar" target="_blank">同一字段分组合并.rar</a>&nbsp; 例子..简体MDB...</p>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/173.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=173</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=173&amp;key=61c7fde3</trackback:ping></item><item><title>ACCESE VBA 按E-MAIL 打开邮件发送 OUTLOOK</title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/157.html</link><pubDate>Sun, 07 Jun 2009 21:26:23 +0800</pubDate><guid>http://www.mk2leo.com/post/157.html</guid><description><![CDATA[<p>1.添加引用Microsoft&nbsp;<wbr></wbr>Outlook 11.0 Object Library。</p><p>Private Sub E_mail_DblClick(Cancel As Integer)<br />Dim otlk As Outlook.Application<br />&nbsp;&nbsp;&nbsp; Dim mailitem As Outlook.mailitem<br />&nbsp;&nbsp;&nbsp; Set otlk = New Outlook.Application<br />&nbsp;&nbsp;&nbsp; Set mailitem = otlk.CreateItem(olMailItem)<br />&nbsp;&nbsp;&nbsp; With mailitem<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .To =&nbsp;&quot;<a href="mailto:mk2leo@qq.com">mk2leo@qq.com</a>&quot; 'EMAIL地址<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Subject = &quot;try HTML&quot; '主题<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .BodyFormat = olFormatHTML<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .HTMLBody = &quot;&lt;a href=&quot;&quot;<a href="http://www.mk2leo.com&quot;&quot;&gt;ExcelHome&lt;/a">http://www.mk2leo.com&quot;&quot;&gt;ExcelHome&lt;/a</a>&gt;&quot; '内容<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Display<br />&nbsp;&nbsp;&nbsp; End With<br />&nbsp;&nbsp;&nbsp; Set otlk = Nothing<br />End Sub<br />可以实现.按一下窗体表上的E-MAIL.打开OUTLOOK直接填上和项资料.</p>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/157.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=157</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=157&amp;key=ee33e7b5</trackback:ping></item><item><title>ACCESS 调用摄像头 拍照片 拍影片</title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/155.html</link><pubDate>Tue, 19 May 2009 03:54:36 +0800</pubDate><guid>http://www.mk2leo.com/post/155.html</guid><description><![CDATA[<p>&nbsp;一直找了很久才找到的方法..多得国外牛人写了一个OCX控件.本来想自己利用API调用的.但太复杂了..但我不会放弃.总有一天自己用API做一个出来....</p><p>&nbsp;</p><p><img alt="" onload="ResizeImage(this,450)" src="http://www.mk2leo.com/upload/200905190355563545.jpg" /></p><p>&nbsp;</p><p>&nbsp;</p><p><img title="" alt="" onload="ResizeImage(this,450)" src="http://www.mk2leo.com/upload/200905190359224335.jpg" /></p><p><a target="_blank" href="http://www.mk2leo.com/upload/webcamvdll.rar">webcamvdll.rar</a></p>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/155.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=155</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=155&amp;key=e213eec9</trackback:ping></item><item><title>ACCESS EXCEL WORD VBA 函数的快速学习方法</title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/154.html</link><pubDate>Fri, 15 May 2009 22:54:56 +0800</pubDate><guid>http://www.mk2leo.com/post/154.html</guid><description><![CDATA[<p>&nbsp;很多人在学习 ACCESS 或EXCEL 时.觉得VBA中的函数 太难了.不知如何学..</p><p>&nbsp;</p><p>这里教大家一个学习的方法.</p><p>&nbsp;</p><p>首先进入VBA的模式(这个都不懂进入.就不要学了 = ='')</p><p><img title="" alt="" src="http://www.mk2leo.com/upload/200905152256300533.jpg" onload="ResizeImage(this,450)" /></p><p>&nbsp;</p><p>点选这个按钮...会出现函数查找&nbsp; 打上自己需要学的函数名</p><p><img title="" alt="" src="http://www.mk2leo.com/upload/200905152256404327.jpg" onload="ResizeImage(this,450)" /></p><p>就算打错了.他也会找到类似的..而且会分类.该函数是属于那一个功能组的..因为函数 名.有很多都会相同的.看调用的控件是什么而定</p><p><img title="" alt="" src="http://www.mk2leo.com/upload/200905152256480325.jpg" onload="ResizeImage(this,450)" /></p><p>&nbsp;</p><p>找到是自己要调用的函数名后.按右键.再按帮助</p><p><img title="" alt="" src="http://www.mk2leo.com/upload/200905152256558356.jpg" onload="ResizeImage(this,450)" /></p><p>&nbsp;</p><p>这样.就会出现帮助文件..详细解说该函数是如何使用.大家只要留心了解..就会明白很多函数其实是可以很快上手的..&nbsp; 转截请注明出处 www.mk2leo.com</p><p><img title="" alt="" src="http://www.mk2leo.com/upload/200905152257055732.jpg" onload="ResizeImage(this,450)" /></p>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/154.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=154</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=154&amp;key=4f6ca9a6</trackback:ping></item><item><title>ACCESS 子窗体显示OLE二进制图片</title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/152.html</link><pubDate>Thu, 07 May 2009 23:02:40 +0800</pubDate><guid>http://www.mk2leo.com/post/152.html</guid><description><![CDATA[<p>&nbsp;<img title="" alt="" src="http://www.mk2leo.com/upload/200905072321186570.jpg" onload="ResizeImage(this,450)" />&nbsp; 这个就是源代码的出处和思路.</p><p><a href="http://www.mk2leo.com/upload/200905072303357101.rar" target="_blank">200905072303357101.rar&nbsp;&nbsp; 图片以二进制保存至表及提示显示例子.rar</a></p><p>&nbsp;</p><p>&nbsp;<img title="" alt="" src="http://www.mk2leo.com/upload/200905072323048816.jpg" onload="ResizeImage(this,450)" />&nbsp;按照他的方法.做一个添加二进制图片的窗体</p><p>&nbsp;</p><p>下面就是改良了利用 下拉查询和点击显示二进制图片的实例..</p><p><img title="" alt="" src="http://www.mk2leo.com/upload/200905072323180817.jpg" onload="ResizeImage(this,450)" /></p><p>&nbsp;</p><p><a href="http://www.mk2leo.com/upload/200905072309457105.rar" target="_blank">200905072309457105.rar</a> 子窗体显示OLE二进制图片 MK2修改版.rar</p><p>&nbsp;</p><p>&nbsp;</p>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/152.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=152</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=152&amp;key=b5196165</trackback:ping></item><item><title>MS ACCESS SHIFT破解器 VBA</title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/148.html</link><pubDate>Thu, 23 Apr 2009 22:51:30 +0800</pubDate><guid>http://www.mk2leo.com/post/148.html</guid><description><![CDATA[<p>用ACCESS写了这个小工具..方便破解加密了SHIFT 的MDB文件..呵...</p><p><a href="http://www.mk2leo.com/upload/200904232253114034.rar" target="_blank">200904232253114034.rar</a></p>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/148.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=148</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=148&amp;key=f31ad303</trackback:ping></item><item><title>破解ACCESS的SHIFT键封锁</title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/131.html</link><pubDate>Thu, 09 Apr 2009 23:45:15 +0800</pubDate><guid>http://www.mk2leo.com/post/131.html</guid><description><![CDATA[<p>收到QQ群51166283 一位小鸟的要求.传了一份MDB文件给我.问我它的下拉菜单是怎样做的.</p><p>当然.第一件事按住SHIFT键打开该文件.看一下设计就知怎做了.. 但不幸是.被作者封了SHIFT了..</p><p>于是去找寻破解SHIFT键的方法..呵.道然在MS的站上有方法.但看了一下代码.有问题.不是用来破解其他MDB文件.只能破自己(-_-'' 汗..有屁用.自已能进.就不用破了).于是改了一下打开方式.调用其他文件.运行一下FUNCTION..OK搅掂.. SHIFT键被取消了..文件可以看到设计了....</p><p>&nbsp;</p><p>Function ap_DisableShift()<br />Dim db As DAO.Database<br />Dim prop As DAO.Property<br />Const conPropNotFound = 3270</p><p>Set db = 这里卖一个关子.有兴趣的.加我MSN或QQ询问怎填.呵<span style="color: #ffffff"><span style="background-color: #ffffff">DBEngine.Workspaces(0).OpenDatabase(&quot;c:\a\aa.mdb&quot;)</span></span><br />db.Properties(&quot;AllowByPassKey&quot;) = True</p><p>'The function is successful.<br />Exit Function</p>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/131.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=131</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=131&amp;key=67fba39e</trackback:ping></item><item><title>ACCESS报表画线实例(二)VBA画线 </title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/109.html</link><pubDate>Thu, 19 Mar 2009 21:32:01 +0800</pubDate><guid>http://www.mk2leo.com/post/109.html</guid><description><![CDATA[<p>&nbsp;</p><p><strong>时　间</strong>:2008-12-1 13:32:07<br /><strong>作 者</strong>:<span color="#0000FF"><a target="blank" href="http://www.accessoft.com/blog/?userid=54">芊芊</a></span><br /><strong>摘　要</strong>:报表画线<br /><strong>正　文</strong>:<br />&nbsp;</p><div style="layout-grid:  15.6pt none"><div>&nbsp;&nbsp;&nbsp; 在报表视图中已将所有的控件排列整齐，现在需要在报表相关<span>&ldquo;节&ldquo;中的</span>FORMAT事件中，写入画线的相关代码。</div><div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>进入报表设计窗口，进入页面页眉节的属性对话框，点击<span>&ldquo;事件&ldquo;，找到&ldquo;格式化&rdquo;，点击最右边的&ldquo;三个点&rdquo;的按钮，</span></div><div><img style="star: function(){if(this.width&gt;500)this.width=500}" height="346" alt="" width="431" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164412263875.jpg" /></div><div>进入VBE窗口，将代码粘贴进去（主体FROMAT事件也一起粘贴进去了）。</div><div><img style="star: function(){if(this.width&gt;500)this.width=500}" height="350" alt="" width="500" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164533918110.jpg" />&nbsp;</div><div>代码如下：</div><div>说明：代码中+70或-70，是因为如果页面页眉或主体节，调整高度大时，根据控件边框画线有间断的情况，可根据实际情况适当调整，使画线连续。</div><div>&nbsp;Private Sub 页面页眉_Format(Cancel As Integer, <span>FormatCount As Integer)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim a As Control</span></div><div style="text-indent: 42pt"><span>&nbsp;&nbsp;&nbsp;<font color="#ff0000">'</font></span><font color="#ff0000">设置线度量单位</font><font color="#ff0000"><span>&nbsp;&nbsp;&nbsp; Me.<span>scalemode</span> = 3</span></font> (可自己选择度量单位)</div><div style="text-indent: 42pt">'设置线(宽度)</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; Me.DrawWidth = 3</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span>设置线的类型</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; Me.DrawStyle = 0</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; For Each a In Me.Controls</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If a.ControlType = acLabel And a.Tag = &quot;left&quot; Then</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span><span>画顶线</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, 0)-(a.Left + a.Width + 70, 0)</span></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span>画竖线</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, 0)-(a.Left, a.Height + 70)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span>画底线</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, a.Height + 70)-(a.Left + a.Width + 70, a.Height + 70)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf a.ControlType = acLabel And a.Tag = &quot;LR&quot; Then</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span><span>画顶线</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, 0)-(a.Left + a.Width, 0)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span><span>画左竖线</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, 0)-(a.Left, a.Height + 70)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span>画右竖线</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left + a.Width, -70)-(a.Left + a.Width, a.Height + 70)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span>画底线</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, a.Height + 70)-(a.Left + a.Width, a.Height + 70)</span></div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; Next</span></div><div style="text-indent: 21pt">End Sub</div><div style="text-indent: 21pt">&nbsp;</div><div style="text-indent: 21pt">Private Sub 主体_Format(Cancel As Integer, <span>FormatCount As Integer)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim a As Control</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span>设置线 (宽度)，</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; Me.DrawWidth = 12</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span>设置线的类型</div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; Me.DrawStyle = 0</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp; For Each a In Me.Controls</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If a.ControlType = acTextBox And a.Tag = &quot;left&quot; Then</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, -70)-(a.Left, a.Height + 70)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, a.Height + 70)-(a.Left + a.Width + 70, a.Height + 70)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf a.ControlType = acTextBox And a.Tag = &quot;LR&quot; Then</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, -70)-(a.Left, a.Height + 70)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left + a.Width, -70)-(a.Left + a.Width, a.Height + 70)</span></div><div style="text-indent: 21pt">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'Me.Line (a.Left, a.Top - 70)-(a.Left + a.Width, a.Top - 70)</span></div><div style="text-indent: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Me.Line (a.Left, a.Height + 70)-(a.Left + a.Width, a.Height + 70)</span></div><div style="text-indent: 21pt">&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</span></div><div style="text-indent: 21pt">&nbsp;<span>&nbsp;&nbsp;&nbsp; Next</span></div><div style="text-indent: 21pt">&nbsp;End Sub</div><div style="text-indent: 21pt">&nbsp;预览报表结果：</div><div style="text-indent: 21pt"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="356" alt="" width="500" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164550143472.jpg" /></div><div style="text-indent: 21pt">下面进行分组操作：</div><div style="text-indent: 21pt">进入报表设计窗口，点击鼠标右键，</div><div style="text-indent: 21pt"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="371" alt="" width="500" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164559768096.jpg" /></div><div style="text-indent: 21pt">选择排序与分组，选择分组字段，</div><div style="text-indent: 21pt"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="332" alt="" width="500" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164611728016.jpg" />&nbsp;</div><div style="text-indent: 21pt">报表设计窗口，<span>出现组页眉（货主名称页眉）和组页脚（货主名称页脚），</span></div><div style="text-indent: 21pt"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="380" alt="" width="422" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164621528488.jpg" /></div><div style="text-indent: 21pt">货主名称页眉，在这用不到，可设高度为0，或设置属性中的可见属性为否。</div><div style="text-indent: 21pt">既然分组了，得合计数据，例如需合计运货费，在货主名称页脚增加<span>一文本框，文本框中录入&ldquo;＝</span>SUM([运货费])<span>&ldquo;</span>，将文本框与主体节的&ldquo;运货费&rdquo;文本框对齐即可。再新增<span>一标签录入&ldquo;合计&rdquo;，在适当位置即可。</span></div><div style="text-indent: 21pt">当然，货主名称页脚也需要画线的，同上在货主名称页脚的FORMAT事件中粘贴画线代码。但货主名称页脚画线会根据主体节的文本框，自<span>动画线对齐，我们只需要增加所要的文本框，与主体节相关文本框适当对齐即可</span></div><div style="text-indent: 21pt"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="199" alt="" width="500" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164635074902.jpg" /></div><div>报表页脚可参考&ldquo;货主名称页脚&rdquo;设置。</div><div>预览效果如下：</div><div><img style="star: function(){if(this.width&gt;500)this.width=500}" height="390" alt="" width="500" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164648611368.jpg" /></div><div style="text-indent: 21pt">加入报表页脚&ldquo;总计&rdquo;和&ldquo;运货费&rdquo;预览图：</div><div style="text-indent: 21pt"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="186" alt="" width="500" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164658343375.jpg" /></div><div style="text-indent: 21pt">需注意，组页脚和报表页脚的高度得适当，高度过小，&ldquo;合计&rdquo;&ldquo;总计&rdquo;行下面的横线会丢失，适当调整高度可解决。</div><div style="text-indent: 21pt">至此报表画线，可一劳永逸了。</div><div style="text-indent: 21pt">报表增加序号、页计、累计、组分页、补空行，可参阅本<span>站相关文章。</span></div><div style="text-indent: 21pt"><a href="http://www.accessoft.com/userfiles/gdjdyyj/20081210082324.rar"><img style="margin: 0px 2px -4px 0px; star: function(){if(this.width&gt;500)this.width=500}" alt="" border="0" src="http://www.accessoft.com/images/download.gif" />点击下载此附件</a></div></div>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/109.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=109</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=109&amp;key=fa395cb7</trackback:ping></item><item><title>ACCESS报表画线实例(一)统一控件格式 </title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/108.html</link><pubDate>Thu, 19 Mar 2009 21:30:16 +0800</pubDate><guid>http://www.mk2leo.com/post/108.html</guid><description><![CDATA[<p><strong>时　间</strong>:2008-12-1 13:04:24<br /><strong>作 者</strong>:<span color="#0000FF"><a href="http://www.accessoft.com/blog/?userid=54" target="blank">芊芊</a></span><br /><strong>摘　要</strong>:ACCESS报表画线实例<br /><br /><strong>正　文</strong>:<br />&nbsp;</p><div style="layout-grid:  15.6pt none"><div align="center">&nbsp;</div><div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">在使用</span>ACCESS<span style="font-family: 宋体">报表时，表格线成为令人头疼的问题，手工画线费时费力</span>,<span style="font-family: 宋体">对不齐且画不直；使用文本框和标签的边框样式</span>,<span style="font-family: 宋体">由于调整的原因文本框和标签的高度和宽度及上边距不同</span>,<span style="font-family: 宋体">所画出的线条也不直不齐；手工统一设置文本框和标签的长宽高，左边距、上边距，有过于繁琐。这些问题用</span>VBA<span style="font-family: 宋体">可以为我们解决。</span></div><div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">首先要在报表视图中将所有的可见控件排列整齐，然后在报表模块中写入画线代码。</span></div><div style="margin-left: 42pt; text-indent: -21pt"><span>一、</span><span style="font-family: 宋体">将所用的控件排列整齐</span></div><div style="margin-left: 60pt; text-indent: -18pt"><span>1、&nbsp;</span><span style="font-family: 宋体">使用报表向导创建报表</span></div><div style="margin-left: 60pt; text-indent: -18pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="359" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164016419326.jpg" width="486" /></span></div><div style="margin-left: 39pt"><span style="font-family: 宋体">点击下一步，</span></div><div style="margin-left: 39pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="360" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/200812116412779337.jpg" width="486" /></span></div><div style="margin-left: 39pt">&nbsp;</div><div style="margin-left: 21pt"><span style="font-family: 宋体">如果在此选择分组，报表界面有些乱，后面再加入好些，点击下一步，</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="358" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164114290941.jpg" width="485" /></span></div><div style="margin-left: 21pt"><span style="font-family: 宋体">选择需要排序的字段，点击下一步，</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="363" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164130277418.jpg" width="488" /></span></div><div style="margin-left: 21pt"><span style="font-family: 宋体">布局选择&ldquo;表格&rdquo;，点击下一步，</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="358" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164143795184.jpg" width="487" /></span></div><div style="margin-left: 21pt"><span style="font-family: 宋体">所用样式选择&ldquo;正式&rdquo;较符合习惯，点击下一步，</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="360" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164159178453.jpg" width="487" /></span></div><div style="margin-left: 21pt"><span style="font-family: 宋体">点击，&ldquo;完成&rdquo;，报表创建完成。局部图片如下：</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="398" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164211255594.jpg" width="479" /></span></div><div style="margin-left: 21pt"><span style="font-family: 宋体">点击&ldquo;视图&rdquo;按钮，进入报表设计窗口，</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="138" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164223234639.jpg" width="500" /></span></div><div style="margin-left: 21pt; text-indent: 21pt"><span style="font-family: 宋体">根据需要做相关调整，例如页面页眉的文本框想宽些，那么只需要调整&ldquo;订单</span>ID<span style="font-family: 宋体">&rdquo;标签的高度，其他的不用管它，</span>VBA<span style="font-family: 宋体">将自动调整到与&ldquo;订单</span>ID<span style="font-family: 宋体">&rdquo;标签的高度一致。同理，主体只需调整&ldquo;订单</span>ID<span style="font-family: 宋体">&rdquo;文本框的高度即可。</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">再就是把页面页眉中的那条黑线去掉吧。为了明了去掉网格。</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">主体中的&ldquo;运输费&rdquo;、&ldquo;货主名称&rdquo;&ldquo;货主地址&rdquo;文本框，有些宽，无需调整左间隙只把它调整到适当的宽度即可。页面页眉中的&ldquo;运输费&rdquo;、&ldquo;货主名称&rdquo;&ldquo;货主地址&rdquo;标签可不用管他，</span>VBA<span style="font-family: 宋体">将自动调整到与主体的相关控件的宽度一致，并统一设置控件的左右间隙。同理&ldquo;货主城市&rdquo;&ldquo;货主地区&rdquo;&ldquo;货主邮政编码&rdquo;&ldquo;货主国家&rdquo;调整适当宽度即可。</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="149" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164243452943.jpg" width="500" /></span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体">在模块中，新建一模块</span>,<span style="font-family: 宋体">例如&ldquo;统一报表画线控件格式&rdquo;，</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/200812116434468728.jpg" /></span></div><div style="margin-left: 21pt"><span style="font-family: 宋体">进入模块设计窗口，将下列代码粘贴进去，</span></div><div style="margin-left: 21pt">&nbsp;</div><div style="margin-left: 21pt">&nbsp;</div><div style="margin-left: 21pt">'=========================================</div><div style="margin-left: 21pt">'<span style="font-family: 宋体">过程名：</span><span><span>sameformat</span></span></div><div style="margin-left: 21pt">'<span style="font-family: 宋体">作用</span>:&nbsp;<span style="font-family: 宋体">为报表画线</span>,<span style="font-family: 宋体">统一各控件的宽度</span>.<span style="font-family: 宋体">高度</span>.<span style="font-family: 宋体">和间隙</span></div><div style="margin-left: 21pt">'1.<span style="font-family: 宋体">取主体</span><span style="font-family: 宋体">和页面页眉第一个控件的高度</span>height<span style="font-family: 宋体">为标准</span>,<span style="font-family: 宋体">设置其他控件的高度</span>.</div><div style="margin-left: 21pt">'2.<span style="font-family: 宋体">以主体的每一个控件的宽度</span>width<span style="font-family: 宋体">为标准</span>,<span style="font-family: 宋体">设置页面页眉相对应控件的宽度</span></div><div style="margin-left: 21pt">'3.<span style="font-family: 宋体">连接主体和页面页眉的控件</span>,<span style="font-family: 宋体">使其隙一致</span>.</div><div style="margin-left: 21pt">'==========================================</div><div style="margin-left: 21pt">&nbsp;</div><div style="margin-left: 21pt">Sub <span><span>SameFormat</span>()</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim a As Control</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim b As Control</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim zname As String</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim yname As String</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim zleft As Single</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim zwidth As Single</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim zheight As Single</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim yheight As Single</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Dim MyRepName As String</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span><span style="font-family: 宋体">设定要统一格式的报表名称</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; '===========================</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;<div style="margin-left: 21pt"><span>Dim MyRep As Report</span></div><div style="margin-left: 21pt"><span><span style="color: red">'</span><span style="color: red; font-family: 宋体">此处报表的名称，打开进入设计状态（修改为自己的报表名称）</span></span></div></span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp; DoCmd.OpenReport &quot;订单&quot;, acViewDesign<br />&nbsp;&nbsp;&nbsp; '此处报表的对象名称Report_*****<br />&nbsp;&nbsp;&nbsp;<font color="#ff0000"> Set MyRep = Screen.ActiveReport</font><br />&nbsp;&nbsp;&nbsp; MyRepName = MyRep.Name&nbsp;&nbsp;&nbsp; </span></div><div style="margin-left: 21pt">&nbsp;</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; '=============================</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; </span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span><span style="font-family: 宋体">取主体</span><span style="font-family: 宋体">和页面页眉第一各控件的</span>height</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; For Each a In MyRep.</span><span style="font-family: 宋体">主体</span>.Controls</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>zheight</span> = a.Height</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>tt</span> = a.Top</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit For</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Next</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; For Each a In MyRep.</span><span style="font-family: 宋体">页面页眉</span>.Controls</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>yheight</span> = a.Height</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit For</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Next</span></div><div style="margin-left: 21pt">&nbsp;</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span><span style="font-family: 宋体">设主体各</span>Textbox<span style="font-family: 宋体">之间的间隙一致</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; <span>zleft</span> = 0</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; For Each a In MyRep.</span><span style="font-family: 宋体">主体</span>.Controls</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.Left = zleft</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.Height = zheight</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span><span style="font-family: 宋体">画线标志</span></div><div style="margin-left: 21pt; text-indent: 47.25pt"><span>a.Tag</span> = &quot;<span>lr&quot;</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '</span><span style="font-family: 宋体">统一上边距</span></div><div style="margin-left: 21pt; text-indent: 47.25pt"><span>a.Top</span> = 58</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>zleft</span> = a.Left + a.Width</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Next</span></div><div style="margin-left: 21pt">&nbsp;</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span><span style="font-family: 宋体">设置页面页眉的</span>Label<span style="font-family: 宋体">与主体各</span>Textbox<span style="font-family: 宋体">的宽度一致</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; For Each a In MyRep.</span><span style="font-family: 宋体">主体</span>.Controls</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>zname</span> = a.Name</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>zwidth</span> = a.Width</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>zleft</span> = a.Left</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For Each b In MyRep.</span><span style="font-family: 宋体">页面页眉</span>.Controls</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>yname</span> = b.Name</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>ywidth</span> = b.Width</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Left(b.Name, Len(b.Name) - 6) = zname Then</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.Left = zleft</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.Width = zwidth</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.TextAlign = 2</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.Height = yheight</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.Tag = &quot;lr&quot;</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.Top = 58</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; Next</span></div><div style="margin-left: 21pt">&nbsp;</div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; MyRep.</span><span style="font-family: 宋体">主体</span>.Height = <span>zheight</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; MyRep.</span><span style="font-family: 宋体">页面页眉</span>.Height = <span>yheight</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span><span style="font-family: 宋体">设置完成保存一下</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; DoCmd.Close acReport, MyRepName, acSaveYes</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; '</span><span style="font-family: 宋体">再打开看看是否成功</span></div><div style="margin-left: 21pt"><span>&nbsp;&nbsp;&nbsp; DoCmd.OpenReport MyRepName, acViewDesign</span></div><div style="margin-left: 21pt">End Sub</div><div style="margin-left: 21pt"><span style="font-family: 宋体">运行后，效果图如下：</span></div><div style="margin-left: 21pt"><span style="font-family: 宋体"><img style="star: function(){if(this.width&gt;500)this.width=500}" height="167" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164321693080.jpg" width="500" /></span></div><div style="margin-left: 21pt"><span style="font-family: 宋体">已经左右间隙统一，上下对齐，高度也一致了。</span></div><div style="text-indent: 21pt"><span style="font-family: 宋体">以上代码稍加修改，也可加入到报表</span>OPEN<span style="font-family: 宋体">事件中，完成此项工作。但对报表的生成速度有影响，调整设置也不频繁，设置后很少再调整，模块过程单独使用较好。</span></div><div style="text-indent: 21pt"><span style="font-family: 宋体">页面页眉的标签、主体节文本框中的文字，垂直居中可选中所用标签，在属性中设置：</span></div><div>&nbsp;<img style="star: function(){if(this.width&gt;500)this.width=500}" height="517" alt="" src="http://www.accessoft.com/userfiles/gdjdyyj/Image/2008121164338009107.jpg" width="331" /></div><br clear="all" /><div><span style="font-family: 宋体">剩下就是画线了，请看</span>ACCESS<span style="font-family: 宋体">报表画线实例</span>(<span style="font-family: 宋体">二</span>)VBA<span style="font-family: 宋体">画线。</span></div><div><span style="font-family: 宋体"><a href="http://www.accessoft.com/userfiles/gdjdyyj/20081210082254.rar"><img style="margin: 0px 2px -4px 0px; star: function(){if(this.width&gt;500)this.width=500}" alt="" src="http://www.accessoft.com/images/download.gif" border="0" />点击下载此附件</a></span></div></div>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/108.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=108</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=108&amp;key=e1c7e8c3</trackback:ping></item><item><title>ACCESS 调用外部程式 打开文件 或 打开图片 代码</title><author>mk2leo@qq.com (leoling504)</author><link>http://www.mk2leo.com/post/106.html</link><pubDate>Wed, 11 Mar 2009 12:04:17 +0800</pubDate><guid>http://www.mk2leo.com/post/106.html</guid><description><![CDATA[<p>找了很久才找到的代码呢.真正调用外部任何文件...这个是调用外部图片.以预设关联的看图软件打开..</p><p>&nbsp;</p><p>Function a()<br />CreateObject(&quot;wscript.shell&quot;).Run (&quot;c:\23.jpg&quot;)<br />End Function<br />&nbsp;</p><p>大家可以在模块中测试</p>]]></description><category>MS ACCESS</category><comments>http://www.mk2leo.com/post/106.html#comment</comments><wfw:comment>http://www.mk2leo.com/</wfw:comment><wfw:commentRss>http://www.mk2leo.com/feed.asp?cmt=106</wfw:commentRss><trackback:ping>http://www.mk2leo.com/cmd.asp?act=tb&amp;id=106&amp;key=24f23754</trackback:ping></item></channel></rss>
