Bonjour,
Je viens vous demander de l'aide car après avoir écumé toutes les forums je ne trouve pas de solution.
J'ai crée un fichier pour gérer mon stock et facturer mes clients, seul problème, je ne peux facturer que des entiers, dés que je mets un nombre décimale Visual Basic me renvoie l'erreur d'exécution 3346 (le nombre de valeurs de la requête doit coïncider avec le nombre de champs destination).
Auriez vous une solution pour que je puisse commencer à travailler s'il vous plait.
Je vous remercie beaucoup.
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
37
38
39
40
41
42
43
44 Private Sub ajouter_facture_Click() Dim ligne As Recordset: Dim base As Database Dim requet As String: Dim total As Integer: Dim total_achat As Integer If (IsNumeric(qte_commandee.Value) And qte_commandee.Value > 0 And ref_produit.Value <> "") Then If (Int(qte_commandee.Value) <= Int(Qte_stock.Value)) Then total = Int(prix_unitaire.Value) * Int(qte_commandee.Value) total_achat = 0 Set base = Application.CurrentDb requet = "INSERT INTO Detail_temp (ref_det,Designation,Couleur,Taille,Prix_unitaire_HT,qute_det,Prix_total_HT) VALUES ('" & ref_produit.Value & "','" & Designation.Value & "','" & DESIGN.Value & "'," & Taille.Value & "," & prix_unitaire.Value & "," & qte_commandee.Value & "," & total & ");" base.Execute requet Set ligne = base.OpenRecordset("SELECT Prix_total_HT FROM Detail_temp", dbOpenDynaset) ligne.MoveFirst Do total_achat = total_achat + Int(ligne.Fields("Prix_total_HT").Value) ligne.MoveNext Loop Until ligne.EOF total_commande.Value = total_achat ligne.Close base.Close Set ligne = Nothing Set base = Nothing DoCmd.Requery Else MsgBox "Le stock ne permet pas d'ajouter ce produit a la facture pour la quantite demandee" End If Else MsgBox "Pour ajouter un article a la commande, vous devez definir une quantite superieure a 0" End If End Sub
Partager