Forse ti può servire dare un'occhiata a questo codice. Cliccando due volte sulla casella di testo "txFromDate" di una maschera, si apre il form "FCalendario" contenente il calendario ActiveX. Selezionando una data, esso restituisce il valore scelto.
Nel form principale:
Private Sub txFromDate_DblClick(Cancel As Integer)
Cancel = True
Me.txFromDate.SelStart = 0
Me.txFromDate.SelLength = Len(Me!txFromDate.Text)
DoCmd.OpenForm "FCalendario", , , , , , Me!txFromDate.SelText
If Me.txFromDate <> "" Then
Forms!FCalendario!CtlActiveX1.Value = Me.txFromDate
Else
Forms!FCalendario!CtlActiveX1.Value = Date
End If
End Sub
Nel form del calendario:
Private NewData As Date
Private Sub CtlActiveX1_Click()
NewData = Me!CtlActiveX1.Value
DoCmd.Close acForm, Me.Name
End Sub
Private Sub Form_Close()
SendKeys IIf(NewData > 0, NewData, Nz(Me.OpenArgs, ""))
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 27 Then 'ESC = chiudi
KeyCode = 0
DoCmd.Close acForm, Me.Name
End If
End Sub
Ciao