UI BuilderTM for Microsoft® AccessTM

     Frequently Asked Questions

General Questions

Q.  Is UI BuilderTM an Add-In?
A.  No.  UI Builder is a set of forms, tables, and code that you incorporate into your own Access project.  This eliminates the need to run installations on each user's desktop, and gives you the freedom to modify the UI Builder forms, tables, and source code as needed. 
Q: Can I use UI Builder in products I sell?
A: Absolutely.  Please purchase the UI Builder Redistribution license, which grants you unlimited license to package UI Builder within your own applications.  You must maintain all OpenGate Software copyright notices, however.  Contact us for pricing at orders@opengatesw.net

Configuring UI Builder

Q.  Can I use the same configuration for multiple users that have my database on different PCs?
A.  Yes.  Refer to the UI Builder tip "How to deploy user-level menus using a single back-end database."


Incorporating Your Existing Forms

Q.  How do I add a button on my own form that will open another form within the main form (frmMain) window?
A.  Add the following VB code to your button's On_Click() event:
(your on_click event for the button)

On Error GoTo err_handle

sChangeSubform 0, "YOUR FORM NAME", True  

Exit Sub
Select Case Err.Number
  Case Else
     fLogEvent Err.Description & vbCrLf & Err.Number, auiNormal, True, "source you specify", auiError
End Select

(end on_click subroutine)

Q.  How do I use the same technique as above, but filter the records on the form that opens?
A.  Add the following VB code to your button's On_Click() event:
(your on_click event for the button)

Dim strSQL as String
On Error GoTo err_handle
' load the SQL statement into a variable because "me." statements from a prior form don't
' work when you open a new subform.
sChangeSubform 0, "YOUR FORM NAME:FILTER:" & strSQL, True
Exit Sub
Select Case Err.Number
  Case Else
     fLogEvent Err.Description & vbCrLf & Err.Number, auiNormal, True, "source you specify", auiError
End Select

(end on_click subroutine)


Customizing UI Builder Objects

Q.  Can I change the splash screen shown at startup?
A.  Yes.  Simply change the screen as desired.  To reduce the amount of time the screen is displayed, change the Timer Interval property.  You can also choose to skip the splash screen by changing the AutoExec macro from opening frmWelcome1 to the form of your choice.

Q.  Can I modify the UI Builder VB code and main form (frmMain)?
A.  Yes, but be aware that those changes will be lost if you run the UI Builder upgrade process to a newer version.

Q.  How to do I  change the main forms (frmMain)?
A.  Each different frmMain layout is stored as a separate form in the database.  Locate the specific main form layout you want to modify, such as the left, right, or top menu which will be named "frmMain_XXXX" where "XXXX" represents the layout.  Modify the desired layout, and then open the Skin Chooser and select that layout to make your modified "frmMain_XXXX" the current main form.

Q.  How do I shut off the Repair Linked Tables feature at startup?
A.  You will need to remove or comment out the line "fCheckLinks" from the function "fLoadMenu" in the module "modMenu."  This will prevent the automatic linked table validation from executing when your application starts up.

Upgrading UI Builder

Q.  How do I upgrade to the newest version of UI Builder?
A.  Please refer to the UI Builder Upgrade Guide for your edition.  In general, you need to run the Upgrade Assistant, which you can download from the secure support site.  This will upgrade the UI Builder forms and modules and leave your own objects (tables, forms, reports, etc) alone.

Q.  The upgrade is taking several minutes, is this okay?
A.  We have noticed that the upgrade from one version to the next, which usually takes about 30-60 seconds, can take up to 4 minutes if you have the Microsoft Visual Basic editor window open.  This appears to be the result of the high volume of user interface activity that takes place during the upgrade (the VB editor window refreshes frequently to display the object changes going on in the background).  We recommend you close the VB editor when upgrading UI Builder to eliminate this issue.

Q.  I receive the same security warning message multiple times in Access 2007 when upgrading.
A.  Access 2007 warns users every time they attempt to import objects from another database.  UI Builder imports approximately 65 forms, tables, queries, and code modules when upgrading to the newest version.  We recommend you either click "Allow" for each object, or follow these steps:
  1. Create a new folder where you copy the newest version of UI Builder.
  2. Click on the Office icon in the upper left hand corner of the Access window.
  3. Select Access Options.
  4. Select Trust Center.
  5. Add the new folder you created in step 1 as a safe location.
  6. Run the UI Builder upgrade for your database.

Record Level Auditing

Q.  I receive an error message that says "Audit Error: Unable to audit this transaction. The form is not open in the manner required to audit correctly."
A.  For auditing to function properly, you must have your forms open in the way that you indicated when using the Audit Setup process.  For example, if you set up your auditing for a form where you checked the "Form will be open in the frmMain window," and you attempt to make changes when the form is open by itself, UI Builder will not know to look for the form open by itself.  If you would like to use the same form both within the frmMain window, and allow users to open the form by itself, we recommend you create a copy of the form and modify the fAuditRecord() function calls to indicate the form will not be open in the frmMain window.

Q.  When a user deletes multiple records at once, two records appear in the audit table.  One indicates a Change, another a Delete.
A.  This is a known issue with Microsoft Access where the form event for multiple deletion activities makes it appear that the user is changing and then deleting each record.  If the timestamp on a pair of Change/Delete records are the same, you know that the user deleted multiple records at once.

Q.  Can I change the name of my audit tables once they are created?
 If you need to rename one or more audit tables, be sure to change the table names in your Visual Basic procedures that call the fAuditRecord() function.  The specific variable in the function call is named “strAuditTable.” For example, here is a before and after look at the fAuditRecord code when you change a table name:
Before:      fAuditRecord "Add", "pOrder_audit", Me
After:         fAuditRecord "Add", "pOrder_history", Me
Note that in the example above, the audit table was renamed from “pOrder_audit” to “pOrder_history.”
Q.  Can I add fields or change field names in my audit tables once they are created?
You can add new fields to your table, or change existing field names. Be sure to add or change the fields in your audit table as well as the "live" table. Otherwise, UI Builder will skip those fields when writing the audit record (but also log an error event).

Mail Merge

Q.  I receive a prompt to log in to my database when trying to merge to email/word
A.  This may occur when your merge document contains a reference to your database, as opposed to being an "unbound" mail merge document.  To remove the link, when you open your merge document directly, click "No" when prompted to confirm that "Opening this document will run the following SQL command:"  Then when prompted, select "Remove Header..." and save your template.

Q.  I receive a security prompt for every email I try to send via OneClick Mail Merge
A.  This is standard security functionality between Access and Outlook put in place by Microsoft.  If you are using Microsoft Office 2007, you can prevent this warning message by making sure your machine has an anti-virus client activated with email protection.

Q.  I receive a message "the database has been placed in a state by user 'admin' on machine '    ' that prevents it being opened" when I run Mail Merge
A.  This occurs when you are in the VB editor and make changes that cause the database to be locked to the current user.  Attempt to save your changes, compile the product (Debug>>Compile) and then restart Mail Merge.  If that does not solve the problem, close the database and re-open.

Q.  I receive a macro error "Action Failed" and Error Number 2950 when opening UI Builder - Enterprise
A.  This occurs if the database is not added to your trusted locations.  Click here for information on adding a database to the Access 2007 Trusted Locations.

Errors and Known Issues

Q.  Why do the menu buttons turn black?
A.  The menu color scheme may get lost from memory when your project enters debug mode.  UI Builder will automatically recognize that the color scheme was reset, and re-load the color scheme once you mouse over the menu buttons.

Q.  I tried to change my main form layout, and now my database freezes or doesn't display anything on the main form.
A.  This error occurs on very rare occasions, generally if you are editing one of the frmMain_xxxx forms when you try to change the layout.  You will need to delete the current frmMain, close your database, open your database, and copy one of the frmMain_xxxx and name the copy frmMain.

  Q.  I receive an error "The Microsoft Jet database engine could not find the object '~sq_cfrmMain~sq_cSubForm1'
A.  This error occurs when your menu configuration references a form that has been deleted from the database.  Locate the menu command that attempts to open the form and change the form reference to an existing form.

VBA Toolbox Functions

Q.  I can't get fTableRecordCount or fTableRecordSum to find records when I use a "Like" statement.
A.  Typically SQL supports the * wildcard character for Like statements, however the type of recordset (ADO)  used by fTableRecordCount or fTableRecordSum requires use of the % wildcard character instead.  If you are using fTableRecordCount or fTableRecordSum against an Access Query, you will need to change any wildcards within that Query to also use % instead of * to get an accurate record count.

Deploying as an MDE/ACCDE file

Q.  Can I deploy my UI Builder database as an MDE/ACCDE file?
A.  Yes.  When you convert to an MDE or ACCDE file, you will not be able to change the main menu layout or upgrade the MDE/ACCDE objects.  To change the menu layout or upgrade to a newer version of UI Builder, you will need to do so in the original MDB/ACCDB version of your application, then deploy as an MDE or ACCDE file.

Deploying as a runtime file

Q.  Can I deploy my UI Builder database with the runtime version of MS Access?
A.  Yes, UI Builder-based applications can be deployed as a runtime database, which can help cut down on the number of Access licenses you need.