bonjour,

je vous soumets un petit problème concernant la mise à jour d'un champ en utilisant SQL (UPDATE)
J'ai créé un formulaire à partir d'une table et je voudrais mettre à jour un champ CATEGORY, en fonction du contenu d'un autre champ CLASS_ERP
Pour cela j’utilise un select case pour gérer les différents cas afin de déterminer la valeur à mettre à jour.
Le select case fonctionne mais pas la mise à jour car j'ai un message d'erreur
ERREUR DE SYNTAXE (OPERATEUR ABSENT) DANS L'EXPRESSION 40006304;NAT_GES='65'
Mais Lorsque je remplace les valeurs numériques par des lettres A, B,..... cela fonctionne bien

Ou peut se trouver mon erreur ?

merci

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Private Sub NAT_GES_GotFocus()
Dim DB As DAO.Database: Set DB = CurrentDb
Dim r As DAO.Recordset: Set r = DB.OpenRecordset("40006304", dbOpenTable)
Dim myvariant As Variant
Dim strsql As String
 
myvariant = [NAT_GES]
r.MoveFirst
If IsNull(myvariant) Or myvariant = "" Then
MsgBox ("egal vide")
Else
 
Select Case myvariant
 
Case "65"
MsgBox ("asm article")
strsql = "UPDATE 40006304 SET 40006304.CLASS_ART='asm article'WHERE 40006304.NAT_GES ='65'"
CurrentDb.Execute strsql
 
        Case "12"
        MsgBox ("elet standard")
        strsql = "UPDATE 40006304 SET 40006304.CLASS_ART = 'element standard'WHERE 40006304.NAT_GES ='12'"
        CurrentDb.Execute strsql
 
            Case "32"
            MsgBox ("prt article")
            strsql = "UPDATE 40006304 SET 40006304.CLASS_ART = 'prt article' WHERE 40006304.NAT_GES ='32'"
            CurrentDb.Execute strsql
        Case Else
        MsgBox ("pas prevu")
        End Select
        End If
 
 
 
End Sub