Bonjour,
Je dois concevoir un formulaire qui sert à créer des factures. J'ai une table CLIENTS, une table PRODUITS et une table FACTURES. Dans le formulaire "factures" selon le numéro de client le programme inscrit les coordonnées du client (nom, adresse...) et cela fonctionne bien.
Ensuite, je dois utiliser la table PRODUITS afin de rechercher les informations sur l'Item (le produit) recherché (vendu). Je dois entrer un numéro de produit (NoItem1, NoItem2...) et lorsque le programme trouve ce numéro de produit il inscrit la description de ce produit ainsi que le prix vendu.
Mais lorsque j'entre un numéro d'Item voici ce que le système me dit: "Trop peu de paramètres 1 attendu !" De plus, lorsque je n'entre aucun numéro d'item le programme n'en tient pas compte.
Je ne comprend plus rien. Si quelqu'un peut m'aider j'apprécierais beaucoup.
Voici mon code:
Code VBA : 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 Private Sub NoClient_AfterUpdate() On Error GoTo NoClient_Err 'Déclaration des variables Dim db As DAO.Database Dim rst As DAO.Recordset Dim strSQL As String 'Si le numéro de client est inscrit If Me.NoClient > "" Then 'On crée le record pour aller chercher l'adresse selon le numéro du client Set db = CurrentDb strSQL = "SELECT CLIENTS.NoClient, NomEntreprise, AdresseFacture, VilleFacture, CodeFacture, Province FROM CLIENTS " _ & "WHERE CLIENTS.NoClient = " & Me.NoClient & ";" Set rst = db.OpenRecordset(strSQL) 'Si le numéro de client correspond à une adresse If rst.EOF = False Then Me.Adresse = rst("AdresseFacture") Me.Ville = rst("VilleFacture") Me.CP = rst("CodeFacture") Me.NomClient = rst("NomEntreprise") Me.Province = rst("Province") 'Si le numéro de client n'est pas dans la base de données Else MsgBox "Ce numéro de client n'existe pas!" End If 'On libère la mémoire rst.Close Set rst = Nothing Set db = Nothing Else End If Exit_NoClient_AfterUpdate: Exit Sub NoClient_Err: MsgBox Err.Description Resume Exit_NoClient_AfterUpdate End Sub Private Sub NoItem1_AfterUpdate() On Error GoTo NoItem1_Err 'Déclaration des variables Dim db As DAO.Database Dim rst As DAO.Recordset Dim strSQL As String 'Si le numéro de produit est inscrit If Me.NoItem1 > "" Then 'On crée le record pour aller chercher la description et le prix vendant du produit Set db = CurrentDb strSQL = "SELECT PRODUITS.CodeProFour, Description, PrixVendant, PrixUnite, PrixKilo FROM PRODUITS " _ & "WHERE PRODUITS.CodeProFour = " & Me.NoItem1 & ";" Set rst = db.OpenRecordset(strSQL) 'Si le numéro d'Item correspond au Code de Produit Founisseur If rst.EOF = False Then Me.Des1 = rst("Description") Me.Prix1 = rst("PrixUnite") 'Si le numéro d'Item n'est pas dans la base de données Else MsgBox "Ce numéro de produit n'existe pas!" End If 'On libère la mémoire rst.Close Set rst = Nothing Set db = Nothing Else End If Exit_NoItem1_AfterUpdate: Exit Sub NoItem1_Err: MsgBox Err.Description Resume Exit_NoItem1_AfterUpdate End Sub
Partager