Bonjour le monde,

J’ai un probleme a vous poser. j’ai un formulaire qui contient une liste deroulante.
A partir de cette derniere, l’utilisateur peut choisir une date. Les dates sont en format dd/mm/yyy; par exemple 31/03/2011.

La valeur de la date choisie est ensuite passee a la variable QuarterFY1 (declaree egalement comme Date) dans l’evenement AFTERUPDATE de ma liste deroulante.
Jusque la , tout se passe bien.

Maintenant si j’inserre la dite valeur dans dans le champ Period_Selected de la table SelectedPeriodList (pour ce faire, j’utilise la methode Execute de l’objet Connection en ADO), la valeur “perd” son format et devient 00:07:24.

Question1: svp aidez moi a inserrer directement la date choisie (a partir de la liste deroulante) dans une table c’est a dire sans passer VBA.

Question 2 : dans le cas je serai oblige de passer VBA pour realiser cette operation, dites moi svp ce que je dois faire pour que la date chosie s’affiche correctement dans ma table (ie comme 31/03/2011)

Je rappele que le champ de la table qui acueille les dates choisies (a partir de la liste deroulante) est de type Date egalement.

Merci d’avance .



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub InsertValue(xDate As Date)
'cette procedure inserre des valeurs dans le champ Period_Selected
de la table SelectedPeriodList.
 'xDate est l'argument de ma fonction.
'cette fonction est appelee au niveau de l'evenement AFTERUPDATE de la liste deroulante.
 
    Dim Cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set Cn = Application.CurrentProject.Connection
    Set rs = CreateObject("adodb.recordset")
    Dim CmdStr As String
 
 
    CmdStr = "INSERT INTO SelectedPeriodList (Period_Selected)"
    CmdStr = CmdStr & "VALUES (" & xDate & ")"
 
 
    Cn.Execute CmdStr
 
 
End Sub

Le code de ma liste deroulante.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Combo1_AfterUpdate()
 
'notez que QuarterFY1 a ete declaree comme PUBLIC et est de type Date.
'la date choisie a partir de la liste deroulante passe sa valeur a la variable QuarterFY1.
 
    QuarterFY1 = Me.Combo1.Value
    MsgBox QuarterFY1  'retourne bien la date dans le bon format ie 31/03/2011
 
'Inserer la valeur de la variable QuarterFY1 dans le champ Period_Selected de la table SelectedPeriodList.
    Call InsertValue(QuarterFY1)
 
End Sub