ACC2000: How to Use the RefreshDatabaseWindow Method (198619)



The information in this article applies to:

  • Microsoft Access 2000

This article was previously published under Q198619
Moderate: Requires basic macro, coding, and interoperability skills.

SUMMARY

When you create, delete, or rename an object through code while the object is visible in the Database window, the Database window does not reflect the changed object until the focus moves back to the Database window. For example, if the Immediate window has focus, and you run code to delete an object in the Database window, you may not see the object deleted until you use the RefreshDatabaseWindow method or until the Database window receives focus.

This article shows you how to use the RefreshDatabaseWindow method of the Application object to refresh the Database window after you change an object.

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

MORE INFORMATION

NOTE: The sample code in this article uses Microsoft Data Access Objects. For this code to run properly, you must reference the Microsoft DAO 3.6 Object Library. To do so, click References on the Tools menu in the Visual Basic Editor, and make sure that the Microsoft DAO 3.6 Object Library check box is selected.

You can use the RefreshDatabaseWindow method to immediately reflect changes to objects in the Database window, as the following example shows:
  1. Open the sample database Northwind.mdb.
  2. In the Database window, click Tables under Objects, and then select the Shippers table.
  3. On the Edit menu, click Copy.
  4. On the Edit menu, click Paste. In the Paste Table As dialog box, type Shippers2 in the Table Name box, and then click OK.
  5. Create a module and type the following procedure:
    Function TestRefresh()
       Dim db As DAO.Database
       Set db = CurrentDb()
       db.TableDefs.Delete "Shippers2"
       Application.RefreshDatabaseWindow
    End Function
    					
  6. Press F11 to bring the Database window to the foreground and click Tables under Objects.
  7. Press CTRL+G to open the Immediate Window. Position the Database window and the Immediate Window so both are visible. Type the following line in the Immediate Window, and then press ENTER:
    ?TestRefresh()
    					
    Note that the Shippers2 table is removed from the Database window.

REFERENCES

For more information about refreshing the Database window, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type RefreshDatabaseWindow in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbinfo kbProgramming kbusage KB198619