Microsoft KB Archive/202104

= ACC2000: Custom ActiveX Control Features Supported in Access 2000 =

Article ID: 202104

Article Last Modified on 7/4/2007

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q202104



Advanced: Requires expert coding, interoperability, and multiuser skills.

This article applies to a Microsoft Access database (.mdb) and to a Microsoft Access project (.adp).



SUMMARY
This article lists the ActiveX control (formerly called OLE Custom Control) interfaces that Microsoft Access 2000 requires, as well as those categories of interfaces that it does and does not support. This information will help you to create custom ActiveX controls that you can use in Access 2000.

NOTE: Microsoft Technical Support for Microsoft Access does not support custom ActiveX controls. The only supported ActiveX controls are those that ship with Access and Microsoft Office 2000 Developer Edition Tools.



MORE INFORMATION
The ActiveX Component Object Model (COM) is a standard that specifies the object model and programming requirements that enable COM objects to interact with other objects in a container program, such as Access.

The COM defines sets of related functions, called interfaces, that are common to all COM-based technologies. The functions within each interface are called methods. Sets of interfaces, called component categories, identify an entire area of functionality, such as databinding. When an ActiveX control is installed, it registers those component categories that it requires, and those that it supports, in the Microsoft Windows registry. A container program can check the registry to see if it supports a control's component category requirements before it offers that control to a user.

Access 2000, as an ActiveX control container, requires a control to support a base set of interfaces. Other interfaces and component categories are optionally supported in Access 2000, and still others are not supported at all. The following information will assist you in creating ActiveX controls with the features best suited for use in Access 2000 databases.

ActiveX Interfaces Required by Access 2000

 * IOleObject, which is the principal means by which an embedded control communicates with the Access 2000 container and vice versa.
 * IPersistStorage, which defines methods that enable Access 2000 to load and save the control. Access 2000 uses the methods in this interface to initialize the control, and to instruct the control to perform save operations or to release its storage.
 * IViewObject, which allows a control to display itself directly. Methods in this interface, for example, allow you to draw the control on the screen.
 * IOleControl, which provides features for supporting keyboard mnemonics, ambient properties, and events in control objects.

ActiveX Component Categories Supported in Access 2000

 * Simple Databinding, which is the ability to bind one property of a control to a field in a table.
 * The Controls component category.

ActiveX Component Categories Not Supported in Access 2000
 Simple Frame Site Containment, which is the ability of an ActiveX control to contain other controls. Access does not support the ISimpleFrameSite interface, which applies to any control created with Microsoft Visual Basic Control Creation Edition version 5.0 that has its ControlContainer property set to True . Advanced Databinding, which allows more complex databinding scenarios than simply binding a single property of a control to a field in a table. The Visual Basic private interfaces IVBFormat and IVBGetControl.

IVBFormat allows a control to better integrate into the Visual Basic environment when formatting data; IVBGetControl allows a control to enumerate other controls on a Visual Basic form. Internet-aware controls; IServiceProvider and IBindHost interfaces are not implemented in Access. Windowless controls, which are controls that do not operate in their own window, and which require Access to offer a shared window into which the control can draw.

NOTE: Many windowless controls are designed to be compatible with containers that do not support this feature by creating their own window in those situations. Access 2000 may be able to use a windowless control that offers that capability.

 Minimal support controls, which are those ActiveX controls that only support the IUnknown interface.</li></ul>

<div class="references_section">