salut à tous!
j'ai besoin de votre aide à vous tous, merci.
je réalise une application sur la gestion des stocks dans une entreprise. je fais mon application sur visual basic via access. Dans cette application je dois gerer du materiel et des fournisseur qui livre ce materiel. Dans ce cas j'ai déclaré 3 tables: materiel, fournisseur, livrer.
Dans materiel j'ai: num_materiel, nom_materiel, reference, type, stock.
dans fournisseur j'ai : num_four, nom, telephone, fax, ville
dans livrer j'ai: num_materiel, num_four, date_livraison
Donc dans ce cas si on fait une requête sur materiel, fournisseur, et livrer, on doit pouvoir afficher les fournisseurs qui ont fournis du materiel.
Le problème c'est que lors de l'enregistrement d'un nouveau materiel, si le fournisseur qui le livre est déjà enregistré dans la base, comment faire pour ne pas l'ajouter dans la liste des fournisseurs mais plutot rentrer le materiel qu'il a livré, et lorsque je vais applelé mes trois tables, je pourrais bel et bien voir que c'est le fournisseur(celui que je n'ai pas rajouté dans la base) qui l'a livré.
Le code que j'ai reussi a faire est celui-là:Ce code fonctionne, mais le problème est que ça reconnait que le 1er enregistrement. Au bout du 2eme il ne fait plus de comparaison de nom
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
45
46
47
48
49 Set cn = OpenDatabase(App.Path & "\DSI.mdb") Set rs = cn.OpenRecordset("materiel") rs.AddNew rs("designation") = designation.Text rs("numero_serie") = serie.Text rs("nom_materiel") = passif.Text rs("type") = Combo1.Text rs("reference") = reference.Text rs("stock") = stock.Text rs("marque") = marque.Text rs("prix_ht") = prix.Text ' je recupère le num_materiel pour l'ajouter dans la table fournir no_materiel = rs("num_materiel") rs.Update Set rs = cn.OpenRecordset("fournisseur") ' si le nom que je vais mettre est déjà enregistré dans la base de donnée alors je recupère seulement son numero et je n'ajoute pas son nom If LCase(fournisseur.Text) = LCase(rs("nom_fournisseur")) Then no_fournisseur = rs("num_fournisseur") Else ' s'il son nom n'est pas à enregistrer alors là je peux enregistrer tous ces champs rs.AddNew rs("nom_fournisseur") = fournisseur.Text rs("telephone") = telephone.Text rs("fax") = fax.Text rs("ville") = ville.Text rs("email") = email.Text rs("site") = site.Text no_fournisseur = rs("num_fournisseur") rs.Update End If Set rs = cn.OpenRecordset("fournir") ' j'ajoute dans la table fournir rs.AddNew rs("num_fournisseur") = no_fournisseur rs("num_materiel") = no_materiel rs.Update
Merci!
Partager