OVH Cloud OVH Cloud

erreur d'exécution 3316

1 réponse
Avatar
ben
Bonjour,
J'ai un contr=F4le dans un formulaire associ=E9 =E0 un champ=20
date dans une table.
La saisie n'est valide que si la date est inf=E9rieur =E0 la=20
date du jour.
Si je saisi une date post=E9rieure, mon message appara=EEt=20
correctemment.

Mais si j'entre une date post=E9rieure via une calendrier=20
que j'ai cr=E9=E9 de type Monthview dont le code est le=20
suivant :=20

Private Sub MonthView8_DateClick(ByVal DateClicked As=20
Date)
Dim Temp As String
' Temp stocke la valeur du contr=F4le calendrier quand=20
l'usager doubleclique sur une ' date
Temp =3D DateClicked
' Ferme le formulaire de dialogue
DoCmd.Close acForm, Me.Name
' Assigne la valeur du contr=F4le calendrier au contr=F4le=20
pr=E9c=E9demment actif du
' formulaire de saisie
Screen.ActiveControl.Value =3D Temp
End Sub

alors l'erreur est de type visual basic, erreur 3316,=20
avec mon message d'erreur mais une proposition de=20
d=E9boguer. La ligne de code qui pose probl=E8me=20
est "Screen.ActiveControl.Value =3D Temp"

Quelqu'un aurait-il une solution ?
Merci d'avance ben.

1 réponse

Avatar
Ilan
Bonjour Ben,

Affecte plutot le control du formulaire de cette facon

Forms("Nomdetonformulaire").controls("Nomducontrol").value=temp

Pour ce faire le formulaire doit etre encore ouvert


Bonjour,
J'ai un contrôle dans un formulaire associé à un champ
date dans une table.
La saisie n'est valide que si la date est inférieur à la
date du jour.
Si je saisi une date postérieure, mon message apparaît
correctemment.

Mais si j'entre une date postérieure via une calendrier
que j'ai créé de type Monthview dont le code est le
suivant :

Private Sub MonthView8_DateClick(ByVal DateClicked As
Date)
Dim Temp As String
' Temp stocke la valeur du contrôle calendrier quand
l'usager doubleclique sur une ' date
Temp = DateClicked
' Ferme le formulaire de dialogue
DoCmd.Close acForm, Me.Name
' Assigne la valeur du contrôle calendrier au contrôle
précédemment actif du
' formulaire de saisie
Screen.ActiveControl.Value = Temp
End Sub

alors l'erreur est de type visual basic, erreur 3316,
avec mon message d'erreur mais une proposition de
déboguer. La ligne de code qui pose problème
est "Screen.ActiveControl.Value = Temp"

Quelqu'un aurait-il une solution ?
Merci d'avance ben.