Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment utiliser calendrier pour MAJ différents champs dates

5 réponses
Avatar
levallo
Bonjour =E0 tous,

Je suis confront=E9 =E0 un petit probl=E8me dont je ne trouve pas la
solution. Je travaille avec ACCESS 2000.


J'ai plusieurs tables avec plusieurs champs date dans une base. Les
formulaires correspondants pour la saisie et la MAJ comportent ces
champs date.

Mon souhait serait de pouvoir mettre =E0 jour n'importe quel champ date
que je double_clic avec l'affichage grace au control Calendrier du
Calendrier o=F9 je clic la date souhait=E9e et que celle-ci mette =E0 jour
le champ date de mon formulaire.

En cherchant dans les archives de ce forum j'ai trouv=E9 une solution
propos=E9e qui correspondrait =E0 ce que je souhaite, mais qui ne
fonctionne pas sur mon test.

Mon test comprend une Table1 avec ( Enr (numAuto), Nom (texte),
Madate(date abr=E9g=E9e), Madate1(date abr=E9g=E9e) )
Le formulaire frmTable1 comporte ces quatre champs.
J'ai cr=E9=E9 le formulaire calendrier.

Dans le formulaire calendrier j'ai ins=E9r=E9 une solution propos=E9e sur
ce forum le 8/12/2005 par Ghislain, soit

Private Sub Calendar0_Click()
Dim frm As String
Dim ctl As String
On Error GoTo Err_Args
frm Mid(Me.Caption, 1, InStr(1, Me.Caption, "!") - 1)
ctl Mid(Me.Caption, InStr(1, Me.Caption, "!") + 1)
Puis ces 2 lignes qui ne sont pas semble-t-il correctes car restent en
rouge dans VBA
If IsNull(frm) Or frm "" Or IsNull(ctl) Or ctl "" Then GoTo
Err_Args
Forms(frm)(ctl) Me.Calendar0
Err_Args:
End Sub

Ainsi que :

Private Sub Form_Current()
Calendar0.Value =3D Date
End Sub

Pourriez-vous SVP m'aider =E0 trouver une solution pour utiliser
calendrier correctement sur mon souhait.

Cordialement


Jean

5 réponses

Avatar
michel
Bonjour
Il manque tous les signes Egal
Private Sub Calendar0_Click()
Dim frm As String
Dim ctl As String
On Error GoTo Err_Args
frm= Mid(Me.Caption, 1, InStr(1, Me.Caption, "!") - 1)
ctl =Mid(Me.Caption, InStr(1, Me.Caption, "!") + 1)
Puis ces 2 lignes qui ne sont pas semble-t-il correctes car restent en
rouge dans VBA
If IsNull(frm) Or frm = "" Or IsNull(ctl) Or ctl = "" Then GoTo Err_Args
Forms(frm)(ctl)= Me.Calendar0
Err_Args:
End Sub

Ainsi que :

Private Sub Form_Current()
Calendar0.Value = Date
End Sub
Attention au nom de ton control calendrier
ici calendar0
Voila
Michel

a écrit dans le message de news:

Bonjour à tous,

Je suis confronté à un petit problème dont je ne trouve pas la
solution. Je travaille avec ACCESS 2000.


J'ai plusieurs tables avec plusieurs champs date dans une base. Les
formulaires correspondants pour la saisie et la MAJ comportent ces
champs date.

Mon souhait serait de pouvoir mettre à jour n'importe quel champ date
que je double_clic avec l'affichage grace au control Calendrier du
Calendrier où je clic la date souhaitée et que celle-ci mette à jour
le champ date de mon formulaire.

En cherchant dans les archives de ce forum j'ai trouvé une solution
proposée qui correspondrait à ce que je souhaite, mais qui ne
fonctionne pas sur mon test.

Mon test comprend une Table1 avec ( Enr (numAuto), Nom (texte),
Madate(date abrégée), Madate1(date abrégée) )
Le formulaire frmTable1 comporte ces quatre champs.
J'ai créé le formulaire calendrier.

Dans le formulaire calendrier j'ai inséré une solution proposée sur
ce forum le 8/12/2005 par Ghislain, soit

Private Sub Calendar0_Click()
Dim frm As String
Dim ctl As String
On Error GoTo Err_Args
frm Mid(Me.Caption, 1, InStr(1, Me.Caption, "!") - 1)
ctl Mid(Me.Caption, InStr(1, Me.Caption, "!") + 1)
Puis ces 2 lignes qui ne sont pas semble-t-il correctes car restent en
rouge dans VBA
If IsNull(frm) Or frm "" Or IsNull(ctl) Or ctl "" Then GoTo
Err_Args
Forms(frm)(ctl) Me.Calendar0
Err_Args:
End Sub

Ainsi que :

Private Sub Form_Current()
Calendar0.Value = Date
End Sub

Pourriez-vous SVP m'aider à trouver une solution pour utiliser
calendrier correctement sur mon souhait.

Cordialement


Jean
Avatar
levallo

Bonjour
Il manque tous les signes Egal
Private Sub Calendar0_Click()
Dim frm As String
Dim ctl As String
On Error GoTo Err_Args
frm= Mid(Me.Caption, 1, InStr(1, Me.Caption, "!") - 1)
ctl =Mid(Me.Caption, InStr(1, Me.Caption, "!") + 1)
Puis ces 2 lignes qui ne sont pas semble-t-il correctes car restent en
rouge dans VBA
If IsNull(frm) Or frm = "" Or IsNull(ctl) Or ctl = "" Then GoTo E rr_Args
Forms(frm)(ctl)= Me.Calendar0
Err_Args:
End Sub

Ainsi que :

Private Sub Form_Current()
Calendar0.Value = Date
End Sub
Attention au nom de ton control calendrier
ici calendar0
Voila
Michel

Merci Michel.


J'ai un autre souci, car je fais mes tous premiers pas dans le monde de
VBA.

Sur mon formulaire frmTable1 j'ai intégré :

Private Sub Madate_DblClick(Cancel As Integer)
DoCmd.OpenForm "calendrier"
Forms("calendrier").Caption Me.Name & "!" & Me.Madate.Name
End Sub
Ceci devrait intégrer la date dans mon champ date. Mais je rencontre
un problème de fonctionnement. A ton avis quelle est la monstrueuse
erreur que j'ai faite ?

Cordialement


Jean

Avatar
michel
Re Bonjour
Je ne sais pas trop ce que tu veux faire mais deja lee code precedent
suppose que le control calendrier est integre dans le form de saisie et non
dans un autre formulaire.
Or la tu ouvre un autre form Calendrier
De plus si tu veux mettre une valeur quelconque dans ton champ MaDate la
syntaxe est
Me!Madate= La valeur
Toi tu changes la Legende (caption) du form calendrier ??? et la encore il
manque le Egal
Forms("calendrier").Caption =Me.Name & "!" & Me.Madate.Name
@Plus
Michel
a écrit dans le message de news:



Bonjour
Il manque tous les signes Egal
Private Sub Calendar0_Click()
Dim frm As String
Dim ctl As String
On Error GoTo Err_Args
frm= Mid(Me.Caption, 1, InStr(1, Me.Caption, "!") - 1)
ctl =Mid(Me.Caption, InStr(1, Me.Caption, "!") + 1)
Puis ces 2 lignes qui ne sont pas semble-t-il correctes car restent en
rouge dans VBA
If IsNull(frm) Or frm = "" Or IsNull(ctl) Or ctl = "" Then GoTo
Err_Args
Forms(frm)(ctl)= Me.Calendar0
Err_Args:
End Sub

Ainsi que :

Private Sub Form_Current()
Calendar0.Value = Date
End Sub
Attention au nom de ton control calendrier
ici calendar0
Voila
Michel

Merci Michel.


J'ai un autre souci, car je fais mes tous premiers pas dans le monde de
VBA.

Sur mon formulaire frmTable1 j'ai intégré :

Private Sub Madate_DblClick(Cancel As Integer)
DoCmd.OpenForm "calendrier"
Forms("calendrier").Caption Me.Name & "!" & Me.Madate.Name
End Sub
Ceci devrait intégrer la date dans mon champ date. Mais je rencontre
un problème de fonctionnement. A ton avis quelle est la monstrueuse
erreur que j'ai faite ?

Cordialement


Jean

Avatar
michel
En relisant mieux l'objet voila une solution pour mettre a jour n'importe
quel champ avec la calendrier
Tu integre le calendrier (ici calendar4) dans ton Form dans ses proprietes
tu met Visible NON
Ensuite sur chaque champ a mettre a jour tu ecrit la procedure suivante
Private Sub test_DblClick(Cancel As Integer)
Me!Calendar4.Visible = True
End Sub
Dans les evenement du calendrier celle ci
screen.previousControl est donc le champ sur lequel tu vient de double
cliquer
Private Sub Calendar4_Click()
Screen.PreviousControl = Calendar4
'Pour pouvoir masquer le calendrier
Screen.PreviousControl.SetFocus
Me!Calendar4.Visible = False
End Sub

Voila
Michel

a écrit dans le message de news:



Bonjour
Il manque tous les signes Egal
Private Sub Calendar0_Click()
Dim frm As String
Dim ctl As String
On Error GoTo Err_Args
frm= Mid(Me.Caption, 1, InStr(1, Me.Caption, "!") - 1)
ctl =Mid(Me.Caption, InStr(1, Me.Caption, "!") + 1)
Puis ces 2 lignes qui ne sont pas semble-t-il correctes car restent en
rouge dans VBA
If IsNull(frm) Or frm = "" Or IsNull(ctl) Or ctl = "" Then GoTo
Err_Args
Forms(frm)(ctl)= Me.Calendar0
Err_Args:
End Sub

Ainsi que :

Private Sub Form_Current()
Calendar0.Value = Date
End Sub
Attention au nom de ton control calendrier
ici calendar0
Voila
Michel

Merci Michel.


J'ai un autre souci, car je fais mes tous premiers pas dans le monde de
VBA.

Sur mon formulaire frmTable1 j'ai intégré :

Private Sub Madate_DblClick(Cancel As Integer)
DoCmd.OpenForm "calendrier"
Forms("calendrier").Caption Me.Name & "!" & Me.Madate.Name
End Sub
Ceci devrait intégrer la date dans mon champ date. Mais je rencontre
un problème de fonctionnement. A ton avis quelle est la monstrueuse
erreur que j'ai faite ?

Cordialement


Jean

Avatar
levallo
Fantastique ça marche à merveille sur mon test. Je te remercie de ton
aide Michel.


Cordialement


Jean