Microsoft KB Archive/114832

= ADT/ODE: Calendar Control Cannot Format Individual Dates =

Article ID: 114832

Article Last Modified on 11/14/2003

-

APPLIES TO


 * Microsoft Access Developer's Toolkit 2.0
 * Microsoft Access Developer's Toolkit 1.1
 * Microsoft Office 97 Developer Edition

-



This article was previously published under Q114832



Moderate: Requires basic macro, coding, and interoperability skills.



SYMPTOMS
In the Calendar control included with Microsoft Access 97, Microsoft Access for Windows 95 version 7.0, and the Microsoft Access Developer's Toolkit (ADT) versions 2.0 and 7.0, you can change the formatting of all the text, but you cannot change the formatting of individual dates.



CAUSE
This is a design limitation of the Calendar control.



RESOLUTION
This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.

NOTE: Visual Basic for Applications is called Access Basic in Microsoft Access version 2.0. For more information about Access Basic, please refer to the "Building Applications" manual.

A workaround for this behavior is to use a text box on your form that reflects the date selected in the Calendar control. The following example demonstrates how to create such a text box:  From the Database window, do one of the following.  In Microsoft Access 97:

In Design view, open the form to which you want to add the text box. On the Insert menu, click ActiveX Control, and then select Calendar Control 8.0. After you have selected the Calendar control, click OK. In Microsoft Access 7.0:

In Design view, open the form to which you want to add the text box. On the Insert menu, click Custom Control, and then select the Calendar control. After you have selected the Calendar control, click OK. In Microsoft Access 2.0:

In Design view, open the form to which you want to add the text box. On the Edit menu, click Insert Object and then select the Insert Control option button. In the Control Type box, select Calendar Control. If the Calendar control does not appear in the box, click the Add Control button and select the MSASB20.OCX file from your ADT directory. After you have selected the Calendar control, click OK.  Change the Calendar control's Name property to Calendar1.</li> Add a new text box to the form. Change the text box's Name property to CalendarDate.</li> To display the form's module, select the Calendar control, click the control's OnClick property field, click the Build button to the right of the field, select Code Builder, and then click OK.</li>  Enter the appropriate code so that the procedure looks as follows.

NOTE: In the following sample code, an underscore (_) at the end of a line is used as a line-continuation character. Remove the underscore from the end of the line when re-creating this code in Access Basic. Sub calendar1_Click Me!calendardate.value = Format(Me!calendar1.object.value, _             "dddddd") End Sub This procedure sets the value of the CalendarDate text box to the value of the date selected in the Calendar control, with a Long Date format. Note that you can use the format of your choice--you do not have to use the Long Date format. </li> Close the module.</li> View the form in Form view, and select different dates.</li></ol>

<div class="status_section">

STATUS
Changes to the Calendar control are being reviewed and will be considered for possible inclusion in a future release of the Microsoft Office Developer Edition Tools.

<div class="references_section">