Bonjour,
J'effectue une mise à jour des champs d'une de mes tables grace a une requete rédiger en vba
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub CmB_RechercheMotCle_Click() Dim Num As String Dim NouvelleValeur As String Dim i As Variant Dim Requete As String If Me.DateCloture.Value > "" Then NouvelleValeur = Me.DateCloture.Value Call MiseAJour("DateCloture", NouvelleValeur) End If End Sub
Mon problème est que lorsque je met à jour un champ contenant une date (DateCloture) , cela ne correspond pas à la valeur que j'avais préciser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Function MiseAJour(ChampCible As String, Valeur As String) Dim Num, Requete As String Dim i As Variant For Each i In Me![Lst_Results].ItemsSelected DoCmd.SetWarnings False Num = Lst_Results.Column(0, i) Requete = "UPDATE T_Bilan SET " & ChampCible & " = " & Valeur & " WHERE" & _ "(((T_Bilan.NumBilan)=" & Me.Lst_Results.Column(0, i) & ")); " DoCmd.RunSQL (Requete) DoCmd.SetWarnings True Next i End Function
J'ai essayé avec mon champ DateCloture au format texte : il me renvoie un nombre à virgule. Avec DateCloture au format Date : il me renvoie systématiquement 31/12/1899 !!
Merci de votre aide !
Partager