Listing Object Library Reference Information in MS Access

by demtron on Friday, October 10, 2008 03:17 PM

When writing documentation for a Microsoft Access application, it's often important to provide information for on the object library references, especially for those apps that depend heavily on 3rd party or custom components. It's easy to obtain a list of references used, but what about attributes like File Version, Description, and Company? We can get these by opening the file properties in Windows Explorer and viewing the Version tab. If there are more than just a few references, this can be time consuming, especially if various attributes need to be copied and pasted elsewhere.

TypeLib comes to the rescue! TypeLib is a system DLL that can read the metadata contained in a DLL. Simply set a reference to %windir%\tlbinf32.dll, then add and run the following code in a module:

Public Sub ListAllReferences()
    Dim ref As Reference
    Dim tl As TLI.TypeLibInfo
    For Each ref In Access.Reference
        Set tl = New TLI.TypeLibInfo
        tl.ContainingFile = ref.FullPath
        Debug.Print ref.Name & "," & tl.HelpString & "," & ref.BuiltIn & "," & ref.FullPath
    Next ref
End Sub

Enjoy!


Choosing a Shared Hosting Provider – Tip #2

by demtron on Wednesday, October 08, 2008 10:37 PM

Bandwidth and Storage Capacities

Bandwidth and drive space have become inexpensive in recent years.  Back in 1999, one well-known hosting company offered 100MB of storage and 1GB of transfer bandwidth per month for $44.95 a month.  These days, that same company now offers UNLIMITED storage and UNLIMITED bandwidth for $5.95 a month.  Some even offer hosting for free.  So, how do you choose?

In my opinion and experience, the good old adage “you get what you pay for” comes into play.  Offering a massive amount of space and transfer does cost something, and this capacity might come at the expense of other facets of the hosting experience such as tech support, add-on offerings, refunds, or other facets of the plans.  Especially if you’re a novice to hosting and web site maintenance, these other elements may be pretty important to you.

One question to ask is how much space you really need.  Some sites that I maintain that have thousands of pages need only a few hundred MB of space and a few GB of transfer bandwidth per month.  One site I maintain has hundreds of files available for download by visitors – its capacity is 300 GB, but the space used is around 18 GB, so there’s still plenty of room to grow.

For most sites, even those with a few hundred pages, 50 to 60 MB of space and 2 to 3 GB of transfer per month is plenty.  You’ll likely only need the extra space if you’re hosting downloads, videos, tons of images or podcasts.


SEO for Title Tags Tip 4 Filter Words

by demtron on Wednesday, October 08, 2008 05:11 PM

Filter Words are a common issue that affects title tag quality and SEO. What are Filter Words? They're words ignored by search engines due to their common use and offering very little value toward making a page appear to have valuable content. Some examples of filter words are a, the, best, all, name, not, and new. There a several hundred words that are generally considered to be filter words.

Why are they a problem? First, to conserve disk space and assist in search performance, stop words are filtered out of a search engine's database and not cataloged. Therefore, no matter how many times filter words appear in your text, they'll be completely ignored.

Second, and perhaps more important, is that these words take up valuable space in a page title and dilute the importance of the other words. Consider these two titles:

Acme Brothers Offers the Best Custard, Shakes and Burgers in Milwaukee

Acme Brothers Milwaukee Custard, Shakes, Burgers

The first example has 11 total words, 4 of which are stop words and one (Offers) that is of questionable value to searching. Contrast that with the second example, which has six total words, all of which are valuable to searching and pertinence to the page and the site. After removing the filter words, we're left with a title tag that's highly optimized.

One important point to note is that removing stop words typically results in title that appear stiff to a human reader. A compromise like "Acme Brothers - Milwaukee's Favorite Custard, Shakes and Burgers" creates a more excitement, only has two lesser-quality words, and fits in 64 characters. As a personal preference, I occasionally add filter words into titles that need to appear more natural or if I have many titles o a site that are stripped of filter words. That little bit of variety won't seriously impact page positioning but will make the titles more appealing and more likely to be clicked on.


Sys.Application.add_load Problem with AJAX Postbacks

by demtron on Wednesday, October 08, 2008 12:04 PM

One of my current projects requires a Web form with AJAX interaction between a TextBox and a ListBox.  As a user types into the TextBox, the keyup of event triggers and async postback to filter the list of items in the listbox.  I used the Sys.Application.add_load accessor and $addHandler method to accomplish this as follows:

        Sys.Application.add_load(PageLoad);
        Sys.Application.add_unload(PageUnload);
        
        function PageLoad(sender, args)
        {
            var txtbox = $get('<%= SearchBox.ClientID %>');
            $addHandler(txtbox, "keyup", fn_KeyPress);
        }

        function PageUnload(sender, args)
        {
            var txtbox = $get('<%= SearchBox.ClientID %>');
            $removeHandler(txtbox, "keyup", fn_KeyPress);
        }

The problem is that, on each postback, the handlers are added again.  So, on the first keyup event, the handler method is fired once.  On the second keyup event, the handler method is fired twice, and so on.  This is a problem.

The solution to determine, through JavaScript, whether the page is a postback of not.  This can be accomplished by the Sys.ApplicationLoadEventArgs.isPartialLoad property.  I added it int the Load handler method as follows:

        function PageLoad(sender, args)
        {
            if (!args.get_isPartialLoad())
            {
            var txtbox = $get('<%= SearchBox.ClientID %>');
            $addHandler(txtbox, "keyup", fn_KeyPress);
            }
        }

Problem solved!


Powered by BlogEngine.NET 1.5.1.18
Theme by Mads Kristensen · Adapted by Demtron

Bookmark and Share

Calendar

<<  September 2018  >>
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

View posts in large calendar
Log in

Milwaukee SEO Company

Milwaukee Access Programmer/Developer

Milwaukee Website Designer and Developer



Marketing / SEO

Blog Directory
blogarama - the blog directory
TopOfBlogs
Milwaukee area SEO, SEM, ASP.Net