<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tony's Microsoft Access Blog : VBA</title><link>http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx</link><description>Tags: VBA</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Is Nothing</title><link>http://msmvps.com/blogs/access/archive/2009/10/05/is-nothing.aspx</link><pubDate>Mon, 05 Oct 2009 11:09:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1729882</guid><dc:creator>Tony</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1729882</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1729882</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/10/05/is-nothing.aspx#comments</comments><description>&lt;p&gt;I’m working on some largish updates to the &lt;a href="http://www.autofeupdater.com/" target="_blank"&gt;Auto FE Updater&lt;/a&gt; and I wanted to ensure that the new routine which logs errors would properly handle the situation if there were errors in the error logging routine.&amp;#160; A great deal of searching a dimly remembered discussion brought me to fellow Access MVP Dirk GoldGar’s posting on this topic.&amp;#160; &lt;a href="http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.access.modulesdaovba&amp;amp;tid=1d27fde5-f84d-48ea-81be-333f97390a71&amp;amp;cat=&amp;amp;lang=&amp;amp;cr=&amp;amp;sloc=&amp;amp;p=1" target="_blank"&gt;How to know when a Connection or Recordset is open in Programming&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If Not rs Is Nothing Then     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; rs.Close: Set rs = Nothing      &lt;br /&gt;End If      &lt;br /&gt;If Not gblLogdb Is Nothing Then _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; gblLogdb.Close      &lt;br /&gt;MsgBox &amp;quot;The following error occurred in procedure Log_NewSession of Module Log&amp;quot; &amp;amp; vbCrLf &amp;amp; vbCrLf &amp;amp; _      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Err.Description &amp;amp; vbCrLf &amp;amp; vbCrLf &amp;amp; Command() &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Note that the standard error handling routine, including the sub/function name and module name is created by &lt;a href="http://www.mztools.com" target="_blank"&gt;MZTools&lt;/a&gt;.&amp;#160; An excellent free utility which I use all the time.&lt;/p&gt;  &lt;p&gt;I was rather startled.&amp;#160; This isn’t even documented in Access 97 help.&amp;#160;&amp;#160; Allen Browne has a page on this general topic - &lt;a href="http://allenbrowne.com/vba-NothingEmpty.html" target="_blank"&gt;Nothing? Empty? Missing? Null?&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1729882" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category><category domain="http://msmvps.com/blogs/access/archive/tags/Auto+FE+Updater/default.aspx">Auto FE Updater</category></item><item><title>InStrRev</title><link>http://msmvps.com/blogs/access/archive/2009/09/23/instrrev.aspx</link><pubDate>Wed, 23 Sep 2009 21:32:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1726051</guid><dc:creator>Tony</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1726051</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1726051</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/09/23/instrrev.aspx#comments</comments><description>&lt;p&gt;I’ll be darned.&amp;#160; I had no idea &lt;a href="http://msdn.microsoft.com/en-us/library/t2ekk41a%28VS.80%29.aspx" target="_blank"&gt;InStrRev&lt;/a&gt; existed in VBA code.&amp;#160; It is new in Access 2000 so it’s been around for nine years.&amp;#160; &lt;/p&gt;  &lt;p&gt;I had to build this function myself in A2.0 or A97 to get the file name from a string which had the path and file.&amp;#160;&amp;#160; The code needed to find the right most occurrence of “\” back slash.&amp;#160; I’ve been happily using my function ever since.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;I actually learned something new about Access this year.&amp;#160; &amp;lt;smile&amp;gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1726051" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Queries and the 3061 "Too few parameters. Expected 1." message</title><link>http://msmvps.com/blogs/access/archive/2009/09/22/queries-and-the-3061-quot-too-few-parameters-expected-1-quot-message.aspx</link><pubDate>Wed, 23 Sep 2009 04:32:14 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1725904</guid><dc:creator>Tony</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1725904</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1725904</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/09/22/queries-and-the-3061-quot-too-few-parameters-expected-1-quot-message.aspx#comments</comments><description>&lt;p&gt;Your query is working just fine referencing a form to select some records:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access.metablogapi/2063.QueryFormParm_5F00_721B66EC.jpg"&gt;&lt;img title="QueryFormParm" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="115" alt="QueryFormParm" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access.metablogapi/4743.QueryFormParm_5F00_thumb_5F00_73EBBCB3.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;but when you run it in code you get the dreaded 3061 &amp;quot;Too few parameters. Expected 1.&amp;quot; message.&lt;/p&gt;  &lt;p&gt;One option is to evaluate the Forms![Form name]![Field Name] expression as per the following examples.&lt;/p&gt;  &lt;p&gt;The below example is an execute query.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Set db = CurrentDb      &lt;br /&gt;Set qdf = db.QueryDefs(&amp;quot;LEMBatchesRpt Append to temp table&amp;quot;)       &lt;br /&gt;For i = 0 To qdf.Parameters.Count - 1       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; qdf.Parameters(i) = Eval(qdf.Parameters(i).Name)       &lt;br /&gt;Next i &lt;/p&gt;    &lt;p&gt;qdf.Execute dbFailOnError&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The below example is used in my standard routine which copies the contents of a recordset into an Excel spreadsheet.&amp;#160; Due to the requirements of basing the openrecordset on a query to which I added a Where clause I created a temporary query and then did the parameter evaluation&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;strSQL = &amp;quot;SELECT * FROM [&amp;quot; &amp;amp; strQuery &amp;amp; &amp;quot;]&amp;quot;      &lt;br /&gt;If Len(strWhere) &amp;gt; 0 Then _       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; strSQL = strSQL &amp;amp; &amp;quot; WHERE &amp;quot; &amp;amp; strWhere &amp;amp; &amp;quot;;&amp;quot;       &lt;br /&gt;Set qdf = db.CreateQueryDef(&amp;quot;&amp;quot;, strSQL)       &lt;br /&gt;For i = 0 To qdf.Parameters.Count - 1       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; qdf.Parameters(i) = Eval(qdf.Parameters(i).Name)       &lt;br /&gt;Next i       &lt;br /&gt;Set rs = qdf.OpenRecordset(dbOpenSnapshot)&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;….&lt;/p&gt;    &lt;p&gt;&amp;#39; Insert recordset into cells starting at left hand side and second row      &lt;br /&gt;&amp;#39;&amp;#160; Using a copyfromRecordset is much, much faster than stuffing in the cells one at a time.       &lt;br /&gt;.range(&amp;quot;A2&amp;quot;).CopyFromRecordset rs &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is used in a generic routine behind the &lt;a href="http://www.granitefleet.com/ScreenShots/screen_ReportCrtieriaSelection.htm" target="_blank"&gt;very flexible reporting form in the Granite Fleet Manager&lt;/a&gt;.&amp;#160; When the user clicks on the Export Report to Excel command button I look at the record source of the report to fetch the query name.&amp;#160;&amp;#160; I then build the where clause and execute the above code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1725904" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Redimming an array 1,000,000 times takes 4.63 seconds</title><link>http://msmvps.com/blogs/access/archive/2009/05/21/redimming-an-array-1-000-000-times-takes-4-63-seconds.aspx</link><pubDate>Fri, 22 May 2009 02:31:30 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1692920</guid><dc:creator>Tony</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1692920</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1692920</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/05/21/redimming-an-array-1-000-000-times-takes-4-63-seconds.aspx#comments</comments><description>&lt;p&gt;The following question was asked at StackedOverflow.&lt;a href="http://stackoverflow.com/questions/890709/how-do-you-redimension-an-array-in-vba" target="_blank"&gt;How do you redimension an array in VBA?&lt;/a&gt;.&amp;nbsp; One response was some detailed code showing how to redim an array efficiently by doubling the number of elements.&amp;nbsp;&amp;nbsp; This took 0.41 seconds for a million records while redimming 1,000,000 took 4.63 records.&lt;/p&gt; &lt;p&gt;I don&amp;#39;t think I&amp;#39;ve ever had over 100 elements in an array.&amp;nbsp;&amp;nbsp; Maybe 1,000 once or twice. And now I&amp;#39;m not at all concerned about efficiency while redimming.&lt;/p&gt; &lt;p&gt;Note that I only occasionally visit that website to answer questions.&amp;nbsp; My biggest complaint is that you never know what comments or postings are new and haven&amp;#39;t been answered.&amp;nbsp; Very much unlike using a NNTP newsgroup reader rich client.&amp;nbsp;&amp;nbsp; But it&amp;#39;s interesting to poke about to see what&amp;#39;s new has been answered. &lt;/p&gt; &lt;p&gt;It&amp;#39;s also interesting to read what bull**it has been spouted by folks who view Access with a lot of disdain.&amp;nbsp; &lt;a href="http://stackoverflow.com/users/9787/david-w-fenton" target="_blank"&gt;David W. Fenton&lt;/a&gt; is doing a fine job of answering such comments.&amp;nbsp; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1692920" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Overflow error 6</title><link>http://msmvps.com/blogs/access/archive/2009/04/25/overflow-error-6.aspx</link><pubDate>Sat, 25 Apr 2009 21:32:43 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1690984</guid><dc:creator>Tony</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1690984</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1690984</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/04/25/overflow-error-6.aspx#comments</comments><description>&lt;p&gt;A newsgroup poster had the following very standard lines of code &lt;blockquote&gt; &lt;p&gt;strSQL = &amp;quot;SELECT Mytable.Field1, Mytable.Field2, Mytable.Field3 FROM Mytable&amp;quot;&lt;br /&gt;SET rs = Currentdb.OpenRecordset(strSQL,dbOpenDynaset)&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The error was Overflow error 6. &lt;p&gt;He then replied a day&amp;nbsp; later indicating that one of the variables in his code had been defined as an integer when it should&amp;#39;ve been a long.&amp;nbsp;&amp;nbsp; Now this is rather obscure although, once you think about it, quite understandable. &lt;p&gt;As a matter of course I always use Long fields for integers even if there will only ever be a few hundred records in the table.&amp;nbsp;&amp;nbsp; So I would like to think I would never have seen this message.&amp;nbsp; But you never know.&amp;nbsp; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1690984" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Humour: Mac users and VBA</title><link>http://msmvps.com/blogs/access/archive/2009/04/06/humour-mac-users-and-vba.aspx</link><pubDate>Tue, 07 Apr 2009 04:51:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1685461</guid><dc:creator>Tony</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1685461</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1685461</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/04/06/humour-mac-users-and-vba.aspx#comments</comments><description>&lt;p&gt;&amp;quot;We&amp;#39;ve solved the problem with lack of VBA support on Macs, and it was very easy: we got rid of the Macs. Typically our mac users were pretty expensive to support, being on average less skilled and lacking in knowledge of basics like what a file is, how to search the web, etc, and additionally were routinely late to work and were relative to the rest of our staff unprofessional in demeanor. So in addition to getting rid of the Macs, we got rid of the Mac users.  &lt;p&gt;Trust me, this methodology can clean up lots of your companies processes and deadwood employees. Give it a try!&amp;quot;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/excel/archive/2008/01/16/clarification-on-vba-support.aspx#7149910"&gt;http://blogs.msdn.com/excel/archive/2008/01/16/clarification-on-vba-support.aspx#7149910&lt;/a&gt; &lt;p&gt;From a blog about the future of VBA in Excel.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1685461" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category><category domain="http://msmvps.com/blogs/access/archive/tags/Humour/default.aspx">Humour</category></item><item><title>"Object or class does not support the set of events." error message</title><link>http://msmvps.com/blogs/access/archive/2009/04/05/quot-object-or-class-does-not-support-the-set-of-events-quot-error-message.aspx</link><pubDate>Mon, 06 Apr 2009 01:54:08 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1684967</guid><dc:creator>Tony</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1684967</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1684967</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/04/05/quot-object-or-class-does-not-support-the-set-of-events-quot-error-message.aspx#comments</comments><description>&lt;p&gt;I start getting the following message when opening a form after doing some minor changes to it. &lt;p&gt;&amp;quot;The expression On Open you entered as the event property setting produced the following error:&lt;br /&gt;Object or class does not support the set of events.&amp;quot; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/ObjectOrClassDoesNotSupportTheSetOfEvents_5F00_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="191" alt="ObjectOrClassDoesNotSupportTheSetOfEvents" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/ObjectOrClassDoesNotSupportTheSetOfEvents_5F00_thumb.jpg" width="593" border="0" /&gt;&lt;/a&gt;  &lt;p&gt;Commenting out the code in the OnOpen event, compiling, uncommenting and compiling didn&amp;#39;t help.&amp;nbsp; Neither did &lt;a href="http://www.granite.ab.ca/access/decompile.htm" target="_blank"&gt;decompiling&lt;/a&gt; which startled me. &lt;p&gt;However saving the form with a different name fixed the problem.&amp;nbsp; Bizarre.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1684967" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category><category domain="http://msmvps.com/blogs/access/archive/tags/bug/default.aspx">bug</category></item><item><title>Hiding 70 controls based on a value</title><link>http://msmvps.com/blogs/access/archive/2009/03/02/hiding-70-controls-based-on-a-value.aspx</link><pubDate>Tue, 03 Mar 2009 03:34:43 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1675323</guid><dc:creator>Tony</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1675323</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1675323</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/03/02/hiding-70-controls-based-on-a-value.aspx#comments</comments><description>&lt;p&gt;At the blog entry &lt;a href="http://msmvps.com/blogs/access/archive/2009/03/02/1648273.aspx" target="_blank"&gt;Getting a list of control names on a form&lt;/a&gt; Nate posted the following comment:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Thanks for the great tip!&amp;nbsp; It doesn&amp;#39;t seem to include labels and command buttons, but it is still a great help.&amp;nbsp; I have a form where I am hiding 70 controls based on a value, so this saved me some real time.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Thanks for the kind words.&amp;nbsp; &lt;/p&gt; &lt;p&gt;But a better method might be to use the control&amp;#39;s tag property.&amp;nbsp;&amp;nbsp; See &lt;a href="http://www.granite.ab.ca/access/locking_fields_on_a_form.htm" target="_blank"&gt;Locking fields on a form in Microsoft Access&lt;/a&gt; for more details.&amp;nbsp; One nice thing about the tag property as that you can use Shift + click to select multiple controls to set the property.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1675323" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Using record selector on a form to select multiple records</title><link>http://msmvps.com/blogs/access/archive/2009/02/22/using-record-selector-on-a-form-to-select-multiple-records.aspx</link><pubDate>Mon, 23 Feb 2009 06:32:26 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1673241</guid><dc:creator>Tony</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1673241</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1673241</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2009/02/22/using-record-selector-on-a-form-to-select-multiple-records.aspx#comments</comments><description>&lt;p&gt;A fellow Access MVP asked if there was a way of using the record selector to select multiple records and perform an action on them.&amp;nbsp; Tom Wickerath, also a fellow Access MVP, responded with &lt;a href="http://support.microsoft.com/?id=294202" target="_blank"&gt;How to enumerate selected form records in Access 2003 and in Access 2002&lt;/a&gt;.&amp;nbsp;&amp;nbsp; I&amp;#39;d never seen the forms SelTop or SelHeight properties before so was quite intrigued.&amp;nbsp;&amp;nbsp; So I had to find a form in the &lt;a href="http://www.granitefleet.com/" target="_blank"&gt;Granite Fleet Manager&lt;/a&gt; where I could implement this functionality.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverMove_5F00_2.jpg"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverMultipleLocations_5F00_2.jpg"&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverMove_5F00_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="210" alt="BulkMoverMove" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverMove_5F00_thumb.jpg" width="709" border="0" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The code was fairly simple to implement.&amp;nbsp; This gives us some more UI options which allow us to make Access continuous forms operate a bit like Excel worksheets in some simple respects.&lt;/p&gt; &lt;p&gt;Should the user be intrigued by the bulk move button and they didn&amp;#39;t select any records they will get the following message.&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverMoveMessage_5F00_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="98" alt="BulkMoverMoveMessage" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverMoveMessage_5F00_thumb.jpg" width="568" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;Other UI Enhancements&lt;/h3&gt; &lt;p&gt;Now this form allows the user to return the equipment to the main shop so I designed the UI with two radio buttons labeled Move and Return.&amp;nbsp; You will note the new location field is disabled and some command button captions were changed.&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverReturn_5F00_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="123" alt="BulkMoverReturn" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverReturn_5F00_thumb.jpg" width="703" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;It&amp;#39;s possible for equipment to be issued to multiple temporary locations inadvertently. I created an additional All or Multiple Locations set of radio buttons along with the red diamond symbol.&amp;nbsp;&amp;nbsp; This allows the users to very quickly locate all such anomalous data and correct it immediately.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="145" alt="BulkMoverMultipleLocations" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access/BulkMoverMultipleLocations_5F00_thumb.jpg" width="722" border="0" /&gt;&lt;/p&gt; &lt;p&gt;The red diamond is the letter u in the WingDings font.&amp;nbsp; I chose the diamond as it has the most &amp;quot;colour&amp;quot; of any WingDings font entries and is a neutral symbol.&lt;/p&gt; &lt;p&gt;Now I&amp;#39;m not very happy with how the All and Multiple Locations set of radio buttons takes up so much room vertically.&amp;nbsp; And it doesn&amp;#39;t fit in well with the rest of the UI on that form or with other forms.&amp;nbsp;&amp;nbsp; But that was the best I could think of at the time. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1673241" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Why Do So Many Programmers Use One Character Index Variables?</title><link>http://msmvps.com/blogs/access/archive/2008/12/28/why-do-so-many-programmers-use-one-character-index-variables.aspx</link><pubDate>Mon, 29 Dec 2008 05:56:58 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1657952</guid><dc:creator>Tony</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1657952</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1657952</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/12/28/why-do-so-many-programmers-use-one-character-index-variables.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/alfredth/archive/2008/12/23/why-do-so-many-programmers-use-one-character-index-variables.aspx" target="_blank"&gt;Why Do So Many Programmers Use One Character Index Variables&lt;/a&gt; has a very good point for those of us of a certain age accompanied by greying hair, bifocals and ...&amp;nbsp;&amp;nbsp; And yes I did learn Fortran as a teenager at the local college.&amp;nbsp; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Although it was actually Watfiv, a student version of Fortran.&amp;nbsp; How did Watfiv get it&amp;#39;s name?&amp;nbsp; Well, the first student version of the Fortran compiler was created by Waterloo University and thus called Watfor.&amp;nbsp; Clearly the next version must be five so Watfiv it was named.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I must admit that just a week or four ago I used i as an index variable myself in a loop of some sort.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1657952" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>A very interesting solution for Code 39 barcode</title><link>http://msmvps.com/blogs/access/archive/2008/12/26/a-very-interesting-solution-for-code-39-barcode.aspx</link><pubDate>Sat, 27 Dec 2008 05:53:07 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1657812</guid><dc:creator>Tony</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1657812</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1657812</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/12/26/a-very-interesting-solution-for-code-39-barcode.aspx#comments</comments><description>&lt;p&gt;Jim at a client found the following a very interesting solution for 3 of 9 bar code which was done as VBA code by James Mercantile. &lt;a href="http://mc-computing.com/Databases/MSAccess/Code/mod_BarCode_Generator_Code39.txt"&gt;Barcode Generator for Code 3 of 9, Code 39, and Mil-spec Logmars.&lt;/a&gt;&amp;nbsp;&amp;nbsp; The VBA code reads the size of the control and creates white and dark lines accordingly.&amp;nbsp;&amp;nbsp; The advantage is that unlike with some free fonts you can have the control as tall as desired so it&amp;#39;s much easier for the folks on the floor to hit the bar code especially from a distance.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;While searching for the original source of the above VBA Code and it&amp;#39;s author I also came across &lt;a href="http://everything2.com/e2node/three%2520of%2520nine"&gt;Code 39 barcode encoding&lt;/a&gt; and &lt;a href="http://www.idautomation.com/code39faq.html"&gt;Code 39 Barcode FAQ and Tutorial&lt;/a&gt;.&amp;nbsp; More techie stuff for the technical explanation of how the 3 of 9 bar code works.&lt;/p&gt; &lt;p&gt;The &lt;a target="_blank"&gt;Using bar codes within a Microsoft Access application&lt;/a&gt; has been updated.&lt;/p&gt; &lt;p&gt;To James Mercantile thanks.&amp;nbsp; A very interesting solution.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1657812" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Standard NotInList VBA code</title><link>http://msmvps.com/blogs/access/archive/2008/11/30/standard-notinlist-vba-code.aspx</link><pubDate>Sun, 30 Nov 2008 23:18:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1655442</guid><dc:creator>Tony</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1655442</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1655442</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/11/30/standard-notinlist-vba-code.aspx#comments</comments><description>&lt;p&gt;I finally got around to creating a &lt;a href="http://granite.ab.ca/access/notinlist.htm" target="_blank"&gt;Using NotInList in a combo box&lt;/a&gt; page at my website.&amp;nbsp;&amp;nbsp; I keep forgetting to make up same sample code and re use it as I don&amp;#39;t care for the MS sample code in the Access help.&amp;nbsp; A bit too verbose and it doesn&amp;#39;t show how to deal with adding records to tables and then opening up a form.&amp;nbsp; So here&amp;#39;s the code I just setup as a sample.&amp;nbsp; Critique away.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1655442" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Using pictures on a form and report</title><link>http://msmvps.com/blogs/access/archive/2008/11/30/using-pictures-on-a-form-and-report.aspx</link><pubDate>Sun, 30 Nov 2008 22:23:36 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1655440</guid><dc:creator>Tony</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1655440</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1655440</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/11/30/using-pictures-on-a-form-and-report.aspx#comments</comments><description>&lt;p&gt;The following question was asked in the comp.databases.ms-access newsgroup.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;I&amp;#39;d like to add a picture in a report&amp;#39;s detail section where the path to the picture is from a table.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Incredibly easy.&amp;nbsp; The same code works on a form as well.&amp;nbsp; Using the Toolbox drop an image control on the reports detail section.&amp;nbsp;&amp;nbsp; Note that you will have to follow the dialog and actually insert an image.&amp;nbsp; But then go to the Picture property on the Format tab in the property sheet and delete the actual file.&amp;nbsp; You will probably want to set the Size Mode from clip to zoom. And rename the control to something meaningful. &lt;p&gt;Then in the report detail section in the On Print event you want to add the following lines of code  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If &amp;lt;logic if file available to view&amp;gt; Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.PhotoImage.Picture = PhotoFilePath&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.PhotoImage.Picture = &amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If  &lt;p&gt;PhotoFilePath being whatever logic you want to use to figure out the file that you want printed.  &lt;p&gt;You don&amp;#39;t want to do this logic in the Format event as Microsoft has told us, via Stephen Lebans, that using that event can lead to memory leak problems.&amp;nbsp; Or you can use BMP images.&amp;nbsp;&amp;nbsp; Which is rather impractical. &lt;blockquote&gt; &lt;p&gt;The reason for extensive bloating in Access when JPG or other graphic files are permanently embedded in forms or reports is that Access converts those file formats to BMP format.&amp;nbsp;&amp;nbsp; This made sense back in Access 2.0 days is viewing a JPG file was very slow as it requires lots of CPU cycles.&amp;nbsp; 80386 computers running Windows 3.1 were rather slow at that.&amp;nbsp; BMP format meant that you basically read the large file directly into the graphics card memory.&amp;nbsp;&amp;nbsp; In Access 2007 the Access product group have updated that logic so the BMP file format isn&amp;#39;t created any more.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Shameless plug:&amp;nbsp; I have a number of reports in the &lt;a href="http://granitefleet.com/" target="_blank"&gt;Granite Fleet Manager&lt;/a&gt; which print a &amp;quot;primary&amp;quot; and a number of &amp;quot;secondary&amp;quot; photo&amp;#39;s for each unit.&amp;nbsp;&amp;nbsp; See &lt;a href="http://granitefleet.com/ScreenShots/screen_MainMenu.htm" target="_blank"&gt;Granite Fleet manager Main Menu&lt;/a&gt; a screen shot and &lt;a title="Service Order Details (with Photo)" href="http://granitefleet.com/_files/Service%20Order%20Details%20(with%20Photo).pdf"&gt;Service Order Details (with Photo)&lt;/a&gt; for a sample report.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1655440" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category><category domain="http://msmvps.com/blogs/access/archive/tags/Granite+Fleet+Manager/default.aspx">Granite Fleet Manager</category></item><item><title>My muddiness when it comes to OpenArgs</title><link>http://msmvps.com/blogs/access/archive/2008/11/26/my-muddiness-when-it-comes-to-openargs.aspx</link><pubDate>Wed, 26 Nov 2008 21:37:03 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1655164</guid><dc:creator>Tony</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1655164</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1655164</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/11/26/my-muddiness-when-it-comes-to-openargs.aspx#comments</comments><description>&lt;p&gt;I was getting an syntax error message when I clicked on a New button on the &lt;a href="http://granitefleet.com/ScreenShots/screen_EquipmentQuickFind.htm" target="_blank"&gt;Equipment Quick Finder form&lt;/a&gt;.&amp;nbsp; The &lt;a href="http://granitefleet.com/ScreenShots/screen_Equipment.htm" target="_blank"&gt;equipment form&lt;/a&gt; in the Granite Fleet Manager executes a reasonable amount of code on startup.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I had added that New button to the Quick Finder form when I created it and all was well.&amp;nbsp; Trouble is I added some code in the Equipment form that required the OpenArgs start with &amp;quot;New&amp;quot; when the record did not exist.&amp;nbsp;&amp;nbsp; And now the code was causing me troubles. While I fixed the immediate problem I realized I had a larger issue.&lt;/p&gt; &lt;p&gt;When testing I realized that if I&amp;#39;m updating a piece of equipment then the OpenArgs will legitimately be empty.&lt;/p&gt; &lt;p&gt;So I added the following code in the forms Open Event.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If IsNull(Me.OpenArgs) And Len(Me.Filter) = 0 Then _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox &amp;quot;OpenArgs is null and Filter is empty.&amp;quot;&lt;/p&gt; &lt;p&gt;I also did a Find through all the code looking for OpenForm &amp;quot;Equipment&amp;quot; just to ensure I didn&amp;#39;t have any other problems hidden away somewhere else. &lt;p&gt;The lesson is that if you are depending that OpenArgs have values in it ensure that values are always present.&amp;nbsp; Pop up a message for the programmer to give him (or her) a kick. &lt;p&gt;This is a follow up to the &lt;a href="http://msmvps.com/blogs/access/archive/2008/11/18/watch-out-for-null-openargs.aspx" target="_blank"&gt;Watch out for Null OpenArgs&lt;/a&gt; blog posting.&amp;nbsp;&amp;nbsp; (And I sincerely hope my clients never chip in to purchase the chair mentioned at &lt;a href="http://msmvps.com/blogs/access/archive/2007/06/06/microsoft-we-share-your-pain.aspx" target="_blank"&gt;Microsoft: We Share Your Pain&lt;/a&gt;.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1655164" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category><category domain="http://msmvps.com/blogs/access/archive/tags/Granite+Fleet+Manager/default.aspx">Granite Fleet Manager</category></item><item><title>I just love the Access Developers Handbook</title><link>http://msmvps.com/blogs/access/archive/2008/11/19/i-just-love-the-access-developers-handbook.aspx</link><pubDate>Wed, 19 Nov 2008 10:41:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1654542</guid><dc:creator>Tony</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1654542</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1654542</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/11/19/i-just-love-the-access-developers-handbook.aspx#comments</comments><description>&lt;p&gt;I recently added the ability to view unit photo&amp;#39;s on the main menu of the &lt;a target="_blank" href="http://granitefleet.com/"&gt;Granite Fleet Manager&lt;/a&gt;.&amp;nbsp;&amp;nbsp; However if the user doesn&amp;#39;t have photos or doesn&amp;#39;t want to view them on the main menu then I wanted the form to be centered.&amp;nbsp; I figured that the &lt;a target="_blank" href="http://www.mcwtech.com/Books.aspx/"&gt;Access Developers Handbook&lt;/a&gt; would have the code to centre a form when it was shrunk and I was correct.&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;It took much longer to comb through the relevant chapter finding the code I needed than to import, implement and test the code. What an efficient use of my time! While I don&amp;#39;t use the books much lately every time I opened them up I saved the price of the books.&amp;nbsp;&amp;nbsp; And I used the books lots years ago.&lt;/p&gt;
&lt;p&gt;My understanding is that the Sybex figures there would be an insufficient market for an Access 2007 version.&amp;nbsp; &amp;lt;sigh&amp;gt;&amp;nbsp; However I suspect almost all the code will work quite nicely in Access 2007.&amp;nbsp; I also think the authors have generally moved on to other technologies.&lt;/p&gt;
&lt;p&gt;All I had to was import a class module from the appropriate MDB on their CD, add four lines of code&amp;nbsp; and the resized form nicely centered.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;At the top of the VBA code&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Private mfi As FormInfo&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the load event:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Set mfi = New FormInfo&lt;br /&gt;Set mfi.Form = Me&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and in my subroutine which decides if I&amp;#39;m going to display the photos on the menu or not: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;mfi.Center&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Below are the two menu forms. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access.IjustlovetheAccessDevelopersHandbook_5F00_14B99/Main-Menu-_2D002D00_-with-photo_5F00_2.jpg"&gt;&lt;img border="0" width="308" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access.IjustlovetheAccessDevelopersHandbook_5F00_14B99/Main-Menu-_2D002D00_-with-photo_5F00_thumb.jpg" alt="Main Menu -- with photo" height="224" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access.IjustlovetheAccessDevelopersHandbook_5F00_14B99/Main-Menu-_2D002D00_-Small_5F00_2.jpg"&gt;&lt;img border="0" width="308" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access.IjustlovetheAccessDevelopersHandbook_5F00_14B99/Main-Menu-_2D002D00_-Small_5F00_thumb.jpg" alt="Main Menu -- Small" height="224" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The code behind the form to shrink the form is fairly simple:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Me.InsideWidth = 5.6 * 1440&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The 5.6 being inches as I&amp;#39;m not a metric person and 1440 being the number of twips in an inch.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Now you will notice that the backup (floppy diskette image) and the stop buttons were also moved.&amp;nbsp; I simply manually moved them left to suit and recorded the left position of the controls.&amp;nbsp; Then I put them back on the right hand side of the form and inserted the following code.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Me.cmdBackup.Left = 4.6667 * 1440&lt;br /&gt;Me.cmdQuit.Left = 5.1458 * 1440 &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The program randomly selects the photo from the recordset of photos that are present in the system when the main menu is opened.&amp;nbsp; You can them scroll back and forth among the photos.&amp;nbsp; This feature is not that useful from a technical or user viewpoint.&amp;nbsp; However I figure it will look neat when the folks are looking at the demo.&lt;/p&gt;
&lt;p&gt;(The use of the word neat may help figure out approximately my age.&amp;nbsp; If you pay attention to those kinds of things that is.)&lt;/p&gt;
&lt;p&gt;Edited 2009-05-19 to change a URL from a spammy domain to a working domain.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1654542" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category><category domain="http://msmvps.com/blogs/access/archive/tags/Granite+Fleet+Manager/default.aspx">Granite Fleet Manager</category></item><item><title>Watch out for Null OpenArgs</title><link>http://msmvps.com/blogs/access/archive/2008/11/18/watch-out-for-null-openargs.aspx</link><pubDate>Tue, 18 Nov 2008 08:08:12 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1654425</guid><dc:creator>Tony</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1654425</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1654425</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/11/18/watch-out-for-null-openargs.aspx#comments</comments><description>&lt;p&gt;Well, I gave the problem away with the subject line.&amp;nbsp; I had the following code which I thought was working quite nicely.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;If Left(Me.OpenArgs, 3) &amp;lt;&amp;gt; &amp;quot;New&amp;quot; Then &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;But then I suddenly noticed when viewing a screen that a few fields were empty that should&amp;#39;ve have some data in them.&amp;nbsp; Some poking about and I now realize the following should&amp;#39;ve been in my code. &lt;blockquote&gt; &lt;p&gt;If IsNull(Me.OpenArgs) Or Left(Me.OpenArgs, 3) &amp;lt;&amp;gt; &amp;quot;New&amp;quot; Then &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Quickly looking through the rest of the code in the database for OpenArgs shows that was the only problem.&amp;nbsp; Never mind that it was on the most used form.&amp;nbsp; &amp;lt;sigh&amp;gt;&amp;nbsp; And I have no idea how long that code has been broken.&amp;nbsp;&amp;nbsp; &amp;lt;bigger sigh&amp;gt;&amp;nbsp; &lt;p&gt;OTOH those fields will be removed on my next release anyhow as I&amp;#39;m going to a much more sophisticated method of tracking all the preventative maintenance work that should be done to a piece of equipment.&amp;nbsp; Rather than only tracking oil changes as is currently done.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1654425" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Adding a record count to a tab caption on a tab control part 2</title><link>http://msmvps.com/blogs/access/archive/2008/11/07/adding-a-record-count-to-a-tab-caption-on-a-tab-control-part-2.aspx</link><pubDate>Sat, 08 Nov 2008 03:09:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1653469</guid><dc:creator>Tony</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1653469</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1653469</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/11/07/adding-a-record-count-to-a-tab-caption-on-a-tab-control-part-2.aspx#comments</comments><description>&lt;p&gt;In my previous blog entry on this &lt;a href="http://msmvps.com/blogs/access/archive/2008/11/04/adding-a-record-count-to-a-tab-caption-on-a-tab-control.aspx" target="_blank"&gt;topic&lt;/a&gt; I stated &amp;quot;I also didn&amp;#39;t bother putting any logic in to update the count of notes as the user was entering them.&amp;nbsp; Hmm, for the sake of neatness and tidiness though I should.&amp;quot;&amp;nbsp; So I decided I&amp;#39;d better do that.&amp;nbsp; Then as I got to thinking about this I also need to update the count when I delete the record as well.&amp;nbsp; (I recalled my friend Jim gently reminding me a year or two back on some similar logic elsewhere that I need to also consider record deletions.)&lt;/p&gt; &lt;p&gt;However this logic is in the Part Notes subform.&amp;nbsp; So I used the trick in &lt;a href="http://msmvps.com/blogs/access/archive/2007/07/29/calling-a-subroutine-on-another-form.aspx" target="_blank"&gt;Calling a subroutine on another form&lt;/a&gt; blog entry to call the same routine on the parent form as I had in the previous blog entry.&amp;nbsp;&amp;nbsp; These are in the subforms AfterUpdate event and the Del(ete) command button that I added to that subform.&amp;nbsp;&amp;nbsp; I had to rename the parent form to remove the spaces from the form name as documented in this referenced blog entry.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Mind you I could&amp;#39;ve also put the logic into a VBA module and I wouldn&amp;#39;t have needed to call the module from the form.&lt;/p&gt; &lt;p&gt;I also really gotta go through the entire app and ensure that, where appropriate, all sub forms have a delete button.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1653469" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Adding a record count to a tab caption on a tab control</title><link>http://msmvps.com/blogs/access/archive/2008/11/04/adding-a-record-count-to-a-tab-caption-on-a-tab-control.aspx</link><pubDate>Wed, 05 Nov 2008 06:10:33 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1653112</guid><dc:creator>Tony</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1653112</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1653112</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/11/04/adding-a-record-count-to-a-tab-caption-on-a-tab-control.aspx#comments</comments><description>&lt;p&gt;I decided that it would be useful for someone looking at a particular part in the &lt;a href="http://granitefleet.com/" target="_blank"&gt;Granite Fleet Manager&lt;/a&gt; to know if there were any notes associated with that part.&amp;nbsp;&amp;nbsp; The idea being that there seldom would be any such and the mechanic wouldn&amp;#39;t have any reason to click on on that tab.&amp;nbsp; So I should visually indicate that this part has some notes.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Why does a part need notes? Not if it&amp;#39;s 0W30 motor oil&amp;nbsp; But if it&amp;#39;s an custom part for a machine built overseas and the only source of parts is one distributor at the other end of your country or your continent that took you hours to locate then having notes is a good thing.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access.Addingarecordcounttoatabonatabcontrol_5F00_B8F/PartsNotesCount_5F00_2.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="154" alt="PartsNotesCount" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/access.Addingarecordcounttoatabonatabcontrol_5F00_B8F/PartsNotesCount_5F00_thumb.jpg" width="394" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The code is quite simple.&amp;nbsp; The page on the tab control is named pagPartsNotes.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;If Not IsNull(Me.pID) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSQL = &amp;quot;SELECT Count(PartsNotes.pnID) AS CountOfNotes &amp;quot; &amp;amp; _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;FROM PartsNotes &amp;quot; &amp;amp; _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;GROUP BY PartsNotes.pnPartsID &amp;quot; &amp;amp; _&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;HAVING pnPartsID=&amp;quot; &amp;amp; Me.pID &amp;amp; &amp;quot;;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set rs = CurrentDb.OpenRecordset(strSQL)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If rs.EOF Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NotesCount = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs.MoveFirst&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NotesCount = rs!CountOfNotes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.pagPartsNotes.Caption = &amp;quot;Notes - &amp;quot; &amp;amp; NotesCount&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs.Close: Set rs = Nothing&lt;br /&gt;End If&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The first line &lt;font face="cou"&gt;If Not IsNull(Me.pID)&lt;/font&gt; Then is present to see if the user is adding a new record.  &lt;p&gt;Also note that if you add a new record from this form you&amp;#39;ll also need to reset the Notes tab caption.&amp;nbsp;&amp;nbsp; I also didn&amp;#39;t bother putting any logic in to update the count of notes as the user was entering them.&amp;nbsp; Hmm, for the sake of neatness and tidiness though I should. &lt;p&gt;But then I thought about the mechanics using the system and figured that maybe this was just a bit too subtle for the folks.&amp;nbsp; (Jim, an excellent person at a client who has made a large number of UI suggestions to me over the years, is good at questioning my assumptions and who reads this blog, is now grinning.)&amp;nbsp; Now don&amp;#39;t get me wrong.&amp;nbsp; The folks using the system are great people but noticing subtle differences on computer screens just isn&amp;#39;t their strength.&lt;/p&gt; &lt;p&gt;So I decided to give Stephen Lebans &lt;a href="http://lebans.com/tabcolors.htm" target="_blank"&gt;Tabs.zip&lt;/a&gt; a try.&amp;nbsp; Trouble is his solution requires fixed tab widths which I&amp;#39;d prefer to not use as I&amp;#39;ll be adding more tabs when I add inventory to the system. &lt;/p&gt; &lt;p&gt;Given that Google and Google Groups are useless for searching I asked around.&amp;nbsp; Former Access MVP and current Microsoft tester Jeff Conrad told me about his resource page &lt;a href="http://www.accessmvp.com/JConrad/accessjunkie/tabcolors.html" target="_blank"&gt;CSD - Tab Control Colors&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;Hmm, those solutions are decent but a bit complex for right now.&amp;nbsp; So I&amp;#39;m going to think about this.&amp;nbsp; And I just might add a text control that contains a note along the lines of &amp;quot;There are x notes present.&amp;quot; which is only visible if there are notes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1653112" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category><category domain="http://msmvps.com/blogs/access/archive/tags/Granite+Fleet+Manager/default.aspx">Granite Fleet Manager</category></item><item><title>Referring to a control's label</title><link>http://msmvps.com/blogs/access/archive/2008/10/04/referring-to-a-control-s-label.aspx</link><pubDate>Sat, 04 Oct 2008 20:58:06 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649745</guid><dc:creator>Tony</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1649745</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1649745</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/10/04/referring-to-a-control-s-label.aspx#comments</comments><description>&lt;p&gt;rkc posted a snippet of code in a thread titled &lt;a href="http://groups.google.ca/group/comp.databases.ms-access/msg/e2a1c0b247b7879a?hl=en" target="_blank"&gt;Access an attached label in VBA&lt;/a&gt; on how to refer to a control&amp;#39;s label using some syntax I&amp;#39;ve never seen used in exactly that fashion.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;With ctlCurrentControl&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Controls(0).BackColor = lngYellow&lt;br /&gt;End With&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;which I then extended to &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Me.&amp;lt;controlname&amp;gt;.controls(0).BackColor = lngYellow&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;In this thread the original posted wanted to change the background colour of the label when the user entered the control.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;I could&amp;#39;ve used that logic to change the control&amp;#39;s label caption in my &lt;a href="http://www.granitefleet.com/" target="_blank"&gt;Granite Fleet Manager&lt;/a&gt; app.&amp;nbsp;&amp;nbsp; I allow the user to select either miles or kilometers as the unit of measure.&amp;nbsp; I also allow the user to change the units permanent or temporary location to suit their business.&amp;nbsp; For one client the temporary location caption is Job Site while another is Farm.&amp;nbsp;&amp;nbsp; On those I renamed the label to be something like lblControlName and referred to it directly such as&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;me.lblControlName.Caption = SomeValue&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649745" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category><category domain="http://msmvps.com/blogs/access/archive/tags/Granite+Fleet+Manager/default.aspx">Granite Fleet Manager</category></item><item><title>J Street's Access Relinker available for download</title><link>http://msmvps.com/blogs/access/archive/2008/10/02/j-street-s-access-relinker-available-for-download.aspx</link><pubDate>Fri, 03 Oct 2008 03:04:57 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1649559</guid><dc:creator>Tony</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/rsscomments.aspx?PostID=1649559</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/access/commentapi.aspx?PostID=1649559</wfw:comment><comments>http://msmvps.com/blogs/access/archive/2008/10/02/j-street-s-access-relinker-available-for-download.aspx#comments</comments><description>&lt;p&gt;See &lt;a href="http://www.jstreettech.com/cartgenie/pg_developerDownloads.asp" target="_blank"&gt;J Street&amp;#39;s Access Relinker&lt;/a&gt; by fellow MVP Armen Stein.&lt;/p&gt; &lt;p&gt;Also see the Access Web&amp;#39;s &lt;a href="http://www.mvps.org/access/tables/tbl0009.htm" target="_blank"&gt;Relink Access tables from code&lt;/a&gt; and Allen Browne&amp;#39;s &lt;a href="http://allenbrowne.com/ser-13.html" target="_blank"&gt;Reconnect Attached tables on Start-up&lt;/a&gt; as well as my general approach on this topic for shrink wrap apps &lt;a href="http://www.granite.ab.ca/access/relinkingtables.htm" target="_blank"&gt;Relinking Tables&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1649559" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/Access/default.aspx">Access</category><category domain="http://msmvps.com/blogs/access/archive/tags/Tips/default.aspx">Tips</category><category domain="http://msmvps.com/blogs/access/archive/tags/VBA/default.aspx">VBA</category></item></channel></rss>