IN THE SPOTLIGHT: MDE to MDB Conversion Service
(also supports: ACCDE to ACCDB, ADE to ADP, etc)
IN THE SPOTLIGHT: Access Database Repair Service
An in-depth repair service for corrupt Microsoft Access files
IN THE SPOTLIGHT: vbWatchdog
VBA error handling just got easier...
" vbWatchdog is off the chart. It solves a long standing problem of how to consolidate error handling into one global location and avoid repetitious code within applications. "
- Joe Anderson,
Microsoft Access MVP
Meet Shady, the vbWatchdog mascot watching over your VBA code →
(courtesy of Crystal Long, Microsoft Access MVP)
IN THE SPOTLIGHT: vbMAPI
An Outlook / MAPI code library for VBA, .NET and C# projects
Get emails out to your customers reliably, and without hassle, every single time.
Use vbMAPI alongside Microsoft Outlook to add professional emailing capabilities to your projects.
IN THE SPOTLIGHT: Code Protector
Standard compilation to MDE/ACCDE format is flawed and reversible.
Provided by Allen Browne, June 2006, updated February 2008
This free utility (130 KB zipped) reports on potential issues with the structure of Access databases. It makes no changes to the databases you examine.
The utility is intended for developers to check their application during design, and consultants who examine others' databases.
Some of the issues it identifies may be irrelevant - even intended - in your application. For example, null foreign keys can be a very useful design technique, and spaces in a field name will not cause problems beyond slowing development. The utility merely reports the facts, and you decide what is relevant. You can therefore configure it to skip particular words or characters, and ignore issues.
February 2008 update: Reports on Name AutoCorrect, even if it has never been set. Skips [Switchboard items] table.
March 2007 update: Fixed a bug testing Allow Zero Length; Added a test for Layout View.
Issues identified:
Limitations:
To use:
Configure the utility to skip certain checks, avoid checking for particular words and characters, and add your own words/characters to the lists:
Main screen of the utility:
If you want to trace the logic behind how it works:
frmMain is the main interface, with frmIssue as a subform where the user can chose the issues to examine.
tblIssue lists the issues the utility can examine, with a description and help for each one. Do not change the IssueID values: this primary key is a bitfield, so the numbers can be summed and the code can read each bit to determine the issues to check for.
tblLogDb logs each database you examine, including the bitfield value of what was examined, and how many issues were reported.
tblObject lists each object in the last database you examined. This table is self-joined, so can identify which objects belong to which (e.g. which table a field belongs to.) The object types are identified in lookup table ltObjectType.
tblObjectIssue is a junction table between tblObject and tblIssue, listing the issues identified for each object.
qryObjectList is a UNION query that gets the object names from two instances of tblObject, assembling them so each object is associated with the correct parent (if any). qryResult takes that result, grabs the data from the other tables, and feeds the report rptResult.
The code in module ajbIssue clears out the result tables, performs the checks and writes the results. ExamineDatabase() is the main routine, with the specific checks and writes handled by separate routines. The code is designed so it can work independently of the interface.
To use this utility with SQL Server tables, change each instance of:
OpenRecordset(strSql)
to:
OpenRecordset(strSql, dbOpenDynaset, dbSeeChanges)
Home | Index of tips | Top |
Rate this article:
This is a cached tutorial, reproduced with permission.
iTech Masters | VAT: GB202994606 | Terms | Sitemap | Newsletter