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
| Dim maBD As Database
Dim Valeur As Double
Dim reqSQL As String
Dim choix As Integer
Dim x As Integer
Set maBD = CurrentDb()
Valeur = InputBox("Veuillez saisir un montant de la forme 1.x pour l'augmentation du prix d'un DVD:")
If Valeur = "" Then 'l'utilisateur a rien mis dans "Valeur"
choix = MsgBox("Vous n'avez rien rentré, Aucune Mise à jour effectuée.", vbOKOnly + vbExclamation, "Erreur")
If choix = vbOKOnly Then
Exit Sub
End If
Else: reqSQL = "UPDATE INTO DVD (PrixVente)"
##### reqSQL = reqSQL & " VALUES ('" & PrixVente & " * " & Valeur & "');"
MsgBox reqSQL
maBD.Execute reqSQL
DoCmd.Save
RefreshDatabaseWindow
x = MsgBox("Update Effectué Correctement", vbInformation)
End If 'obligatoire dans la syntaxe de if .... end if
'Call Saisi
End Sub |
Bonsoir,
Tout d'abord, je trouve bizarre de passer par un inputbox pour mettre à jour une table : pourquoi ne pas utiliser tout simplement un formulaire basé sur cette table ? les contrôles seraient plus simples à faire. Ensuite tu informes l'utilisateur de saisir un montant sous un format 1.x sans contrôler par la suite si la saisie est correcte, à part le fait qu'elle soit nulle.
Enfin, si toutefois tu veux continuer à utiliser cette méthode ton code mélange la syntaxe de mise à jour (UPDATE) et celle de l'ajout (INTO ... VALUES)
Voici le code correct :
reqSQL = "UPDATE DVD SET PrixVente = PrixVente * " & Val(Valeur)
Partager