The calendar should open up with the date or ctlD value. If I don't have a date in txtReview I get a runtime error 13. If I Dim out .InitialDate = ctlD.Value then it work but it does not set the value if there is a date in txtReview.
I included all the code in case I missed something else.
Thanks for the help. I have learned lots from this forum.
ActiveX and form code
Code:Public Property Set DateControl(ByVal ctlDate As Control) Set mctlDate = ctlDate End Property Public Property Let InitialDate(datd As Date) Me!ctlCalendar.Value = datd End Property Private Sub SetAndClose() If mctlDate Is Nothing Then MsgBox "The Date Control property has not been set", , "Calendar Form Error" Else mctlDate = ctlCalendar.Value End If End Sub Private Sub cmdExit_Click() On Error GoTo Err_cmdExit_Click DoCmd.Close Exit_cmdExit_Click: Exit Sub Err_cmdExit_Click: MsgBox Err.Description Resume Exit_cmdExit_Click End Sub Private Sub ctlCalendar_Click() SetAndClose End Sub Private Sub ctlCalendar_KeyUp(KeyCode As Integer, ByVal Shift As Integer) Select Case KeyCode Case vbKeyReturn ' carriage return SetAndClose Case vbKeyEscape ' escape DoCmd.Close End Select End Sub command button on click code Private Sub cmdCalendar1_Click() Dim frmCal As Form Dim ctlD As Control Set ctlD = Me!txtReview DoCmd.OpenForm "frmCalendar", , , , , acHidden Set frmCal = Forms("frmCalendar") With frmCal Set .DateControl = ctlD '.InitialDate = ctlD.Value 'only works if I rem this out .Visible = True End With End Sub




Reply With Quote