<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8341707</id><updated>2012-02-06T08:37:03.907-05:00</updated><title type='text'>datageek</title><subtitle type='html'>Articles and information about SQL Server, Crystal Reports, Microsoft Access, VB.NET and other Technology related topics.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>72</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8341707.post-113985995332065615</id><published>2006-02-13T14:45:00.000-05:00</published><updated>2006-02-13T14:45:53.333-05:00</updated><title type='text'>A discussion of what's new in Access 12</title><content type='html'>&lt;a href="http://blogs.msdn.com/access/default.aspx"&gt;A discussion of what's new in Access 12&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you haven't had a chance to read up on what's new and exciting in the next version of Office, here is a great blog covering the new features in Access 12.  I have been using Office 12 Beta 1 for over a month now and can say this will be the most significant Office upgrade since the release of Office 97.  Most importantly for developers, Access is getting a lot of attention this time around.  Check out the Access 12 blog and start learning the new features now ... if you wait, there will be too much to learn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-113985995332065615?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/access/default.aspx' title='A discussion of what&apos;s new in Access 12'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/113985995332065615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=113985995332065615' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/113985995332065615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/113985995332065615'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2006/02/discussion-of-whats-new-in-access-12.html' title='A discussion of what&apos;s new in Access 12'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-113595915930194972</id><published>2005-12-30T11:08:00.000-05:00</published><updated>2005-12-30T11:12:39.316-05:00</updated><title type='text'>Do you use Email efficiently?</title><content type='html'>How many of you have over 1000 items in your inbox?  Or have over 20 unread messages you have no intention of ever reading?  There is nothing more annoying in the world of business than people who don't use email efficiently.  It's not a toy!  Used correctly, email can be one of the most efficient forms of communication AND organization.  It can also be the most time consuming and frustrating tools available.  &lt;a href="http://www.ssw.com.au/ssw/Standards/Rules/RulestoBetterEmail.aspx#TasksNotCommunication"&gt;This article&lt;/a&gt; does a GREAT job of outlining 50 ways to use email more efficiently.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-113595915930194972?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/113595915930194972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=113595915930194972' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/113595915930194972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/113595915930194972'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/12/do-you-use-email-efficiently.html' title='Do you use Email efficiently?'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-113206351425765315</id><published>2005-11-15T09:02:00.000-05:00</published><updated>2005-11-15T09:05:14.270-05:00</updated><title type='text'>Free Microsoft Virtual Labs</title><content type='html'>SQL Server 2005 and Visual Studio 2005 have launched!  To help developers get "ramped up" for the new features, Microsoft is offering a variety of free training opportunities.  Most notibly, I think, are the virtual labs, where you can try out the software in a hosted environment - for free!  I've done a few of the labs and think there is a ton of value in this type of training.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/vstudio/tryit/hosted/sql/default.aspx"&gt;SQL Server 2005 Virtual Labs&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-113206351425765315?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/113206351425765315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=113206351425765315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/113206351425765315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/113206351425765315'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/11/free-microsoft-virtual-labs.html' title='Free Microsoft Virtual Labs'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-112956532940875865</id><published>2005-10-17T12:04:00.000-04:00</published><updated>2005-10-17T12:09:19.760-04:00</updated><title type='text'>Access your files from anywhere</title><content type='html'>Ever been at work and needed a file from your home computer?  &lt;a href="http://www.avvenu.com"&gt;Avvenu&lt;/a&gt; is a new service that allows you to have access to all your files from any computer with internet access.  The only pre-requisite is that your home computer will need to be left on and logged onto the internet whenever you want to have access to your files.  Best of all ... it's FREE!!&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;You might want to also check out another service I posted on a while back ... &lt;a href="http://www.logmein.com"&gt;Logmein&lt;/a&gt; - you can access your computer from anywhere ... kind of like PC Anywhere used to work - and it's FREE as well.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-112956532940875865?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/112956532940875865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=112956532940875865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/112956532940875865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/112956532940875865'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/10/access-your-files-from-anywhere.html' title='Access your files from anywhere'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-112955393200491181</id><published>2005-10-17T08:58:00.000-04:00</published><updated>2005-10-17T08:58:52.006-04:00</updated><title type='text'>Access Day</title><content type='html'>If you have ever attended a user group meeting, you know how useful and informative they can be.  The Boston area has a user group for Access that meets the &lt;strong&gt;third Wednesday of every month&lt;/strong&gt;.  Each meeting provides demonstations, tips &amp; tricks, and troubleshooting for all levels of Access users.  I have been contemplating starting something like this at VTEC, but would need to know that the attendance would be consistent to make it worth putting forth the effort in gathering speakers, putting together presentations, and scheduling and organizing the meetings.  If this is something that interests you, please drop me an email or post here.  Please give me some ideas of topics you'd like to see.  Check out &lt;a href="http://www.bostonaccessday.com/index.cfm"&gt;Access Day in Boston&lt;/a&gt; for some ideas (and useful links/examples).&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-112955393200491181?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/112955393200491181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=112955393200491181' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/112955393200491181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/112955393200491181'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/10/access-day.html' title='Access Day'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-112316849889046449</id><published>2005-08-04T11:09:00.000-04:00</published><updated>2005-08-04T11:14:58.890-04:00</updated><title type='text'>Access Add-ins</title><content type='html'>&lt;a href="http://www.fmsinc.com/"&gt;FMS Inc.&lt;/a&gt; has been providing high quality Access, SQL Server, and VB add-ins since 1992 and has recently updated all their tools to support Access 2003.  I have personally used all their tools and highly recommend them.  While these add-ins certainly aren't cheap, they will save you hours of development and provide much more functionality than the built-in controls.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Check out the tools &lt;a href="http://www.fmsinc.com/Products/access.asp"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-112316849889046449?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/112316849889046449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=112316849889046449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/112316849889046449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/112316849889046449'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/08/access-add-ins.html' title='Access Add-ins'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-112316717457501550</id><published>2005-08-04T10:48:00.000-04:00</published><updated>2005-08-04T10:52:54.576-04:00</updated><title type='text'>Recover corrupt Access databases</title><content type='html'>Tony from aadconsulting.com has created a new freeware utility that helps recover corrupt Access databases.  &lt;a href="http://www.aadconsulting.com/addins.html"&gt;Access Database Mechanic&lt;/a&gt; uses the following three methods: compact &amp; repair, decompile, and  completely rebuild an .mdb.  If you've ever had the sick feeling of trying to open a corrupt database, this tool will definitely be something worth hanging onto.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-112316717457501550?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/112316717457501550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=112316717457501550' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/112316717457501550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/112316717457501550'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/08/recover-corrupt-access-databases.html' title='Recover corrupt Access databases'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111937545102939078</id><published>2005-06-21T13:30:00.000-04:00</published><updated>2005-06-21T13:37:31.036-04:00</updated><title type='text'>Treo 650</title><content type='html'>My job entails me being away from the office on a regular basis.  I've been using an iPaq as my pda for several years.  As technology has advanced over the years, I've been constantly looking for a SINGLE device that I could carry to replace my pda and my cell phone.  Most of the reviews I have read on these devices are that they do ONE function (cell or pda) very well and provide the basic functionality of the other.  Verizon recently release the Treo 650, so I thought I would give it a shot to see if it would be a useful replacement.&lt;span class="fullpost"&gt;&lt;br /&gt;At first, I must admit, I was ready to throw this device out the window.  However, after some growing pains and learning the quirks (MANY!!) of the Palm OS, I've decided to stick with it.  I don't know that I would call it a SMARTphone but it has become an essential tool.  While I much prefer the Pocket PC operating system, the Pocket PCs were MUCH too pricey for me to consider.  It certainly isn't perfect, but having always-on access to the internet, email, calendar and contacts (which wirelesssly sync to Outlook - thank to free software from Verizon) has made the 650 invaluable.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111937545102939078?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/111937545102939078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=111937545102939078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111937545102939078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111937545102939078'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/06/treo-650.html' title='Treo 650'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111937499630182738</id><published>2005-06-21T13:19:00.000-04:00</published><updated>2005-06-21T13:29:56.306-04:00</updated><title type='text'>Choose Function</title><content type='html'>It's been a while since I've come across a new VBA function that I haven't used before AND find useful.  The Choose function has similar functionality to the VLookup function in Excel.  If you need to lookup a value but can't justify storing the values in an array, table, or lookup list, then the Choose function might be a good alternative.&lt;span class="fullpost"&gt;&lt;br /&gt;Syntax&lt;br /&gt;&lt;br /&gt;Choose(index, choice-1[, choice-2, ... [, choice-n]])&lt;br /&gt;&lt;br /&gt;I recently used this in a database I was working with a database which tracks driver information for a trucking company.  The driver classification was one of the fields in the database (not designed by me).  I wanted to hide the classifications in code, so that some relatively savey Access user couldn't alter the 'lookup' field.  So, I started to build my own lookup when I found the Choose function.  I used it as the control source of one the driver classification text box on a form:&lt;br /&gt;&lt;br /&gt;=Choose([class],"Experienced","Veteran","Suspended")&lt;br /&gt;&lt;br /&gt;If the [class] had a value of 1, then the text box displayed "Experienced", 2 displayed "Veteran", and 3 displayed "Suspended."&lt;br /&gt;&lt;br /&gt;I used the Choose function so that I could hide the three values in code and because I didn't want to add another table to the database to store just three values (which SHOULD never change).  One other side note was that I knew that the [class] field was only being displayed on one form, otherwise I would have made my own Public function to display the results of the Choose function.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111937499630182738?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/111937499630182738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=111937499630182738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111937499630182738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111937499630182738'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/06/choose-function.html' title='Choose Function'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111386383027991458</id><published>2005-04-18T18:34:00.000-04:00</published><updated>2005-04-18T18:37:10.280-04:00</updated><title type='text'>Putting some ZIP back into Windows</title><content type='html'>There are several services that start automatically with Windows XP.  Many of these services are never used and should be disabled to gain performance.  &lt;a href="http://www.windowsitpro.com"&gt;Windows IT Pro&lt;/a&gt; has a great article that outlines the most common services that can be disabled.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.windowsitpro.com/Articles/ArticleID/40722/40722.html"&gt;Unneeded Services in Windows XP&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111386383027991458?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/111386383027991458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=111386383027991458' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111386383027991458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111386383027991458'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/04/putting-some-zip-back-into-windows.html' title='Putting some ZIP back into Windows'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111038278781234844</id><published>2005-03-09T10:39:00.000-05:00</published><updated>2005-03-09T10:40:41.756-05:00</updated><title type='text'>Stumbleupon: Find interesting websites</title><content type='html'>&lt;a href="https://addons.update.mozilla.org/extensions/moreinfo.php?application=firefox&amp;amp;version=1.0&amp;amp;os=Windows&amp;amp;id=138"&gt;Mozilla Update :: Extensions -- More Info: stumbleupon&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm always looking for cool new websites that I can waste my time reading.  The problem is, how do you find new sites?  Unless one of your friends tells you about it or you read an article from another site about it.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Using one of Firefox's newest &lt;a href="https://addons.update.mozilla.org/extensions/?os=nt&amp;application=firefox"&gt;extensions&lt;/a&gt; I have found a very simple way of broadening my surfing world.  &lt;a href="https://addons.update.mozilla.org/extensions/moreinfo.php?application=firefox&amp;version=1.0&amp;os=Windows&amp;id=138"&gt;Stumbleupon&lt;/a&gt; asks you a few questions about the types of sites you like to read, then randomly takes you to sites that match your categories.  A rating system has been implemented to make more popular sites appear first.  You can even mark sites you like and &lt;a href="https://addons.update.mozilla.org/extensions/moreinfo.php?application=firefox&amp;version=1.0&amp;os=Windows&amp;id=138"&gt;Stumbleupon&lt;/a&gt; will remember your favorites.  Check it out!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111038278781234844?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://addons.update.mozilla.org/extensions/moreinfo.php?application=firefox' title='Stumbleupon: Find interesting websites'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/111038278781234844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=111038278781234844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111038278781234844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111038278781234844'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/03/stumbleupon-find-interesting-websites.html' title='Stumbleupon: Find interesting websites'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110956935864624917</id><published>2005-02-28T00:38:00.000-05:00</published><updated>2005-02-28T00:42:38.646-05:00</updated><title type='text'>Basing one combo box on another</title><content type='html'>This technique is very useful in applications where you want to allow your users to choose multiple data from combo boxes - when you want one combo box to display records based on what the user selected in the first combo box.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Microsoft has put together a very small &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=fd5537a1-3c4e-4371-81e4-f9347b7a1dd7&amp;displaylang=en"&gt;sample database&lt;/a&gt; of how this can be accomplished.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110956935864624917?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110956935864624917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110956935864624917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110956935864624917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110956935864624917'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/02/basing-one-combo-box-on-another.html' title='Basing one combo box on another'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110934794395895718</id><published>2005-02-25T11:12:00.000-05:00</published><updated>2005-02-25T11:14:59.263-05:00</updated><title type='text'>WinZip - Outlook Companion</title><content type='html'>Winzip has long been the standard tool for compressing files and folders. With Outlook Companion, Winzip is offering tighter integration with Outlook. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;From Winzip's website: Zipping attachments saves transmission time, conserves space in Outlook mailboxes, and saves disk space for both the sender and recipient of the e-mail. The Companion can be configured to automatically zip your attachments, ask whether or not you want them zipped, or let you zip and attach files manually with just a few mouse clicks. Toolbar and menu items allow you to control the Companion's functionality on a message-by-message basis. In addition, sensitive attachments can be easily protected with the same built-in advanced AES encryption found in WinZip 9.0&lt;br /&gt;&lt;br /&gt;Benefits&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Easily zip attachments when sending Outlook e-mail messages&lt;/li&gt;   &lt;li&gt;Conserve space in your Outlook mailbox&lt;/li&gt;   &lt;li&gt;Save disk space&lt;/li&gt;   &lt;li&gt;Save transmission time&lt;/li&gt;   &lt;li&gt;Protect sensitive attachments with encryption&lt;/li&gt;   &lt;li&gt;Easy-to-use; just install it and it is ready to work for you &lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;&lt;a href="http://www.winzip.com/prodpagewzcou.htm"&gt;WinZip - Companion Product Information&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110934794395895718?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.winzip.com/prodpagewzcou.htm' title='WinZip - Outlook Companion'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110934794395895718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110934794395895718' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110934794395895718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110934794395895718'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/02/winzip-outlook-companion.html' title='WinZip - Outlook Companion'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110934685362029774</id><published>2005-02-25T10:49:00.000-05:00</published><updated>2005-02-25T10:59:26.886-05:00</updated><title type='text'>Problem with record selection and left joins</title><content type='html'>Many report writers begin to explore table joins in Crystal Reports when they aren't getting the results they expect. While changing a join from an inner to an outer is sometimes the easy solution, it may not always yield the results you expect. Imagine you want all your customers in a report, whether they had transactions or not. Where they do have transactions, you are only interested in a selection of transactions&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;To illustrate with a simple example, let's look at a customer table and a transaction table of orders.&lt;br /&gt;&lt;br /&gt;This one-to-many table relationship is common to many reports. This is a problem we have seen on many occasions. There are several solutions you might like to consider if your report has this problem. The default Inner Join will give us only those customers who have orders. To get ALL customers and their orders if they have any, you would use a Left Outer join. Under normal circumstances, the Order table fields will be NULL for those customers without any orders. And that is the foundation of the problem we are about to describe.&lt;br /&gt;&lt;br /&gt;Usually, you don't want all the records in the transaction table. At a client site recently, we only wanted the transactions from a selected date range. But we still wanted to see all the customers on the reports. Because we are doing a selection on the date field in the orders table, we restricted our customer selection to only those customers who had orders in the selected dates. You might suggest that those customers without any orders will have NULL in the fields in the order table, so select the NULL values as well. Sure, that will pick up customers who have NEVER had any orders. But customers who have orders, but not in the date selection are still missing from the report. This is because the LEFT join is done in the database prior to record selection. We need a solution that shows all customers, and their orders in the date selection (if they have any). There are several solutions to this. Thanks to Tim Wilson for his help investigating these.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Brute Force Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use a formula on all records After examining and trying some of the other methods, this was the solution we implemented. We expected a performance hit, but the report was fast and gave us the results we wanted.&lt;br /&gt;&lt;br /&gt;As faster and faster processors are delivered it is time we used some of that extra power for more productive purposes than 3D helicopter games. We joined the two tables with a left join, but with no selection from the orders table.&lt;br /&gt;&lt;br /&gt;Yes, all the transactions were loaded into the report and had to be processed. We calculated our “This Month” total using a summary of an If .. Then .. Else formula.&lt;br /&gt;&lt;br /&gt;A Running Total Field would also work fine here. You might try and avoid a report that loads millions of records into one report. But Crystal can handle the volume without any problems. This solution performed well and worked with our CR 8.5 user.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Stored Procedure Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We looked at the previous problem from the database side. If Crystal wasn't part of the solution, how would we do this using SQL? The raw data tables won't do what we require, so we need an SQL stored procedure.&lt;br /&gt;&lt;br /&gt;* We looked into using SQL to create the left join we needed, and it just didn't happen. If any of you SQL experts out there have a pure SQL solution for this, then let us know.&lt;br /&gt;  * If only summary data are required, a sub SELECT would work. But if you need the transactions as well, it is not enough.&lt;br /&gt;* A UNION join also looked like it might provide a solution. With a stored procedure we could select the required transactions from the orders table. Then we could use Crystal Reports 9 or 10 to left join the stored procedure to the master table. But this solution is not available for CR8.5 or earlier and has a big performance hit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Business View Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Business Views are a new feature in Crystal Reports 10. We created a SQL command with the date selection parameters inside a Business Foundation. Left join that to the customer table, and create the required Business Elements and Business Views.&lt;br /&gt;&lt;br /&gt;This worked fine in our Crystal Reports 10 test report.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SELECT INTO Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One stored procedure solution we thought would work was to use a stored procedure with several steps. The first step did a SELECT INTO to create a temporary table with the only the records we needed, and then it left joined the temporary table to the master table. This would work with any version of Crystal Reports.&lt;br /&gt;&lt;br /&gt;The negative side of this solution is that the report can only be run by one user at a time. A second user would reset the temporary table while the first was still using it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Subreport Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Back into Crystal Reports with a main report from the master table, and a subreport for each transaction record to get the data we required. This did work correctly.&lt;br /&gt;&lt;br /&gt;But the performance and selection of the transactions for each master record made this the slowest performing solution of any we implemented. Also, you could not do any grouping or primary record selection on fields in the transaction table.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use the solution that best suits your needs. Each of the above has specific technology and performance limits. But we now have several ways to get that report with the data we want on it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;This article is copyrighted by Crystalkeen, Mindconnection, and Chelsea Technologies Ltd. It may be freely copied and distributed as long as the original copyright is displayed and no modifications are made to this material. Extracts are permitted. The names Crystal Reports and Seagate Info are trademarks owned by Business Objects.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110934685362029774?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110934685362029774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110934685362029774' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110934685362029774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110934685362029774'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/02/problem-with-record-selection-and-left.html' title='Problem with record selection and left joins'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110925596873842316</id><published>2005-02-24T09:31:00.000-05:00</published><updated>2005-02-24T09:51:11.376-05:00</updated><title type='text'>Retrieving random records with a query</title><content type='html'>I've had several students in the past ask about getting random results from a query, so they could review/analyze random data from there tables.  For instance, one student was working with a customer service database - tracking calls and solutions provided to customers.  Once a week, one person was in charge of calling random customers to get feedback on how the customer service was handled and if the customer was satisfied with the service.  The employee would open the database and manually look for random customers to call.  This solution provides an easy way to build a query - which could then be formatted with a report - to automatically build a list of any number of customers randomly.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Type the following expression into an empty column in the field row of the query design view:&lt;br /&gt;&lt;br /&gt;RandomValue: Rnd([field])&lt;br /&gt;&lt;br /&gt;where [field] is any field in the table that contains numeric values - the field can be an AutoNumber, Number, or Date/Time field.  Apply a sort order to the RandomValue field, ascending or descending.  Use the Top Values dropdown list on the Query Design toolbar to specify how many records to return.  If you want a number or percentage that isn't listed, simply enter the desired amount in the Top Values text box.  When you run the query, you'll find that Access returns a random selection from the underlying record source.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110925596873842316?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110925596873842316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110925596873842316' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110925596873842316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110925596873842316'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/02/retrieving-random-records-with-query.html' title='Retrieving random records with a query'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110917740451863721</id><published>2005-02-23T11:50:00.000-05:00</published><updated>2005-02-23T11:51:39.806-05:00</updated><title type='text'>Outlook reminders sent to your mobile phone</title><content type='html'>I'm always forgetting stuff.  Meetings, appointments, tasks, etc.  I forget them all.  I don't want to look like batman with a utility belt so instead of carrying a cell phone and pda, I wish Outlook could send a text message to my phone as a reminder if I'm away from my desk.  This great little utility - although it's not free - makes a great add-on for Outlook.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.redoxygen.com/us/index.asp"&gt;OutlookSMS&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110917740451863721?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.redoxygen.com/us/index.asp' title='Outlook reminders sent to your mobile phone'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110917740451863721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110917740451863721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110917740451863721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110917740451863721'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/02/outlook-reminders-sent-to-your-mobile.html' title='Outlook reminders sent to your mobile phone'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110867676784006270</id><published>2005-02-17T16:43:00.000-05:00</published><updated>2005-02-17T16:46:07.840-05:00</updated><title type='text'>Add bullets to Access reports</title><content type='html'>Bullets are useful to draw the reader's attention to a particular item, displaying lists, or even separating address parts in the footer of a report (similar to most company letter head).  You can add a bullet to a report in Access.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Open your report in design view.&lt;br /&gt;&lt;br /&gt;Turn on the Number Lock.&lt;br /&gt;&lt;br /&gt;Insert a label and type the text you want in the Caption property.  When you want to insert a bullet:&lt;br /&gt;&lt;br /&gt;Hold the alt key down and--&lt;br /&gt;&lt;br /&gt;For a round bullet, type:&lt;br /&gt;&lt;br /&gt;0149&lt;br /&gt;&lt;br /&gt;For a hyphen bullet, type:&lt;br /&gt;&lt;br /&gt;0150&lt;br /&gt;&lt;br /&gt;Release the alt key.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110867676784006270?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110867676784006270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110867676784006270' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110867676784006270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110867676784006270'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/02/add-bullets-to-access-reports.html' title='Add bullets to Access reports'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110858123291711676</id><published>2005-02-16T14:04:00.000-05:00</published><updated>2005-02-16T14:13:52.920-05:00</updated><title type='text'>Crystal Reports XI Released</title><content type='html'>Business Objects has just released the next version of Crystal Reports 11 and Crystal Enterprise 11. Unlike the upgrade to version 10, the upgrade to version 11 has some significant improvements for report designers. Here are the ones I feel are most significant (follow &lt;a href="http://www.businessobjects.com/global/pdf/products/reporting/crystalreports/crxi_whats_new.pdf"&gt;this link&lt;/a&gt; to see all new features):&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dynamic Parameters:&lt;/span&gt;&lt;br /&gt;Crystal parameters can finally generate the list of default values at runtime.  The 'pick list' is no longer static.&lt;br /&gt;&lt;br /&gt;Crystal Reports allows you to generate the 'pick list' directly from your data. You can specify a field in the report and Crystal will query the database at runtime for current values. You can even create a command (SQL statement) to generate the list.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cascading Parameters:&lt;/span&gt;&lt;br /&gt;You can now have one parameter prompt determine the list in another prompt. For instance, when trying to select an employee you could first select a department. Then Crystal would show you a list that only included employees from that department.&lt;br /&gt;&lt;br /&gt;I think &lt;a href="http://www.businessobjects.com/"&gt;Business Objects&lt;/a&gt; was finally feeling the pressure from Microsoft's &lt;a href="http://www.microsoft.com/sql/reporting/default.asp"&gt;SQL Server Reporting Services&lt;/a&gt;.  I expect this new rivalry to really benefit developers as the business intelligence tools gain more and more features.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110858123291711676?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.businessobjects.com/products/reporting/crystalreports/default.asp' title='Crystal Reports XI Released'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110858123291711676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110858123291711676' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110858123291711676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110858123291711676'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/02/crystal-reports-xi-released.html' title='Crystal Reports XI Released'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110857952542654021</id><published>2005-02-16T13:42:00.000-05:00</published><updated>2005-02-16T13:45:25.430-05:00</updated><title type='text'>Microsoft Access Limitations</title><content type='html'>Many times in class students will ask when they should upgrade to a server product like SQL Server for their databases. Access does have limitations; this list can be useful when deciding whether to use Access or some other database.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Access table limitations:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Number of characters in a table name 64&lt;br /&gt;Number of characters in a field name 64&lt;br /&gt;Number of fields in a table 255&lt;br /&gt;Number of open tables 2048. The actual number may be less because of tables open internally by Microsoft Access.&lt;br /&gt;Table size 1 gigabyte&lt;br /&gt;Number of characters in a Text field 255&lt;br /&gt;Number of characters in a Memo field 65,535 when entering data through the user interface;&lt;br /&gt;1 gigabyte when entering data programmatically.&lt;br /&gt;Size of an OLE Object field 1 gigabyte&lt;br /&gt;Number of indexes in a table 32&lt;br /&gt;Number of fields in an index 10&lt;br /&gt;Number of characters in a validation message 255&lt;br /&gt;Number of characters in a validation rule 2,048&lt;br /&gt;Number of characters in a table or field description 255&lt;br /&gt;Number of characters in a record (excluding Memo and OLE Object fields) 2,000&lt;br /&gt;Number of characters in a field property setting 255&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;General Access limitations:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Access database (.mdb) file size 2 gigabytes. However, because your database can include linked tables in other files, its total size is limited only by available storage capacity.&lt;br /&gt;Number of objects in a database 32,768&lt;br /&gt;Modules (including forms and reports with the HasModule property set to True) 1,000&lt;br /&gt;Number of characters in an object name 64&lt;br /&gt;Number of characters in a password 14&lt;br /&gt;Number of characters in a user name or group name 20&lt;br /&gt;Number of concurrent users 255&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110857952542654021?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110857952542654021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110857952542654021' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110857952542654021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110857952542654021'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/02/microsoft-access-limitations.html' title='Microsoft Access Limitations'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110511584100697782</id><published>2005-01-07T11:37:00.000-05:00</published><updated>2005-01-07T11:37:21.006-05:00</updated><title type='text'>Technology News: Security: Microsoft Beta Seeks and Destroys Spyware</title><content type='html'>&lt;a href="http://www.technewsworld.com/story/39464.html"&gt;Technology News: Security: Microsoft Beta Seeks and Destroys Spyware&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Looks like we can expect even more software from Microsoft in the near future to be dealing with malicious software.  I expect this to be a huge step forward for Microsoft, simply because of the integration with the operating system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110511584100697782?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.technewsworld.com/story/39464.html' title='Technology News: Security: Microsoft Beta Seeks and Destroys Spyware'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110511584100697782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110511584100697782' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110511584100697782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110511584100697782'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/01/technology-news-security-microsoft.html' title='Technology News: Security: Microsoft Beta Seeks and Destroys Spyware'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110505021579172696</id><published>2005-01-06T17:21:00.000-05:00</published><updated>2005-01-06T17:23:35.793-05:00</updated><title type='text'>Microsoft SpyWare Beta</title><content type='html'>Microsoft has entered the SpyWare removal business!  If you have been looking for a good source for reliable spyware removal, I would suggest checking this out.  I just tried it and was very impressed with the speed, but I haven't really had a chance to compare what it found/didn't find to other leading removal programs.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/athome/security/spyware/software/default.mspx"&gt;Microsoft Spyware Beta&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110505021579172696?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110505021579172696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110505021579172696' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110505021579172696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110505021579172696'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2005/01/microsoft-spyware-beta.html' title='Microsoft SpyWare Beta'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110256493774400614</id><published>2004-12-08T23:02:00.000-05:00</published><updated>2004-12-08T23:03:12.533-05:00</updated><title type='text'>LogMeIn - Remote Access Software</title><content type='html'>&lt;a href="https://secure.logmein.com/go.asp?page=home"&gt;LogMeIn - Remote Access Software and Remote Control Software&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I LOVE free stuff.  As an MCT, I've had a free 1 year trial to &lt;a href="http://www.gotomypc.com"&gt;GoToMyPC &lt;/a&gt;- a really cool and easy to use remote access software.  I've had it installed on my home computer and can easily access it from ANY java enabled web browser.  Unfortunately, my year is almost up.  So, I've been looking for reasonable alternatives (&lt;a href="http://www.gotomypc.com"&gt;GoToMyPC&lt;/a&gt; is 20 bucks a month!!!).  I think I've found it ...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://www.logmein.com"&gt;LogMeIn&lt;/a&gt; took me all of 5 minutes to install and get configured ... and it seems to work very well - especially for free.  If you have the need to access your home computer from work or vice versa you should definitely check this out!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110256493774400614?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://secure.logmein.com/go.asp?page=home' title='LogMeIn - Remote Access Software'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110256493774400614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110256493774400614' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110256493774400614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110256493774400614'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/12/logmein-remote-access-software.html' title='LogMeIn - Remote Access Software'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110243524421258207</id><published>2004-12-07T11:00:00.000-05:00</published><updated>2004-12-07T11:03:31.553-05:00</updated><title type='text'>Threat profiliing Microsoft SQL Server</title><content type='html'>&lt;a href="http://www.nextgenss.com/papers/tp-SQL2000.pdf"&gt;Threat profiliing Microsoft SQL Server&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This document is an excellent overview of the security vulnerabilities with SQL Server.  This is a must read for any dba out there that is trying to decide which authentication mode to use.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Personally, I rarely recommend using SQL Server Authentication.  I've seen developer's tell their dba they MUST use SQL Server Authentication for programming - only because all the examples you see in books and online use "sa" with no password.  I am shocked at the number of systems I have seen setup this way.  Don't fall into this trap.  Take the extra time to learn how to use Windows Authentication via code.  This article should open your eyes to the real threats.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110243524421258207?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.nextgenss.com/papers/tp-SQL2000.pdf' title='Threat profiliing Microsoft SQL Server'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110243524421258207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110243524421258207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110243524421258207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110243524421258207'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/12/threat-profiliing-microsoft-sql-server.html' title='Threat profiliing Microsoft SQL Server'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110184428108497590</id><published>2004-11-30T14:51:00.000-05:00</published><updated>2004-12-01T07:17:28.030-05:00</updated><title type='text'>Pro SQL Server Reporting Services</title><content type='html'>&lt;a href=http://www.bookpool.com/.x/sm2farhver/sm/1590594231&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/21/1663/200/psrs.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Just got this new book on Reporting Services ... VERY good book.  If you are just starting out or need help with some good examples, I highly recommend this book.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110184428108497590?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110184428108497590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110184428108497590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110184428108497590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110184428108497590'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/11/pro-sql-server-reporting-services.html' title='Pro SQL Server Reporting Services'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110184363041251148</id><published>2004-11-30T14:36:00.000-05:00</published><updated>2004-11-30T14:40:30.430-05:00</updated><title type='text'>Stored procedure to find all instances of a field</title><content type='html'>As a report writer, database administrator, developer or user, it may be useful to know which table a field exists in.  Many third party vendors don't supply a data schema, making it difficult to query and build reports.  This stored procedure is a simple method of searching through all the table in the current database for a field that you specify.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;While you certainly cannot assume that because two tables have the same field that they are related, this will certainly be at least one tool you can use to help find those relationships.&lt;br /&gt;&lt;br /&gt;CREATE PROCEDURE dbo.sp_FieldInfo&lt;br /&gt;(&lt;br /&gt;@Column_Name nvarchar(384) = NULL&lt;br /&gt;)&lt;br /&gt; AS&lt;br /&gt;SELECT Object_Name(id) as 'Table Name',&lt;br /&gt;	rtrim(Name) as 'Field Name'&lt;br /&gt;FROM syscolumns&lt;br /&gt;WHERE name like @Column_Name&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;Then to call this proc:&lt;br /&gt;sp_fieldinfo employeeid&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110184363041251148?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110184363041251148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110184363041251148' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110184363041251148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110184363041251148'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/11/stored-procedure-to-find-all-instances.html' title='Stored procedure to find all instances of a field'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110132805072889474</id><published>2004-11-24T15:21:00.000-05:00</published><updated>2004-11-24T15:27:30.726-05:00</updated><title type='text'>Email attachment limits</title><content type='html'>What a pain it is when you want to email someone a large file only to find out Hotmail, Gmail, Yahoo, or any of the other numerous email providers don't support large attachments - most only allow up to 10mb.  10MB??  With today's focus on media (pictures, movies, songs, etc.) - how can I email a bunch of pictures in one big zip file?&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://www.yousendit.com"&gt;Yousendit&lt;/a&gt; has started a service which will allow you to email large attachments to somebody - up to 1 GIG!!  THAT'S more like it!  Using the &lt;a href="http://www.yousendit.com"&gt;yousendit&lt;/a&gt; website, you upload your file, enter the email addresses you want it sent to, a link is sent to them via email, they click on the link to download the file.  Your file is stored for seven days, then deleted.  VERY COOL!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110132805072889474?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.yousendit.com' title='Email attachment limits'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110132805072889474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110132805072889474' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110132805072889474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110132805072889474'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/11/email-attachment-limits.html' title='Email attachment limits'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110066727846101593</id><published>2004-11-16T23:54:00.000-05:00</published><updated>2004-11-16T23:54:38.463-05:00</updated><title type='text'>Office Developer Center: VBA Language References</title><content type='html'>&lt;a href="http://msdn.microsoft.com/office/downloads/vba/default.aspx"&gt;Office Developer Center: VBA Language References&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft has recently published the language references for all of the Office 2003 applications.  You can view them online or download them.&lt;br /&gt;&lt;br /&gt;If you are a VBA programmer, you should download these useful references.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110066727846101593?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/office/downloads/vba/default.aspx' title='Office Developer Center: VBA Language References'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110066727846101593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110066727846101593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110066727846101593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110066727846101593'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/11/office-developer-center-vba-language.html' title='Office Developer Center: VBA Language References'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110066675899372812</id><published>2004-11-16T23:45:00.000-05:00</published><updated>2004-11-16T23:45:58.993-05:00</updated><title type='text'>Blogging on Visio</title><content type='html'>&lt;a href="http://blogs.msdn.com/mailant"&gt;Blogging on Visio&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just found another great blog with very useful tips and techniques using Microsoft Visio.  For some strange reason, Visio seems to have very little documentation and there aren't many Visio books available.  If you see other Visio sites or have any books to recommend, please post in the comments - thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110066675899372812?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/mailant' title='Blogging on Visio'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110066675899372812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110066675899372812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110066675899372812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110066675899372812'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/11/blogging-on-visio.html' title='Blogging on Visio'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109959611860961247</id><published>2004-11-04T14:21:00.000-05:00</published><updated>2004-11-04T14:24:41.136-05:00</updated><title type='text'>Microsoft Photo Story 3 for Windows: make show-n-tell cool again</title><content type='html'>&lt;a href="http://www.microsoft.com/windowsxp/using/digitalphotography/photostory/default.mspx"&gt;Microsoft Photo Story 3 for Windows: make show-n-tell cool again&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are into photo editing or you share your photos with friends and family - you gotta check this out! Microsoft Photo Story 3 - it's free!!!&lt;br /&gt;&lt;br /&gt;Bring life into your favorite memories with Photo Story 3 for Windows by adding motion, effects, music, and more to your digital photos. Easily retouch your images with a single click and add slick-looking titles, or add dramatic pans and zooms that give your creations a professional finish, create a soundtrack - even record narration. Then enjoy the show. Start sharing your stories today!&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109959611860961247?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/windowsxp/using/digitalphotography/photostory/default.mspx' title='Microsoft Photo Story 3 for Windows: make show-n-tell cool again'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109959611860961247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109959611860961247' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109959611860961247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109959611860961247'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/11/microsoft-photo-story-3-for-windows.html' title='Microsoft Photo Story 3 for Windows: make show-n-tell cool again'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109959171550323920</id><published>2004-11-04T13:06:00.000-05:00</published><updated>2004-11-04T13:48:56.006-05:00</updated><title type='text'>Retrieve current username from windows using VBA</title><content type='html'>Ever needed to retrieve username of the person currently logged into Windows?  Using VBA in any of the Office products, the following code will return the current username.  Great for implementing your own security or auditing.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;    ' Makes sure all variables are dimensioned in each subroutine.&lt;br /&gt;     Option Explicit&lt;br /&gt;&lt;br /&gt;     ' Access the GetUserNameA function in advapi32.dll and&lt;br /&gt;     ' call the function GetUserName.&lt;br /&gt;     Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _&lt;br /&gt;     (ByVal lpBuffer As String, nSize As Long) As Long&lt;br /&gt;&lt;br /&gt;     ' Main routine to Dimension variables, retrieve user name&lt;br /&gt;     ' and display answer.&lt;br /&gt;     Sub Get_User_Name()&lt;br /&gt;&lt;br /&gt;     ' Dimension variables&lt;br /&gt;     Dim lpBuff As String * 25&lt;br /&gt;     Dim ret As Long, UserName As String&lt;br /&gt;&lt;br /&gt;     ' Get the user name minus any trailing spaces found in the name.&lt;br /&gt;     ret = GetUserName(lpBuff, 25)&lt;br /&gt;     UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)&lt;br /&gt;&lt;br /&gt;     ' Display the User Name&lt;br /&gt;     MsgBox UserName&lt;br /&gt;     End Sub&lt;br /&gt;			&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109959171550323920?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109959171550323920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109959171550323920' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109959171550323920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109959171550323920'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/11/retrieve-current-username-from-windows.html' title='Retrieve current username from windows using VBA'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109950885820937792</id><published>2004-11-03T14:07:00.000-05:00</published><updated>2004-11-04T11:34:23.283-05:00</updated><title type='text'>Library of Free Data Models</title><content type='html'>&lt;a href="http://www.databaseanswers.org/data_models/index.htm"&gt;Library of Free Data Models&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Reading the news groups today, I came across this little gem of a website.  If you are just starting out with database design or need help coming up with a data model, this website gives some EXCELLENT examples of well designed databases.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109950885820937792?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.databaseanswers.org/data_models/index.htm' title='Library of Free Data Models'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109950885820937792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109950885820937792' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109950885820937792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109950885820937792'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/11/library-of-free-data-models.html' title='Library of Free Data Models'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109881602286752850</id><published>2004-10-26T14:36:00.000-04:00</published><updated>2004-10-26T15:41:32.753-04:00</updated><title type='text'>Remind yourself to send attachments with Outlook</title><content type='html'>Ever forget to send an attachment to someone?  The following code will search your outgoing message text for the word "attach."  You can add as many words as you want.  The code needs to go in the ThisOutlookSession module in Outlook VBA; make sure macro security is not set to High.&lt;br /&gt;&lt;br /&gt;Private Sub Application_ItemSend(ByVal Item as Object, Cancel as Boolean)&lt;br /&gt;   If Instr(1, Item.Body, "attach", vbTextCompare) &gt; 0 Then&lt;br /&gt;      If Item.Attachments.Count = 0 Then &lt;br /&gt;          MsgBox "You forgot the attachment."&lt;br /&gt;          Cancel = True &lt;br /&gt;      End If &lt;br /&gt;   End If &lt;br /&gt;End Sub&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;For more examples of VBA using Outlook, check out Sue Mosher's site &lt;a href="http://outlookcode.com/"&gt;OutlookCode&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109881602286752850?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109881602286752850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109881602286752850' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109881602286752850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109881602286752850'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/remind-yourself-to-send-attachments.html' title='Remind yourself to send attachments with Outlook'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109880069305900823</id><published>2004-10-26T10:17:00.000-04:00</published><updated>2004-10-26T10:25:45.946-04:00</updated><title type='text'>Microsoft Access Performance Considerations</title><content type='html'>While Access is certainly NOT an enterprise solution for databases, it can certainly provide small to medium size businesses with a very valid solution for their database needs.  It's very common to read discussions about how Access cannot handle a multi-user environment or is too slow to use across the network.  Most of the time, I find there are major design flaws with the databases these people are using.  For most developer, there a few simple configurations and code tricks that can be used to attain reasonable performance from Access.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;First, it is VERY possible to create a successful client/server application using linked tables for up to 20 concurrent users.  But there are lots of details you must fix to be successful.  To get good performance, it's all about keeping the "wire" cool -- that is, making sure you minimize the amount of data you ask JET to fetch and the number of threads you have open to the file server.&lt;br /&gt;&lt;br /&gt;One of the most insidious "wire" eaters in Access 2000 and later is the silly Subdatasheet feature.  If you leave SubdatasheetName set to [Auto], Access opens an extra thread AND fetches the rows for any recordset built on the table.  You'll see a dramatic improvement in performance if you go to all the tables in the data file on the server and set this property for each table to [None].&lt;br /&gt;&lt;br /&gt;You must also design your application to minimize the data fetched to the client machine.  It is NOT true that JET on the client always does a full table scan.  If you apply a filter on an indexed field, JET first fetches the index blocks and then sends specific requests to the file server for the data pages it needs to satisfy the request.  So, it's important to both define appropriate indexes on your tables AND to NEVER request "all the tea in china" by opening a form or report unfiltered.&lt;br /&gt;&lt;br /&gt;You should design custom "query by form" forms into your application that prompt the user to focus on the records needed for the task at hand, and the QBF code should refuse to proceed unless the user specified at least one filter value.  You should also avoid any combo boxes that return more than about 200 rows.  Although Access does try to optimize the combo box row source by not fetching all the rows until the user types in the box or drops it down, fetching 1000+ rows in a combo box is a performance killer.  Most successful applications provide a way for the user to filter the combo first - for example, by selecting a product category that then filters the product name list.  One alternative is to write code in the Change event to lookup the closest value for the user as the user types the entry they want.  Single probes via DLookup are much more efficient than fetching the 1000+ row recordset.&lt;br /&gt;&lt;br /&gt;In applications that might release the last active thread by returning to an unbound switchboard, performance can be improved by keeping one recordset open in code as long as the application is running.  When you close the last bound form or report, Access releases the thread to the server - and if someone else has the data database open, it can take seconds to reopen the thread.  If you keep a thread open, other processes in the application will share the open thread.&lt;br /&gt;&lt;br /&gt;For reports, consider fetching the "unnormalized" report data to a local table and bind the report to that.  Depending on how your report is designed, the report engine can end up fetching all the data from the server four or five times before it displays the result.  Also, if you open a large report in Print Preview and the user pages back and forth in the result, the report engine will fetch the data several times again.&lt;br /&gt;&lt;br /&gt;Be advised that "upsizing" to SQL Server is not a panacea.  If your appication is badly designed for client/server, it won't run any better on SQL Server, and might actually run worse.  You should upsize only when you need to manage more than 200 meg of data, you need true security, or you need to support more than 20 simultaneous users.&lt;br /&gt;&lt;br /&gt;As for lookups - don't use them, at least not in table definitions.  Check out my &lt;a href="http://dbageek.blogspot.com/2004/10/access-web-evils-of-lookup-fields-in.html"&gt;previous discussion&lt;/a&gt; for more information.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109880069305900823?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109880069305900823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109880069305900823' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109880069305900823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109880069305900823'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/microsoft-access-performance.html' title='Microsoft Access Performance Considerations'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109879999803301612</id><published>2004-10-26T10:13:00.000-04:00</published><updated>2004-10-26T10:26:38.313-04:00</updated><title type='text'>The Access Web - The Evils of Lookup Fields in Tables</title><content type='html'>&lt;a href="http://www.mvps.org/access/lookupfields.htm"&gt;The Access Web - The Evils of Lookup Fields in Tables&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lookup fields are a hot topic for debate, that's for sure.  If you frequent Access newsgroups or discussion forums, you've probably seen at least one heated thread about whether developers should use lookup fields in their tables.  Personally, I tend to agree lookup fields should NOT be used.  The misunderstanding most people have regarding this stance is that they believe the functionality of lookup fields is lost.  Not true.  &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Unless you have a *rock solid* understanding of relational theory and the detailed structure of your database, it is a very bad idea. It gets you very little - it makes your table datasheet view more human readable, at the cost of concealing the actual contents of the table, and makes sorting and searching the table more difficult; it also makes it a tiny bit easier to put combo boxes on forms instead of textboxes.  But I advise people never to use this misfeature; just put the combo boxes on Forms, which is what you should be using to look at your data anyway. Table datasheets are for debugging; and as such they should display what they actually contain rather than concealing it.&lt;br /&gt;&lt;br /&gt;You can very easily store your tables with the actual data that they contain visible, and use a Query or a combo box or other control on a Form or Report to retrieve data from the linked ("lookup", if that's what you want to call it) table. What I object to is the perverse idea that you should define a lookup *FIELD* in your main table, and use it in your table datasheet. This accomplishes absolutely nothing other than to conceal the actual contents of your table, cause confusion about the relational structure of your data, and mislead users into trying to do data entry and searching in table datasheets instead of properly doing so on Forms.&lt;br /&gt;&lt;br /&gt;It's perfectly easy to put a Combo Box - a "lookup", if you want to call it that - on a Form. The table lookup wizard makes this the default, but at the cost of concealing the actual contents of your table; encouraging you to use table datasheets for data entry, almost never a good idea; creating a new relationship between the main table and the lookup table even if such a relationship already exists; and adding redundant indexes to your table. If you leave the tables alone, and use a Form to do your data entry, you get the best of both worlds. Use table datasheets for debugging and design ONLY, and use the Form and the rich kit of tools that the Form provides for your data entry.&lt;br /&gt;&lt;br /&gt;For more detailed information, follow this articles link to the MVPs Access site.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109879999803301612?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.mvps.org/access/lookupfields.htm' title='The Access Web - The Evils of Lookup Fields in Tables'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109879999803301612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109879999803301612' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109879999803301612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109879999803301612'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/access-web-evils-of-lookup-fields-in.html' title='The Access Web - The Evils of Lookup Fields in Tables'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109854767629632848</id><published>2004-10-23T13:07:00.000-04:00</published><updated>2004-10-23T12:28:36.733-04:00</updated><title type='text'>Filter a report using a form's filter</title><content type='html'>There is a relatively simple way of filtering a report by using the filter property of a form. This allows the user to filter any field on the form and then print the displayed records in a report. Now, instead of creating complex queries or multiple controls on a criteria form, you can let the users decide how to filter the report.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/img/21/1663/640/form%20filtered.2.jpg"&gt;&lt;img style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; MARGIN: 2px; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid" src="http://photos1.blogger.com/img/21/1663/200/form%20filtered.2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This form is based on the customers table from the Northwind sample database. The country field has been filtered to show only those customers located in Germany.&lt;br /&gt;&lt;br /&gt;Now, place the following code behind the Preview Report button's On Click event:&lt;br /&gt;DoCmd.OpenReport "rptCustomers", acPreview, , IIf(Me.FilterOn = True, Me.Filter, "")&lt;br /&gt;&lt;br /&gt;Now, once the user clicks on the the Preview Report button, the report uses the filter property of the form, if a filter has been set.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://photos1.blogger.com/img/21/1663/640/report.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/21/1663/200/report.jpg'&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;br /&gt;This report is now filtered using the same filter used on the form.&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109854767629632848?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109854767629632848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109854767629632848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109854767629632848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109854767629632848'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/filter-report-using-forms-filter.html' title='Filter a report using a form&apos;s filter'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109821090104876261</id><published>2004-10-19T14:35:00.000-04:00</published><updated>2004-10-19T14:35:52.306-04:00</updated><title type='text'>Lookout email search for Microsoft Outlook</title><content type='html'>&lt;a href="http://www.lookoutsoft.com/Lookout/"&gt;Lookout email search for Microsoft Outlook - Lookout Software&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ok, one more on the software side of things - search Outlook for all those emails, contacts, and calendar items you thought you had lost!&lt;br /&gt;&lt;br /&gt;You can use Lookout to search your:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Email messages&lt;/li&gt;   &lt;li&gt;Contacts, calendar, notes, tasks, etc.&lt;/li&gt;   &lt;li&gt;Data from exchange, POP, IMAP, PST files, Public Folders&lt;/li&gt;   &lt;li&gt;Files on your computer or other computers&lt;/li&gt;   &lt;li&gt;... your wife's purse (okay, not true)&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;This software was recently &lt;em&gt;acquired &lt;/em&gt;by Microsoft and is tightly integrated with Outlook.  Definitely worth checking out if you live and breath Outlook.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109821090104876261?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.lookoutsoft.com/Lookout/' title='Lookout email search for Microsoft Outlook'/><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109821090104876261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109821090104876261' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109821090104876261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109821090104876261'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/lookout-email-search-for-microsoft.html' title='Lookout email search for Microsoft Outlook'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109820854472611378</id><published>2004-10-19T13:52:00.000-04:00</published><updated>2004-10-19T13:55:44.726-04:00</updated><title type='text'>Google Desktop Beta</title><content type='html'>How many times have you thought it would be great to be able to search your desktop as easily as Google searching the web?&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Find your email, files, web history and chats instantly&lt;/li&gt;   &lt;li&gt;View web pages you've seen, even when you're not online&lt;/li&gt;   &lt;li&gt;Search as easily as you do on Google&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;&lt;a href="http://desktop.google.com/"&gt;Google Desktop Beta&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109820854472611378?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109820854472611378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109820854472611378' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109820854472611378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109820854472611378'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/google-desktop-beta.html' title='Google Desktop Beta'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109820824419646037</id><published>2004-10-19T13:26:00.000-04:00</published><updated>2004-10-19T13:57:10.790-04:00</updated><title type='text'>Ad Ware Removal and Detection</title><content type='html'>Lately, spam has taken a back seat to Ad Ware. What is Ad Ware and Spyware? Spyware and Adware is software made by publishers that allow them to snoop on your browsing activity, invade your privacy, and flood you with those horrible popups. If you are like most users on the internet, chances are you are probably infected with these applications. Unfortunately, most &lt;span style="font-style: italic;"&gt;novice &lt;/span&gt;users don't know how to remove these pesky softwares. I've compiled a list of the software I recommend that can help you rid your computer of Ad Ware and Spyware.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;While these programs are free, Ad-Aware has a professional version which does real-time monitoring - sort of like most firewall software. The free version is sufficient, but the professional version has some great tools that make it worth the upgrade price.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/app/www.lavasoftusa.com/software/adaware"&gt;Ad-Aware&lt;/a&gt;&lt;br /&gt;&lt;a href="http://spybot.safer-networking.de/en/index.html"&gt;Spybot&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.spywareinfo.com/%7Emerijn/index.html"&gt;HijackThis&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These three are consistently the best reviewed in their categories, Spybot being the most prevalent. HijackThis uses a slightly different approach than Ad-Aware and Spybot. HijackThis scans your hard drives and registry for commonly used attack methods - not specific URLs and registry entrys like the other two. I would recommend loading all three. Several articles I have read indicate that Spybot and Ad-Aware will detect some entries the other doesn't.&lt;br /&gt;&lt;br /&gt;More information and reviews can be obtained by reading:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://reviews.cnet.com/4520-3513_7-5134965-1.html?tag=promo2"&gt;CNET Spyware Reviews&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spybot.safer-networking.de/en/spybotsd/index.html"&gt;Spybot Overview&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109820824419646037?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109820824419646037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109820824419646037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109820824419646037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109820824419646037'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/ad-ware-removal-and-detection.html' title='Ad Ware Removal and Detection'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109811847483990854</id><published>2004-10-18T13:54:00.000-04:00</published><updated>2004-10-18T13:06:20.406-04:00</updated><title type='text'>What is XML?</title><content type='html'>&lt;a href="http://office.microsoft.com/en-us/assistance/HA011064961033.aspx"&gt;Microsoft Office Assistance: XML for the uninitiated&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;XML for the uninitiated&lt;br /&gt;&lt;br /&gt;A relatively common question in class these days - what is XML?  Microsoft has provided support for it in most of their products, including, Office and SQL Server.  XML really has revolutionized data distribution across the web.  This article gives a very good overview in non techy terms.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109811847483990854?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109811847483990854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109811847483990854' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109811847483990854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109811847483990854'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/what-is-xml.html' title='What is XML?'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109794638489416047</id><published>2004-10-16T13:06:00.000-04:00</published><updated>2004-10-16T13:15:20.510-04:00</updated><title type='text'>Free Virus Protection</title><content type='html'>One of the most common "excuses" I hear about not using virus protection is that it costs too much.  After you buy the software, there are usually subscriptions you must pay for to keep your software up to date - preventing new viruses from attacking your computer.  I have found this &lt;a href="http://free.grisoft.com/freeweb.php/doc/1/lng/us/tpl/v5"&gt;AVG Anti-virus&lt;/a&gt; to be one of the best virus protection programs available - and it's &lt;strong&gt;free&lt;/strong&gt; for personal use.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109794638489416047?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109794638489416047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109794638489416047' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109794638489416047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109794638489416047'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/free-virus-protection.html' title='Free Virus Protection'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109794274322415536</id><published>2004-10-16T13:05:00.000-04:00</published><updated>2004-10-16T13:12:56.290-04:00</updated><title type='text'>What is RSS?</title><content type='html'>RSS is quickly becoming a new standard for reading news sites, blogs and other syndicated web sites.  It's like a customized news reader.  &lt;a href="http://reviews.cnet.com/4520-10088_7-5143460.html?tag=rss"&gt;Click here&lt;/a&gt; to read an article on CNET that gives a good overview of RSS, how to use it, and what software you'll need to get started.  Don't forget ... most blogs have a RSS feed.  Add the link below to your RSS reader to receive the feed for this site.&lt;br /&gt;&lt;br /&gt;http://dbageek.blogspot.com/atom.xml&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;I have found &lt;a href="http://www.pluck.com/"&gt;Pluck&lt;/a&gt; to be the best RSS reader.  Best of all, it's FREE!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109794274322415536?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109794274322415536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109794274322415536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109794274322415536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109794274322415536'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/what-is-rss.html' title='What is RSS?'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109793812655616212</id><published>2004-10-16T10:45:00.000-04:00</published><updated>2005-03-25T13:56:26.406-05:00</updated><title type='text'>Recommended Books</title><content type='html'>Here is a list of books I recommend for database development.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;span style="font-weight: bold;"&gt;Access&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/4feh25qhmi/sm/0782140114"&gt;Access 2002 Developer's Handbook&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/4feh25sp6n/sm/1572319348"&gt;Running Access 2000&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/ad4t3tsyin/sm/0735615136"&gt;Access Inside and Out2000&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/ad4t3tr9t0/sm/0764559036"&gt;Access 2003 VBA Programmer's Reference&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/4xcxj54cd6/sm/1590591267"&gt;Real World Access Database Protection and Security&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bookpool.com/ss?qs=0735620393&amp;x=38&amp;amp;y=9"&gt;Building Microsoft Access Applications&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;  &lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SQL Server and Programming&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/4feh256y2r/sm/0201433362"&gt;SQL Queries for Mere Mortals&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/ad4t3tprjr/sm/0735611297"&gt;Microsoft SQL Server Administrator's Pocket Consultant&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/ad4t3tmpmm/sm/0764543687"&gt;Professional SQL Server 2000 DTS&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/4feh2532im/sm/0735609985"&gt;Inside SQL Server&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/4feh259sh1/sm/0764568787"&gt;SQL Server Reporting Services&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bookpool.com/.x/4xcxj5zlnm/sm/1590594231"&gt;Pro SQL Server Reporting Services&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bookpool.com/sm/0201700468"&gt;The Guru's Guide to SQL Server Stored Procedures, XML and HTML&lt;/a&gt;&lt;br /&gt; &lt;/li&gt;  &lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Crystal Reports&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.bookpool.com/.x/4feh25ef90/sm/0072231661"&gt;Crystal Reports 10&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0974953652/qid=1095860405/sr=8-2/ref=sr_8_xs_ap_i2_xgl14/002-3770525-3959206?v=glance&amp;s=books&amp;amp;n=507846"&gt;Crystal Reports .NET Programming&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bookpool.com/sm/0072257849"&gt;CRCP Crystal Reports Certified Profession All-in-one Exam Guide&lt;/a&gt;&lt;/li&gt;  &lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;XML&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.ineasysteps.com/books/?1840781246"&gt;XML In Easy Steps&lt;/a&gt; - Hard to find (only at Barnes &amp;amp; Noble stores - not online)&lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109793812655616212?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109793812655616212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109793812655616212' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109793812655616212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109793812655616212'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/recommended-books.html' title='Recommended Books'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109781095565765426</id><published>2004-10-14T23:18:00.000-04:00</published><updated>2005-10-17T08:49:02.026-04:00</updated><title type='text'>Access Articles</title><content type='html'>Below are a list of useful links for Access classes by level, as well as, general Access articles.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://c85.cemi.rssi.ru/access/Books/A97ExSol/contents.htm"&gt;Access 97 Expert Solutions&lt;/a&gt; - a little dated, but still very useful information; this is an online book.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Access Level 3:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.everythingaccess.com/tutorials.asp?ID=0"&gt;Guide to Access database corruption&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;General Microsoft Access tips, tricks, and articles.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/10/microsoft-access-performance.html"&gt;Access Performance Considerations&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.granite.ab.ca/access/performancefaq.htm"&gt;More Performance Tips&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/10/access-web-evils-of-lookup-fields-in.html"&gt;Should lookup fields be used?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/10/filter-report-using-forms-filter.html"&gt;Filter report using form's filter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/10/override-shift-key-in-access.html"&gt;Override shift key in Access&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/09/disable-prompts-when-sending-outlook.html"&gt;Disable prompts when sending Outlook&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/09/green-bar-reporting-in-access.html"&gt;Green-bar reporting in Access&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/09/more-complete-datediff-function.html"&gt;A more complete datediff function&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/09/calculating-first-and-last-day-of.html"&gt;Calculating first and last day of the month&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/09/commonly-used-naming-conventions.html"&gt;Commonly used naming conventions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/11/retrieve-current-username-from-windows.html"&gt;Retrieve  current username from windows&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/09/deleting-all-data-from-access-database.html"&gt;Deleting all data from Access database&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2005/02/microsoft-access-limitations.html"&gt;Microsoft Access technical limitations&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2005/02/add-bullets-to-access-reports.html"&gt;Add bullets to Access reports&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2005/02/retrieving-random-records-with-query.html"&gt;Retrieving random records with a query&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2005/02/basing-one-combo-box-on-another.html"&gt;Basing one combo box off another&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/sql/accessmigration.asp"&gt;Migrating Access Databases to SQL Server&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2005/08/recover-corrupt-access-databases.html"&gt;Recover corrupt Access databases&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2005/08/access-add-ins.html"&gt;Access Add-ins&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109781095565765426?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109781095565765426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109781095565765426' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109781095565765426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109781095565765426'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/access-articles.html' title='Access Articles'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109698733324090415</id><published>2004-10-05T10:25:00.000-04:00</published><updated>2004-10-05T10:43:31.386-04:00</updated><title type='text'>Override the Shift key in Access</title><content type='html'>Using the startup properties in Access, the database window can be hidden when a database is open.  This is usually turned on for most production databases.  When the developer needs to make changes, the shift key is used when opening the database to override all startup options.  This is a handy feature, but also allows other not so savy users to do the same.  The AllowByPassKey property can be used to "password" protect this feature by enabling or disabling the shift key.  However, because of the potential of locking yourself out of a database, Microsoft has not created this property by default.&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;The AllowByPassKey property is explained in detail in the VBA help file that comes with Access.  However, the sample code provided in the help files does not use the fourth DDL argument when making a call to CreateProperty. This means that anyone who can open the database can programmatically reset the AllowBypassKey value.&lt;br /&gt;&lt;br /&gt;Therefore, in order to restrict the change capabilities to only the Admins, set the fourth argument to True when calling CreateProperty. And don't lock yourself out!&lt;br /&gt;&lt;br /&gt;Below is the code that can be used to create this property and some comments on how to use it.  Check out the help file for more detail.&lt;br /&gt;&lt;br /&gt;'*********** Code Start ***********&lt;br /&gt;'This code was originally written by Michael Kaplan.&lt;br /&gt;'It is not to be altered or distributed,&lt;br /&gt;'except as part of an application.&lt;br /&gt;'You are free to use it in any application,&lt;br /&gt;'provided the copyright notice is left unchanged.&lt;br /&gt;'&lt;br /&gt;'Code Courtesy of&lt;br /&gt;'Michael Kaplan&lt;br /&gt;'&lt;br /&gt;Function ChangePropertyDdl(stPropName As String, _&lt;br /&gt; PropType As DAO.DataTypeEnum, vPropVal As Variant) _&lt;br /&gt; As Boolean&lt;br /&gt; ' Uses the DDL argument to create a property&lt;br /&gt; ' that only Admins can change.&lt;br /&gt; '&lt;br /&gt; ' Current CreateProperty listing in Access help&lt;br /&gt; ' is flawed in that anyone who can open the db&lt;br /&gt; ' can reset properties, such as AllowBypassKey&lt;br /&gt; '&lt;br /&gt;    On Error GoTo ChangePropertyDdl_Err&lt;br /&gt;&lt;br /&gt;    Dim db As DAO.Database&lt;br /&gt;    Dim prp As DAO.Property&lt;br /&gt;&lt;br /&gt;    Const conPropNotFoundError = 3270&lt;br /&gt;&lt;br /&gt;    Set db = CurrentDb&lt;br /&gt;    ' Assuming the current property was created without&lt;br /&gt;    ' using the DDL argument. Delete it so we can&lt;br /&gt;    ' recreate it properly&lt;br /&gt;    db.Properties.Delete stPropName&lt;br /&gt;    Set prp = db.CreateProperty(stPropName, _&lt;br /&gt;     PropType, vPropVal, True)&lt;br /&gt;    db.Properties.Append prp&lt;br /&gt;&lt;br /&gt;    ' If we made it this far, it worked!&lt;br /&gt;    ChangePropertyDdl = True&lt;br /&gt;&lt;br /&gt;ChangePropertyDdl_Exit:&lt;br /&gt;    Set prp = Nothing&lt;br /&gt;    Set db = Nothing&lt;br /&gt;    Exit Function&lt;br /&gt;&lt;br /&gt;ChangePropertyDdl_Err:&lt;br /&gt;    If Err.Number = conPropNotFoundError Then&lt;br /&gt;        ' We can ignore when the prop does not exist&lt;br /&gt;        Resume Next&lt;br /&gt;    End If&lt;br /&gt;    Resume ChangePropertyDdl_Exit&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Function ChangeProperty(strPropName As String, _&lt;br /&gt; varPropType As Variant, varPropValue As Variant) As Integer&lt;br /&gt;' The current listing in Access help file which will&lt;br /&gt;' let anyone who can open the db delete/reset any&lt;br /&gt;' property created by using this function, since&lt;br /&gt;' the call to CreateProperty doesn't use the DDL&lt;br /&gt;' argument&lt;br /&gt;'&lt;br /&gt; Dim dbs As Database, prp As Property&lt;br /&gt; Const conPropNotFoundError = 3270&lt;br /&gt;&lt;br /&gt; Set dbs = CurrentDb&lt;br /&gt; On Error GoTo Change_Err&lt;br /&gt; dbs.Properties(strPropName) = varPropValue&lt;br /&gt; ChangeProperty = True&lt;br /&gt;&lt;br /&gt;Change_Bye:&lt;br /&gt; Exit Function&lt;br /&gt;&lt;br /&gt;Change_Err:&lt;br /&gt; If Err = conPropNotFoundError Then ' Property not found.&lt;br /&gt;  Set prp = dbs.CreateProperty(strPropName, _&lt;br /&gt;        varPropType, varPropValue)&lt;br /&gt;  dbs.Properties.Append prp&lt;br /&gt;  Resume Next&lt;br /&gt; Else&lt;br /&gt;  ' Unknown error.&lt;br /&gt;  ChangeProperty = False&lt;br /&gt;  Resume Change_Bye&lt;br /&gt; End If&lt;br /&gt;End Function&lt;br /&gt;' *********** Code End ***********&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109698733324090415?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109698733324090415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109698733324090415' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109698733324090415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109698733324090415'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/override-shift-key-in-access.html' title='Override the Shift key in Access'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109694144474319057</id><published>2004-10-04T21:57:00.000-04:00</published><updated>2004-10-04T21:59:42.473-04:00</updated><title type='text'>What's best for DBAs? GUI or T-SQL commands? </title><content type='html'>&lt;a href="http://vyaskn.tripod.com/sql_enterprise_manager_or_t-sql.htm"&gt;What's best for DBAs? GUI or T-SQL commands?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Do SQL Server DBAs really need to know the T-SQL commands for doing day to day administrative tasks?  This article is one of the best explanations I've found that discusses the benefits of learning T-SQL to accomplish administrative tasks.  More and more DBAs are becoming "lazy" and use the GUI that Microsoft provides, SQL Server Enterprise Manager.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109694144474319057?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109694144474319057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109694144474319057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109694144474319057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109694144474319057'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/10/whats-best-for-dbas-gui-or-t-sql.html' title='What&apos;s best for DBAs? GUI or T-SQL commands? '/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109643095782985830</id><published>2004-09-29T01:05:00.000-04:00</published><updated>2004-09-29T00:10:13.490-04:00</updated><title type='text'>Disable prompts when sending (Outlook) email via Access</title><content type='html'>If you have ever tried to automate the process of sending an email from within Access using VBA code, you may have seen this error message:&lt;br /&gt;&lt;br /&gt;"A program is trying to automatically send e-mail on&lt;br /&gt;your behalf.  Do you want to Allow this?"&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;It makes you wait &amp; then you HAVE to hit the Yes button for it to send the Email.&lt;br /&gt;&lt;br /&gt;A SOLUTION that should work ...&lt;br /&gt;&lt;br /&gt;Dim objOutlook As New Outlook.Application&lt;br /&gt;Dim objMail As MailItem&lt;br /&gt;&lt;br /&gt;Set objOutlook = New Outlook.Application&lt;br /&gt;Set objMail = objOutlook.CreateItem(olMailItem)&lt;br /&gt;&lt;br /&gt;EmailAddr = "xxx@AOL.com"&lt;br /&gt;CopyEmailAddr = "yyy@AOL.com"&lt;br /&gt;Subj = "Test subjject"&lt;br /&gt;Body = "Body"&lt;br /&gt;PathName = "C:\test.txt"&lt;br /&gt;&lt;br /&gt;With objMail&lt;br /&gt;    .To = EmailAddr&lt;br /&gt;    .cc = CopyEmailAddr &lt;br /&gt;    .Subject = Subj&lt;br /&gt;    .Body = Body&lt;br /&gt;    .NoAging = True&lt;br /&gt;    .Attachments.Add PathName&lt;br /&gt;    .Display&lt;br /&gt;End With&lt;br /&gt;&lt;br /&gt;'****** Send the email without prompts  *******&lt;br /&gt;SendKeys "%{s}", True&lt;br /&gt;'****************************************************&lt;br /&gt;&lt;br /&gt;Set objMail = Nothing&lt;br /&gt;Set objOutlook = Nothing&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109643095782985830?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109643095782985830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109643095782985830' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109643095782985830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109643095782985830'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/disable-prompts-when-sending-outlook.html' title='Disable prompts when sending (Outlook) email via Access'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109634355107967229</id><published>2004-09-27T23:51:00.000-04:00</published><updated>2004-09-27T23:52:31.080-04:00</updated><title type='text'>Use Microsoft Jet's ShowPlan to write more efficient queries</title><content type='html'>&lt;a href="http://builder.com.com/5100-6388-5064388.html"&gt;Use Microsoft Jet's ShowPlan to write more efficient queries&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While reading some posts on the Access newsgroup, I came across this article about optimizing your Access queries.  One of the most powerful features of SQL Server is being able to view the execution plan of a query.  With this relatively simple registry hack, you can accomplish a very similar feature in Access, by forcing Access to export the execution plan to a text file.&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109634355107967229?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109634355107967229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109634355107967229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109634355107967229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109634355107967229'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/use-microsoft-jets-showplan-to-write.html' title='Use Microsoft Jet&apos;s ShowPlan to write more efficient queries'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109634120135212862</id><published>2004-09-27T23:07:00.000-04:00</published><updated>2004-10-16T18:25:20.986-04:00</updated><title type='text'>Green bar reporting in Access</title><content type='html'>Many accounting style reports need help to be more readable.  Ever used a ruler on a landscape report to make sure you read data from the correct row?  Remember the old green bar reports from mainframes that made this easier?  Well, you can accomplish the same type of layout on an Access report. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Make sure the BackStyle of each control is Transparent.&lt;br /&gt;&lt;br /&gt;Code the Detail Format event:&lt;br /&gt;&lt;br /&gt;If Me.Section(0).BackColor = vbWhite Then&lt;br /&gt;    Me.Section(0).BackColor = 12632256   ' gray&lt;br /&gt;Else&lt;br /&gt;    Me.Section(0).BackColor = vbWhite&lt;br /&gt;End If&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109634120135212862?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109634120135212862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109634120135212862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109634120135212862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109634120135212862'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/green-bar-reporting-in-access.html' title='Green bar reporting in Access'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109629281378916366</id><published>2004-09-27T09:46:00.000-04:00</published><updated>2004-10-16T18:26:17.906-04:00</updated><title type='text'>Access your bookmarks online</title><content type='html'>&lt;a href="http://www.mybookmarks.com/"&gt;MyBookmarks.com - Access your bookmarks online anytime, anywhere&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've always hated having to manage bookmarks at home, at work, on my laptop ... it gets very frustrating not having all my bookmarks on all my machines.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Now, with mybookmarks, I have a cool little icon in my system tray that I can use to quickly add any site to my bookmarks - on any machine.  For example, if I'm at work and I find a cool site I want to bookmark, I add it to mybookmarks then when I get home or use my laptop, I can syncronize that new bookmark to that machine.  Now I don't have to email myself links all the time.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109629281378916366?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109629281378916366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109629281378916366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109629281378916366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109629281378916366'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/access-your-bookmarks-online.html' title='Access your bookmarks online'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109629271796571945</id><published>2004-09-27T09:44:00.000-04:00</published><updated>2004-09-27T09:45:17.966-04:00</updated><title type='text'>Microsoft Announces 2006 Target Date for Windows "Longhorn"</title><content type='html'>&lt;a href="http://www.microsoft.com/presspass/press/2004/Aug04/08-27Target2006PR.asp"&gt;Microsoft Announces 2006 Target Date for Broad Availability Of Windows "Longhorn" Client Operating System&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft has had to re-prioritize many many times in the past several months, deciding which features will be included in the upcoming release of Windows.  Longhorn (the code name for the next version of Windows) was supposed to be one of the most aggressive releases Microsoft has released; and it still might be, just not quite as feature laden as initially planned.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;One of the biggest changes will be the new file system, WinFS.  The current Windows file system, NTFS, is quickly becoming outdated by other operating systems (Linux, Novel, etc.).  Another key feature will be the integrated mobile device support.  As a huge proponent of Pocket PCs, I think this is a great move by Microsoft.  One of the biggest complaints users of Pocket PCs have is the syncronization software called Activesync.  I'm hoping that having the mobile support integrated into the operating system will fix many of the bugs that have plagued Activesync for years.&lt;br /&gt;&lt;br /&gt;Only two years to go ...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109629271796571945?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109629271796571945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109629271796571945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109629271796571945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109629271796571945'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/microsoft-announces-2006-target-date.html' title='Microsoft Announces 2006 Target Date for Windows &quot;Longhorn&quot;'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109625523631494516</id><published>2004-09-26T23:20:00.000-04:00</published><updated>2004-09-26T23:44:12.526-04:00</updated><title type='text'>A more complete datediff function</title><content type='html'>   &lt;meta equiv="Content-Type" content="text/html; charset=us-ascii"&gt; &lt;meta name="Generator" content="Microsoft Word 11 (filtered medium)"&gt; &lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{margin:0in; 	margin-bottom:.0001pt; 	font-size:12.0pt; 	font-family:"Times New Roman";} a:link, span.MsoHyperlink 	{color:blue; 	text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed 	{color:purple; 	text-decoration:underline;} span.EmailStyle17 	{mso-style-type:personal-compose; 	font-family:Arial; 	color:windowtext;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;    &lt;div class="Section1"&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;One of the more common questions I receive in my Access classes is how to display the difference between two dates.  VBA has always had the datediff function; however, this function only allows you to display the difference with one date part (year, month, or day – not all three together).  So, instead of seeing the difference as 1 year 2 months and 3 days, you can choose one date part.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;br /&gt;&lt;span class="fullpost"&gt;I highly recommend reading newsgroups for valuable information about programming (use msnews.microsoft.com if you don’t have a news server available).  Microsoft MVPs (most valuable professionals) constantly post and answer questions in these groups.  Douglas Steele is one of the MVPs which posts quite often and has some very useful code samples on his website.  &lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;br /&gt;One of the functions, posted here, lets you calculate a "precise" difference between two date/time values.&lt;br /&gt;&lt;br /&gt;You specify how you want the difference between two date/times to be calculated by providing which of ymdhns (for years, months, days, hours, minutes and seconds) you want calculated.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;?Diff2Dates("y", #06/01/1998#, #06/26/2002#)&lt;br /&gt;4 years&lt;br /&gt;?Diff2Dates("ymd", #06/01/1998#, #06/26/2002#)&lt;br /&gt;4 years 25 days&lt;br /&gt;?Diff2Dates("ymd", #06/01/1998#, #06/26/2002#, True)&lt;br /&gt;4 years 0 months 25 days&lt;br /&gt;?Diff2Dates("d", #06/01/1998#, #06/26/2002#)&lt;br /&gt;1486 days&lt;br /&gt;&lt;br /&gt;?Diff2Dates("h", #01/25/2002 01:23:01#, #01/26/2002 20:10:34#)&lt;br /&gt;42 hours&lt;br /&gt;?Diff2Dates("hns", #01/25/2002 01:23:01#, #01/26/2002 20:10:34#)&lt;br /&gt;42 hours 47 minutes 33 seconds&lt;br /&gt;?Diff2Dates("dhns", #01/25/2002 01:23:01#, #01/26/2002 20:10:34#)&lt;br /&gt;1 day 18 hours 47 minutes 33 seconds&lt;br /&gt;&lt;br /&gt;?Diff2Dates("ymd",#12/31/1999#,#1/1/2000#)&lt;br /&gt;1 day&lt;br /&gt;?Diff2Dates("ymd",#1/1/2000#,#12/31/1999#)&lt;br /&gt;-1 day&lt;br /&gt;?Diff2Dates("ymd",#1/1/2000#,#1/2/2000#)&lt;br /&gt;1 day&lt;br /&gt;&lt;br /&gt;'***************** Code Start **************&lt;br /&gt;Public Function Diff2Dates(Interval As String, Date1 As Date, Date2 As Date, _&lt;br /&gt;Optional ShowZero As Boolean = False) As Variant&lt;br /&gt;'Author:    © Copyright 2001 Pacific Database Pty Limited&lt;br /&gt;'           Graham R Seach MCP MVP gseach@pacificdb.com.au&lt;br /&gt;'           Phone: +61 2 9872 9594  Fax: +61 2 9872 9593&lt;br /&gt;'           This code is freeware. Enjoy...&lt;br /&gt;'           (*) Amendments suggested by Douglas J. Steele MVP&lt;br /&gt;'&lt;br /&gt;'Description:   This function calculates the number of years,&lt;br /&gt;'               months, days, hours, minutes and seconds between&lt;br /&gt;'               two dates, as elapsed time.&lt;br /&gt;'&lt;br /&gt;'Inputs:    Interval:   Intervals to be displayed (a string)&lt;br /&gt;'           Date1:      The lower date (see below)&lt;br /&gt;'           Date2:      The higher date (see below)&lt;br /&gt;'           ShowZero:   Boolean to select showing zero elements&lt;br /&gt;'&lt;br /&gt;'Outputs:   On error: Null&lt;br /&gt;'           On no error: Variant containing the number of years,&lt;br /&gt;'               months, days, hours, minutes &amp; seconds between&lt;br /&gt;'               the two dates, depending on the display interval&lt;br /&gt;'               selected.&lt;br /&gt;'           If Date1 is greater than Date2, the result will&lt;br /&gt;'               be a negative value.&lt;br /&gt;'           The function compensates for the lack of any intervals&lt;br /&gt;'               not listed. For example, if Interval lists "m", but&lt;br /&gt;'               not "y", the function adds the value of the year&lt;br /&gt;'               component to the month component.&lt;br /&gt;'           If ShowZero is True, and an output element is zero, it&lt;br /&gt;'               is displayed. However, if ShowZero is False or&lt;br /&gt;'               omitted, no zero-value elements are displayed.&lt;br /&gt;'               For example, with ShowZero = False, Interval = "ym",&lt;br /&gt;'               elements = 0 &amp; 1 respectively, the output string&lt;br /&gt;'               will be "1 month" - not "0 years 1 month".&lt;br /&gt;&lt;br /&gt;On Error GoTo Err_Diff2Dates&lt;br /&gt;&lt;br /&gt;   Dim booCalcYears As Boolean&lt;br /&gt;   Dim booCalcMonths As Boolean&lt;br /&gt;   Dim booCalcDays As Boolean&lt;br /&gt;   Dim booCalcHours As Boolean&lt;br /&gt;   Dim booCalcMinutes As Boolean&lt;br /&gt;   Dim booCalcSeconds As Boolean&lt;br /&gt;   Dim booSwapped As Boolean&lt;br /&gt;   Dim dtTemp As Date&lt;br /&gt;   Dim intCounter As Integer&lt;br /&gt;   Dim lngDiffYears As Long&lt;br /&gt;   Dim lngDiffMonths As Long&lt;br /&gt;   Dim lngDiffDays As Long&lt;br /&gt;   Dim lngDiffHours As Long&lt;br /&gt;   Dim lngDiffMinutes As Long&lt;br /&gt;   Dim lngDiffSeconds As Long&lt;br /&gt;   Dim varTemp As Variant&lt;br /&gt;&lt;br /&gt;   Const INTERVALS As String = "dmyhns"&lt;br /&gt;&lt;br /&gt;'Check that Interval contains only valid characters&lt;br /&gt;   Interval = LCase$(Interval)&lt;br /&gt;   For intCounter = 1 To Len(Interval)&lt;br /&gt;      If InStr(1, INTERVALS, Mid$(Interval, intCounter, 1)) = 0 Then&lt;br /&gt;         Exit Function&lt;br /&gt;      End If&lt;br /&gt;   Next intCounter&lt;br /&gt;&lt;br /&gt;'Check that valid dates have been entered&lt;br /&gt;   If Not (IsDate(Date1)) Then Exit Function&lt;br /&gt;   If Not (IsDate(Date2)) Then Exit Function&lt;br /&gt;&lt;br /&gt;'If necessary, swap the dates, to ensure that&lt;br /&gt;'Date1 is lower than Date2&lt;br /&gt;   If Date1 &gt; Date2 Then&lt;br /&gt;      dtTemp = Date1&lt;br /&gt;      Date1 = Date2&lt;br /&gt;      Date2 = dtTemp&lt;br /&gt;      booSwapped = True&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   Diff2Dates = Null&lt;br /&gt;   varTemp = Null&lt;br /&gt;&lt;br /&gt;'What intervals are supplied&lt;br /&gt;   booCalcYears = (InStr(1, Interval, "y") &gt; 0)&lt;br /&gt;   booCalcMonths = (InStr(1, Interval, "m") &gt; 0)&lt;br /&gt;   booCalcDays = (InStr(1, Interval, "d") &gt; 0)&lt;br /&gt;   booCalcHours = (InStr(1, Interval, "h") &gt; 0)&lt;br /&gt;   booCalcMinutes = (InStr(1, Interval, "n") &gt; 0)&lt;br /&gt;   booCalcSeconds = (InStr(1, Interval, "s") &gt; 0)&lt;br /&gt;&lt;br /&gt;'Get the cumulative differences&lt;br /&gt;   If booCalcYears Then&lt;br /&gt;      lngDiffYears = Abs(DateDiff("yyyy", Date1, Date2)) - _&lt;br /&gt;              IIf(Format$(Date1, "mmddhhnnss") &lt;= Format$(Date2, "mmddhhnnss"), 0, 1)&lt;br /&gt;      Date1 = DateAdd("yyyy", lngDiffYears, Date1)&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcMonths Then&lt;br /&gt;      lngDiffMonths = Abs(DateDiff("m", Date1, Date2)) - _&lt;br /&gt;              IIf(Format$(Date1, "ddhhnnss") &lt;= Format$(Date2, "ddhhnnss"), 0, 1)&lt;br /&gt;      Date1 = DateAdd("m", lngDiffMonths, Date1)&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcDays Then&lt;br /&gt;      lngDiffDays = Abs(DateDiff("d", Date1, Date2)) - _&lt;br /&gt;              IIf(Format$(Date1, "hhnnss") &lt;= Format$(Date2, "hhnnss"), 0, 1)&lt;br /&gt;      Date1 = DateAdd("d", lngDiffDays, Date1)&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcHours Then&lt;br /&gt;      lngDiffHours = Abs(DateDiff("h", Date1, Date2)) - _&lt;br /&gt;              IIf(Format$(Date1, "nnss") &lt;= Format$(Date2, "nnss"), 0, 1)&lt;br /&gt;      Date1 = DateAdd("h", lngDiffHours, Date1)&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcMinutes Then&lt;br /&gt;      lngDiffMinutes = Abs(DateDiff("n", Date1, Date2)) - _&lt;br /&gt;              IIf(Format$(Date1, "ss") &lt;= Format$(Date2, "ss"), 0, 1)&lt;br /&gt;      Date1 = DateAdd("n", lngDiffMinutes, Date1)&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcSeconds Then&lt;br /&gt;      lngDiffSeconds = Abs(DateDiff("s", Date1, Date2))&lt;br /&gt;      Date1 = DateAdd("s", lngDiffSeconds, Date1)&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcYears And (lngDiffYears &gt; 0 Or ShowZero) Then&lt;br /&gt;      varTemp = lngDiffYears &amp; IIf(lngDiffYears &lt;&gt; 1, " years", " year")&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcMonths And (lngDiffMonths &gt; 0 Or ShowZero) Then&lt;br /&gt;      If booCalcMonths Then&lt;br /&gt;         varTemp = varTemp &amp; IIf(IsNull(varTemp), Null, " ") &amp; _&lt;br /&gt;                   lngDiffMonths &amp; IIf(lngDiffMonths &lt;&gt; 1, " months", " month")&lt;br /&gt;      End If&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcDays And (lngDiffDays &gt; 0 Or ShowZero) Then&lt;br /&gt;      If booCalcDays Then&lt;br /&gt;         varTemp = varTemp &amp; IIf(IsNull(varTemp), Null, " ") &amp; _&lt;br /&gt;                   lngDiffDays &amp; IIf(lngDiffDays &lt;&gt; 1, " days", " day")&lt;br /&gt;      End If&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcHours And (lngDiffHours &gt; 0 Or ShowZero) Then&lt;br /&gt;      If booCalcHours Then&lt;br /&gt;         varTemp = varTemp &amp; IIf(IsNull(varTemp), Null, " ") &amp; _&lt;br /&gt;                   lngDiffHours &amp; IIf(lngDiffHours &lt;&gt; 1, " hours", " hour")&lt;br /&gt;      End If&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcMinutes And (lngDiffMinutes &gt; 0 Or ShowZero) Then&lt;br /&gt;      If booCalcMinutes Then&lt;br /&gt;         varTemp = varTemp &amp; IIf(IsNull(varTemp), Null, " ") &amp; _&lt;br /&gt;                   lngDiffMinutes &amp; IIf(lngDiffMinutes &lt;&gt; 1, " minutes", " minute")&lt;br /&gt;      End If&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booCalcSeconds And (lngDiffSeconds &gt; 0 Or ShowZero) Then&lt;br /&gt;      If booCalcSeconds Then&lt;br /&gt;         varTemp = varTemp &amp; IIf(IsNull(varTemp), Null, " ") &amp; _&lt;br /&gt;                   lngDiffSeconds &amp; IIf(lngDiffSeconds &lt;&gt; 1, " seconds", " second")&lt;br /&gt;      End If&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   If booSwapped Then&lt;br /&gt;      varTemp = "-" &amp; varTemp&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   Diff2Dates = Trim$(varTemp)&lt;br /&gt;&lt;br /&gt;End_Diff2Dates:&lt;br /&gt;   Exit Function&lt;br /&gt;&lt;br /&gt;Err_Diff2Dates:&lt;br /&gt;   Resume End_Diff2Dates&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;'************** Code End *****************&lt;br /&gt;&lt;br /&gt;Check out &lt;a href="http://members.rogers.com/douglas.j.steele/"&gt;Doug's homepage&lt;/a&gt; for more great samples.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109625523631494516?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109625523631494516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109625523631494516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109625523631494516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109625523631494516'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/more-complete-datediff-function.html' title='A more complete datediff function'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109594346881969938</id><published>2004-09-23T08:44:00.000-04:00</published><updated>2004-09-23T08:46:33.413-04:00</updated><title type='text'>Lebans Holdings Website</title><content type='html'>I'm always looking for more resources online for examples and plugins for Access.  Lebans has been one of the most invaluable resources I have found.  Well known on the discussion forums for having useful addins/funtions like MouseWheel, MonthCalendar and Justification, the website is definitely worthy of your time to explore to see what they have available.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lebans.com/products.htm"&gt;Lebans Holdings&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109594346881969938?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109594346881969938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109594346881969938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109594346881969938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109594346881969938'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/lebans-holdings-website.html' title='Lebans Holdings Website'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109579587945071667</id><published>2004-09-21T15:31:00.000-04:00</published><updated>2004-09-21T15:44:39.450-04:00</updated><title type='text'>Crystal Reports: Field Clipping</title><content type='html'>It seems that every new version of Crystal Reports changes how data is displayed when the field simply isn't wide enough.  Until Crystal 7, the data was just clipped by the size of the field on the report.  So, you could spend a pretty significant amount of time trying to figure out why the numbers on your report were wrong, only to find out that the field just needed to be made wider.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Crystal 7 introduced a new option that you could finally set  to show pound signs when a number was too wide, instead of just dropping the extra digits.  Unfortunately, Crystal also set this option, called "Field Clipping", off by default. Even the newer versions of Crystal, 9 and 10, still have this option set to off.   &lt;br /&gt;&lt;br /&gt;To turn off field clipping and display pound signs when a number is too wide:&lt;br /&gt;&lt;br /&gt;        File &gt; Options&lt;br /&gt;        Fields Tab&lt;br /&gt;        Number Button (you should also do the Currency Button) &lt;br /&gt;        Number Tab&lt;br /&gt;        Customize Button&lt;br /&gt;        Take out the check mark in the lower left for "Field Clipping".&lt;br /&gt;&lt;br /&gt;Only &lt;b&gt;new&lt;/b&gt; reports will be affected.  Any existing reports will still have field clipping until you change the numeric and currency fields individually.  To change an individual field right-click on the field and select "Format Field".  Then click the "Customize" button and take out the checkmark for "Field Clipping".&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109579587945071667?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109579587945071667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109579587945071667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109579587945071667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109579587945071667'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/crystal-reports-field-clipping.html' title='Crystal Reports: Field Clipping'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109578760837025445</id><published>2004-09-21T13:22:00.000-04:00</published><updated>2004-09-21T13:26:48.370-04:00</updated><title type='text'>Should Microsoft be worried about Google's success?</title><content type='html'>As Goolge expands into more and more realms of the internet (gmail, froogle, google local, etc.), the author of &lt;a href="http://www.ftponline.com/weblogger/forum.aspx?ID=1&amp;DATE=05/10/2004"&gt;this article&lt;/a&gt; seems to think Google has big plans for your desktop.  A very interesting read ...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109578760837025445?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109578760837025445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109578760837025445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109578760837025445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109578760837025445'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/should-microsoft-be-worried-about.html' title='Should Microsoft be worried about Google&apos;s success?'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109572677156868949</id><published>2004-09-20T20:32:00.000-04:00</published><updated>2004-09-20T20:37:39.720-04:00</updated><title type='text'>Bad Hair Day</title><content type='html'>&lt;a href='http://photos1.blogger.com/img/21/1663/640/after-1.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/21/1663/200/after-1.jpg'&gt;&lt;/a&gt;&lt;br /&gt;dataDog got a haircut today.  Here's a picture of him after the carnage was over.&amp;nbsp;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109572677156868949?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109572677156868949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109572677156868949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109572677156868949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109572677156868949'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/bad-hair-day.html' title='Bad Hair Day'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109570982269509724</id><published>2004-09-20T15:42:00.000-04:00</published><updated>2004-09-20T15:50:22.696-04:00</updated><title type='text'>Got Gmail?</title><content type='html'>Heard of &lt;a href="http://gmail.google.com/gmail/help/about.html"&gt;Gmail&lt;/a&gt; yet?  It's Google's free email service which allows you to store 1 gig - yes that is 1,000,000 bytes - of email!!  No more running out of space because your friend just emailed you 10 mb worth of vacation pictures you don't care to see.  &lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;The only problem is, as I posted in a previous &lt;a href="http://dbageek.blogspot.com/2004/09/gmail-tools-and-addins.html"&gt;blog&lt;/a&gt;, Gmail is still in beta (testing) and you can only get an account if you get "invited."  I still have a few invites left that I can send out, so if you want a gmail account, &lt;A href="mailto:paqgu&amp;#121;&amp;#064;&amp;#103;mail.com"&gt;email me!&lt;/A&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109570982269509724?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109570982269509724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109570982269509724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109570982269509724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109570982269509724'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/got-gmail.html' title='Got Gmail?'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109556929427047867</id><published>2004-09-19T01:46:00.000-04:00</published><updated>2004-09-19T00:49:51.043-04:00</updated><title type='text'>Updated Amazon Browser Buddy Toolbar</title><content type='html'>&lt;a href="http://a9.com/"&gt;A9&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ever wanted an easier way to find books (or any other item) at Amazon?&lt;br /&gt;&lt;br /&gt;Amazon has finally released a new version of there award winnig search engine - complete with a browser buddy toolbar. Definitely worth checking out.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109556929427047867?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109556929427047867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109556929427047867' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109556929427047867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109556929427047867'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/updated-amazon-browser-buddy-toolbar.html' title='Updated Amazon Browser Buddy Toolbar'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109542270356659405</id><published>2004-09-17T08:02:00.000-04:00</published><updated>2004-09-17T08:05:03.566-04:00</updated><title type='text'>More Blogs!!</title><content type='html'>The honorable Celeste Sartor, colleague and very good friend of mine, has also recently started a &lt;a href="http://javamonsta.blogspot.com"&gt;blog&lt;/a&gt;.  Definitely worth checking out!  Drop her some comments, and tell her I sent you :)&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109542270356659405?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109542270356659405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109542270356659405' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109542270356659405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109542270356659405'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/more-blogs.html' title='More Blogs!!'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109541906580141682</id><published>2004-09-17T07:02:00.000-04:00</published><updated>2004-09-17T07:04:25.800-04:00</updated><title type='text'>Calculating the first and last day of the month</title><content type='html'>Ever needed to calculate the first and last day of the month?  Here's an expression that can be used in Access:&lt;br /&gt;&lt;br /&gt;DateSerial(Year(Now), Month(Now) + 1, 0) - Last day of month&lt;br /&gt;DateSerial(Year(Now), Month(Now), 1) - First day of month&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109541906580141682?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109541906580141682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109541906580141682' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109541906580141682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109541906580141682'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/calculating-first-and-last-day-of.html' title='Calculating the first and last day of the month'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109535094473304780</id><published>2004-09-16T13:09:00.000-04:00</published><updated>2004-09-22T15:46:45.513-04:00</updated><title type='text'>Commonly used naming conventions</title><content type='html'>When building Access databases, it is highly recommended that you use a naming convention to standardize how you name your objects. This will make development easier for yourself and help eliminate confusion when other developers make modifications to your database. This article outlines some commonly used naming conventions.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;The best way to choose good names for software objects is to employ a naming convention or standard system. Aside from better communication among programmers, the many benefits of using a naming convention include:&lt;br /&gt;&lt;br&gt;&lt;ul&gt;   &lt;li&gt;Saves time thinking up names&lt;/li&gt;   &lt;li&gt;        Reduces the need for comments&lt;/li&gt;   &lt;li&gt;        Helps you spot errors, by allowing visual consistency checks, similar to     dimension checks on mathematical equations&lt;/li&gt;   &lt;li&gt;        Triggers early detection of design or implementation issues&lt;/li&gt;   &lt;li&gt;        Helps in debugging code&lt;/li&gt;   &lt;li&gt;        Provides an identity for the project's code and participants&lt;/li&gt;   &lt;li&gt;        Allows automated tool support for writing/checking code&lt;/li&gt; &lt;/ul&gt; &lt;a href="http://www.mvps.org/access/general/gen0012.htm"&gt;General: Commonly used naming conventions&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109535094473304780?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109535094473304780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109535094473304780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109535094473304780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109535094473304780'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/commonly-used-naming-conventions.html' title='Commonly used naming conventions'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109530525354098426</id><published>2004-09-15T23:23:00.000-04:00</published><updated>2004-09-15T23:27:33.540-04:00</updated><title type='text'>Deleting all data from an Access database</title><content type='html'>One of the questions I have had asked several times in class is how to empty a database of all existing data.  You don't want to lose your tables structure, just the data. For example, you've created a new database and during the development process you have entered quite a bit of test data that needs to be removed before you release it to users.  If done manually, this job can quickly become tedious. If your database has many tables, the following code will clear all the data in a hurry.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Dim ctr As Container, doc As Document, db As Database&lt;br /&gt;Set db = CurrentDB()&lt;br /&gt;Set ctr = db.Containiners!Tables&lt;br /&gt;For Each doc in ctr.Documents&lt;br /&gt;  If Left$(doc.Name, 4) &lt;&gt; "MSys" Then 'Table is not a system table&lt;br /&gt;   db.Execute "DELETE [" &amp; doc.Name &amp; "].*" &amp; _&lt;br /&gt;    "From [" &amp; doc.Name &amp; "];"&lt;br /&gt;  End If&lt;br /&gt;Next doc&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109530525354098426?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109530525354098426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109530525354098426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109530525354098426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109530525354098426'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/deleting-all-data-from-access-database.html' title='Deleting all data from an Access database'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109528545739943394</id><published>2004-09-15T17:57:00.000-04:00</published><updated>2004-09-15T17:57:37.400-04:00</updated><title type='text'>Recommended Sites</title><content type='html'>I have changed how I am storing my recommended sites.  The goal is to share websites that I have found invaluable or simply great references.  Trying to maintain a list on my blog would quickly get out of hand and be very difficult to organize.  So, I have enlisted the services of Furl.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Furl is a new (still in beta) website that you can save your bookmarks to and then share them with friends.  You can even subscribe to my bookmarks using their RSS feed (very cool!).  If you want to know more about how to use RSS, search &lt;a href="http://www.google.com/search?hl=en&amp;ie=UTF-8&amp;q=rss&amp;btnG=Google+Search"&gt;google&lt;/a&gt; or go to &lt;a href="http://www.furl.net"&gt;Furl's&lt;/a&gt; website for more information.&lt;br /&gt;&lt;br /&gt;So, now when you click on Recommend Sites, you will be taken to my bookmarks page on Furl.  There, you will be able to filter and view by category, popularity, rating and more.  Hopefully you will all find that very useful!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109528545739943394?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109528545739943394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109528545739943394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109528545739943394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109528545739943394'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/recommended-sites.html' title='Recommended Sites'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109528527529416226</id><published>2004-09-15T17:54:00.000-04:00</published><updated>2004-09-15T17:54:35.293-04:00</updated><title type='text'>Firefox browser to hit milestone</title><content type='html'>&lt;a href="http://news.com.com/Firefox+browser+to+hit+1.0+milestone/2100-1032-5364165.html?part=dtx&amp;amp;tag=ntop"&gt;Firefox browser to hit 1.0 milestone | CNET News.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spreadfirefox.com/community/?q=affiliates&amp;amp;id=0&amp;amp;t=70"&gt;&lt;img alt="Get Firefox!" title="Get Firefox!" src="http://www.spreadfirefox.com/community/images/affiliates/Buttons/88x31/get.gif"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My favorite browser is growing up!  If you haven't tried Firefox yet, now's the time.  The usability features (tabbed browsing, integrated search bar, extensions, skins, etc.) that Firefox introduces are what make it my browser of choice.  &lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;I have found Firefox to be more stable, faster, and easier to use than Internet Explorer.  Try it out and let me know what you think!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109528527529416226?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109528527529416226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109528527529416226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109528527529416226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109528527529416226'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/firefox-browser-to-hit-milestone.html' title='Firefox browser to hit milestone'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109528415165361227</id><published>2004-09-15T17:35:00.000-04:00</published><updated>2004-09-15T17:35:51.653-04:00</updated><title type='text'>Gmail tools and addins</title><content type='html'>Plugins and tools to make Gmail easier to use are starting to pop up on the web, click read more to see some of the most popular.  Don't know what Gmail is?  Click read more.  Props to &lt;a href="http://www.igniq.com/robs_blog/"&gt;Rob&lt;/a&gt; for the original post.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;    * &lt;a href="http://toolbar.google.com/gmail-helper/"&gt;Official Gmail Notifier from Google&lt;/a&gt; (beta) - Downloadable Windows application that alerts you when you have new Gmail messages.&lt;br /&gt;    * &lt;a href="http://www.tong-web.com/gmail/"&gt;Gmail Search Extension&lt;/a&gt; - Search your Gmail account from the Firefox search bar&lt;br /&gt;    * &lt;a href="http://www.tong-web.com/gmail/"&gt;Gmail Tray&lt;/a&gt; - A search box for the Windows taskbar&lt;br /&gt;    * &lt;a href="http://weblogs.mozillazine.org/doron/archives/005836.html"&gt;Gmail Notifier&lt;/a&gt; - Firefox extension, installs an icon on your toolbar that displays the amount of new messages in your inbox (previous post)&lt;br /&gt;    * &lt;a href="http://www.rabidsquirrel.net/G-Mailto/"&gt;Gmail-to&lt;/a&gt; - Associate all mailto: links with Gmail as opposed to Outlook&lt;br /&gt;    * &lt;a href="http://sippey.com/b/2004/06/g-mailto-bookmarklet.html"&gt;Gmail-to Bookmarklet&lt;/a&gt; - Compose messages from your Gmail account from any page (previous post)&lt;br /&gt;    * &lt;a href="http://sippey.com/b/2004/06/g-mailto-bookmarklet.html"&gt;Gmailit&lt;/a&gt; - Bookmarklet to send the current page you're viewing to someone through Gmail&lt;br /&gt;    * &lt;a href="http://www.marklyon.org/gmail/"&gt;GMail Loader (GML)&lt;/a&gt; - Cross platform application forwards your existing email to Gmail&lt;br /&gt;    * &lt;a href="http://www.neowin.net/forum/index.php?showtopic=169789"&gt;Pop Goes the GMail&lt;/a&gt; - Gmail &gt; POP3 converter&lt;br /&gt;    * &lt;a href="http://blog.codefront.net/archives/2004/06/21/gexodus_a_graphical_gmail_import_tool.php"&gt;gExodus&lt;/a&gt; - Graphical user interface tool allows you to import your emails into your Gmail account.&lt;br /&gt;    * &lt;a href="http://muadib.blogspot.com/2004/06/gmail-rss-feeds-part-2.html"&gt;GMail, RSS Feeds&lt;/a&gt; - Retrieve notifications of new mail through RSS&lt;br /&gt;    * &lt;a href="http://gmailgems.blogspot.com/"&gt;Gmail Gems&lt;/a&gt; - Tips and Tricks to use Gmail more efficiently&lt;br /&gt;    * &lt;a href="http://www.gmailwiki.com/index.php/Tips_and_Tricks#Unread_mail"&gt;Unread Gmail&lt;/a&gt; - Create a label called "Unread", Gmail will automatically add all unread items to it (Via Gmail Wiki)&lt;br /&gt;    * &lt;a href="http://www.imspire.com/gsuite/index.html"&gt;GSuite&lt;/a&gt; - Lets you access and use Gmail from a mini-browser in the system tray&lt;br /&gt;    * &lt;a href="http://www.nhacks.com/gmail/index.php"&gt;Gmail icon generator&lt;/a&gt; - Create an image of your Gmail address to minimize spam exposure (Via here)&lt;br /&gt;&lt;br /&gt;Gmail is Google's new email service.  It's been a pretty hot topic on many technology news sites lately.  Unfortunately, it's still in beta, which means it isn't open to the public just yet.  Existing users are given "invitations" so they can give friends a gmail account.  I guess that's Google's way of doing a controlled rollout of Gmail.  Anyway, if you really want one and don't have one yet, shoot me an email.  I may just have an invitation I can send you.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109528415165361227?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109528415165361227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109528415165361227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109528415165361227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109528415165361227'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/gmail-tools-and-addins.html' title='Gmail tools and addins'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-109527817700734600</id><published>2004-09-15T15:54:00.000-04:00</published><updated>2004-09-15T15:56:17.006-04:00</updated><title type='text'>Blog separation</title><content type='html'>I've decided to go with two blogs.  This blog will mainly be for technology related information while &lt;a href="http://paqguy.blogspot.com"&gt;paqguy&lt;/a&gt; remains my personal blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-109527817700734600?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/109527817700734600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=109527817700734600' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109527817700734600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/109527817700734600'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/09/blog-separation.html' title='Blog separation'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-113120599074285616</id><published>2004-01-20T01:00:00.000-05:00</published><updated>2005-11-05T10:53:36.416-05:00</updated><title type='text'>2261 &amp; 2262 Supporting Windows XP</title><content type='html'>Useful links and articles for 2261 and 2262.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/resources/documentation/Windows/XP/all/reskit/en-us/prork_overview.asp"&gt;Windows XP Resource Kit&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-113120599074285616?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/113120599074285616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=113120599074285616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/113120599074285616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/113120599074285616'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/01/2261-2262-supporting-windows-xp.html' title='2261 &amp; 2262 Supporting Windows XP'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111289343270146520</id><published>2004-01-02T13:02:00.000-05:00</published><updated>2005-04-07T13:03:52.700-04:00</updated><title type='text'>Useful knowledge base articles</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;198571"&gt;Use Excel's Median function in Access&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111289343270146520?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/111289343270146520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=111289343270146520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111289343270146520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111289343270146520'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/01/useful-knowledge-base-articles.html' title='Useful knowledge base articles'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111177778686010957</id><published>2004-01-01T00:00:00.004-05:00</published><updated>2005-08-15T11:42:25.276-04:00</updated><title type='text'>2072 - SQL Administration</title><content type='html'>Below are some useful links to supplement the course 2072 - SQL Server 2000 Administration:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/sql/techinfo/tips/administration/default.asp"&gt;SQL Server Administration Tips&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sql-server-performance.com"&gt;SQL Server Performance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqljunkies.com"&gt;SQL Junkies&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqlservercentral.com"&gt;SQL Server Central&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqlteam.com"&gt;SQL Team&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/sql/accessmigration.asp"&gt;Migrating Access Databases to SQL Server&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqlsecurity.com/DesktopDefault.aspx"&gt;SQL Server Security&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=873235"&gt;How to prevent the transaction log from growing unexpectedly&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vyaskn.tripod.com/track_sql_database_file_growth.htm"&gt;Track SQL Server file growth&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqldts.com/default.aspx?1"&gt;SQL Server DTS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.devarticles.com/c/a/SQL-Server/Whats-Best-for-DBAs-GUI-or-TSQL/"&gt;TSQL or GUI for SQL DBAs?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111177778686010957?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111177778686010957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111177778686010957'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/01/2072-sql-administration.html' title='2072 - SQL Administration'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111198338487457440</id><published>2004-01-01T00:00:00.003-05:00</published><updated>2005-06-14T15:02:43.086-04:00</updated><title type='text'>SQL Server Articles</title><content type='html'>General Microsoft SQL Server articles, tips and links:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/11/stored-procedure-to-find-all-instances.html"&gt;Stored Procedure to find all instances of a field&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/10/whats-best-for-dbas-gui-or-t-sql.html"&gt;&lt;br /&gt;What's best for DBA's?  GUI or T-SQL commands?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aspfaq.com/show.asp?id=2455"&gt;Which tool should I use:  Enterprise Manager or Query Analyzer?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/10/what-is-xml.html"&gt;What is XML?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsadmin/htm/arp_rslogfiles_v1_88gy.asp"&gt;How to configure Reporting Services log file reports&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111198338487457440?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/111198338487457440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=111198338487457440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111198338487457440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111198338487457440'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/01/sql-server-articles.html' title='SQL Server Articles'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111135080977589047</id><published>2004-01-01T00:00:00.002-05:00</published><updated>2005-05-23T14:24:25.300-04:00</updated><title type='text'>2073 Links</title><content type='html'>Below are some useful links to supplement the course 2073 - Programming a Microsoft SQL Server 2000 Database:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://vyaskn.tripod.com/object_naming.htm"&gt;Naming Conventions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf"&gt;OLE DB versus ODBC data access methods&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.transactsql.com/"&gt;Transact SQL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetfun.com/TSQLScripts.aspx"&gt;T-SQL Scripts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vyaskn.tripod.com/track_sql_database_file_growth.htm"&gt;Tracking File Growth&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqlteam.com/item.asp?ItemID=5761"&gt;Cursor Performance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sql-server-performance.com/query_execution_plan_analysis.asp"&gt;Query Execution Plan Analysis&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sql-server-performance.com/jc_parallel_execution_plans.asp"&gt;SQL Server Parallel Execution Plans&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetjunkies.com/Article/86F0988E-FED4-414F-BA2E-D01D953C11BE.dcik"&gt;10 Things You Shouldn't Do With SQL Server (Data Access Methods)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.developerkb.com/modules/wfsection/article.php?articleid=42"&gt;Temp tables discussed&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111135080977589047?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/111135080977589047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=111135080977589047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111135080977589047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111135080977589047'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/01/2073-links.html' title='2073 Links'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-111177756046904053</id><published>2004-01-01T00:00:00.001-05:00</published><updated>2005-03-26T11:01:56.853-05:00</updated><title type='text'>2071 - TSQL</title><content type='html'>Below are some useful links to supplement the course 2071 - Querying SQL Server 2000 with Transact-SQL:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/sql/techinfo/tips/development/default.asp"&gt;SQL Server Development Tips&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.transactsql.com/"&gt;Transact SQL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sql-server-performance.com/"&gt;SQL Server Performance&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-111177756046904053?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111177756046904053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/111177756046904053'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/01/2071-tsql.html' title='2071 - TSQL'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-8341707.post-110857986469277173</id><published>2004-01-01T00:00:00.000-05:00</published><updated>2005-02-25T11:01:19.320-05:00</updated><title type='text'>Crystal Reports Articles</title><content type='html'>General Crystal Reports tips, tricks, and other articles&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2004/09/crystal-reports-field-clipping.html"&gt;Field Clipping&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dbageek.blogspot.com/2005/02/problem-with-record-selection-and-left.html"&gt;Table join problems&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8341707-110857986469277173?l=dbageek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dbageek.blogspot.com/feeds/110857986469277173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8341707&amp;postID=110857986469277173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110857986469277173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8341707/posts/default/110857986469277173'/><link rel='alternate' type='text/html' href='http://dbageek.blogspot.com/2004/01/crystal-reports-articles.html' title='Crystal Reports Articles'/><author><name>dbageek</name><uri>http://www.blogger.com/profile/00756494338858376190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
