OVH Cloud OVH Cloud

Access 2000 Contrôle calendrier 9.0

11 réponses
Avatar
zOrg2net
Bonjour tout le monde,

Dans un formulaire, j'ai un sous-formulaire, dans lequel 3 champs date ouvre
sur clic le même contrôle ActiveX calendrier, que j'ai inséré sur un
formulaire. J'ai eu beau parcourir l'aide d'Access, je n'ai toujours pas
trouvé comment renvoyer la date sélectionnée du calendrier, dans le champs
correspondant. En plus le mot calendrier ou calendar dans la recherche sur le
forum Access ne renvoi rien du tout.
Quelqu'un aurait-il une petite idée.
Merci d'avance.

zOrg2net
7OuNet
Le dicton du jour: La peine prévue pour la polygamie, c'est d'avoir
plusieurs belles mères.

1 réponse

1 2
Avatar
zOrg2net
Bonjour koalavert,

Désolé de reprendre le fil si tard, mais l'administrateur système m'a viré
de ma machine pour cause de maintenance. Mon problème était donc toujours
existant avant que je lise ton post.
Ceci dit, BINGO !!! ;o))) Ta solution fonctionne parfaitement et cela me
soulage d'un grand poids. Moult mercis à toi et à ze titi. Je vais prendre
quelques instants pour décripter ton code et voir pourquoi l'autre ne marche
pas. @+

zOrg2net
7OuNet
Le dicton du jour: Il n'y a pas de fumé sans indiens!!


hello,
as tu resolu ton pb, sinon j'ai ça:
Soit un formulaire Form1 contenant un sous-formulaire Form2 et un
formulaire calendrier avec un controle nommé Calendar0.
Pour pouvoir utiliser le calendrier aussi bien avec le formulaire
Form1
incluant le sous-form Form2 et avec Form2 utilisé seul, le code
pourrait
être le suivant:
1-Sur l'évènement Double-clic du champ de type Date présent (ici
DateFacture) dans form2 (mis en sous-formulaire ou autonome):

Private Sub DateFacture_DblClick(Cancel As Integer)
On Error GoTo Err_Calendrier ' gestion d'erreur simplifiée
DoCmd.OpenForm "calendrier"
Forms("calendrier").Caption = Me.Parent.Name & _
"!" & Me.Name & "!" & Me.DateFacture.Name
Exit Sub
Err_Calendrier:
If Err.Number = 2452 Then
Forms("calendrier").Caption = Me.Name & _
"!" & Me.DateFacture.Name
Else
Forms("calendrier").Caption = Me.Parent.Name & _
"!" & Me.Name & "!" & Me.DateFacture.Name
End If
Resume Next
End Sub

2-Sur l'évènement clic du contrôle Calendar0 du formulaire Calendrier:

Private Sub Calendar0_Click()
Dim frm As String, frmPere As String
Dim ctl As String
Dim sep1 As Integer, sep2 As Integer
sep1 = InStr(1, Me.Caption, "!")
sep2 = InStrRev(Me.Caption, "!")
If sep1 <> sep2 Then
frmPere = Mid(Me.Caption, 1, sep1 - 1)
frm = Mid(Me.Caption, sep1 + 1, sep2 - sep1 - 1)
ctl = Mid(Me.Caption, sep2 + 1)
Forms(frmPere)(frm)(ctl) = Me.Calendar0
Else
frm = Mid(Me.Caption, 1, sep1 - 1)
ctl = Mid(Me.Caption, sep1 + 1)
Forms(frm)(ctl) = Me.Calendar0
End If
DoCmd.Close
End Sub

rem pour ouvrir le calendrier à la date du jour
Private Sub Form_Load()
Me.Calendar0.Value = Date
End Sub

(PS: En partant du principe que Form2 ne contient pas, à son tour, un
sous-formulaire avec un champ de type Date)
Eric connait bien....




1 2