Microsoft KB Archive/164241

From BetaArchive Wiki

Article ID: 164241

Article Last Modified on 1/19/2007



APPLIES TO

  • Microsoft Access 97 Standard Edition



This article was previously published under Q164241

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


SUMMARY

This article lists the ActiveX control (formerly called OLE Custom Control) interfaces that Microsoft Access 97 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 Microsoft Access 97.

NOTE: Microsoft Product Support Services for Microsoft Access will not support custom ActiveX controls. The only supported ActiveX controls are those that ship with Microsoft Access, Microsoft Access Developer's Toolkit, and Microsoft Office 97 Developer Edition Tools. For a list of supported ActiveX controls, please see the following article in the Microsoft Knowledge Base:

160126 ACC97: Supported ActiveX Controls for Microsoft Access 97

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 application, such as Microsoft Access.

The Component Object Model 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 Windows registry. A container application can check the registry to see if it supports a control's component category requirements before it offers that control to a user.

Microsoft Access 97, as an ActiveX control container, requires a control to support a base set of interfaces. Other interfaces and component categories are optionally supported in Microsoft Access 97, 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 Microsoft Access 97 databases.

ActiveX Interfaces Required by Microsoft Access 97


  • IOleObject, which is the principal means by which an embedded control communicates with the Microsoft Access 97 container and vice versa.
  • IPersistStorage, which defines methods that enable Microsoft Access 97 to load and save the control. Microsoft Access 97 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 enables 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 Microsoft Access 97


  • 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 Microsoft Access 97


  • Simple Frame Site Containment, which is the ability of an ActiveX control to contain other controls. Microsoft 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 allow 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 Microsoft Access.
  • Windowless controls, which are controls that do not operate in their own window, and require Microsoft Access 97 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. Microsoft Access 97 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.



Additional query words: ODE

Keywords: kbhowto kbprogramming KB164241