bonjour tout le monde,
je developpe actuellement une application en access/vba et j'essaye dans un de mes formulaires de mettre à jours une autre table que celle sur laquelle le formulaire est basé, jusque la tout se passe bien, puis j'essaye ensuite de supprimer cette enregistrement de la table source (celle du formulaire) et la j'ai 2 problemes :
1erement le formulaire se remplit de #supprimé ( normal vu que l'enregistrement n'existe plus), j'ai essayé de faire un me.requery mais rien n'y fait.
voici mon code :
j'ai cherché comment effectué une suppresion sans passer par un composant DAO mais je n'ai pas trouvé, j'ai aussi chercher comment faire passer le formulaire à l'enregistrement suivant avant de supprimer mais idem, je n'ai pas trouvé
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
50 Private Sub btn_maj_Click() On Error GoTo err_maj If Me.Kibmproduct.Value <> "" Then Dim rarticle As DAO.Recordset Dim rmaj As DAO.Recordset Dim sql As String sql = "SELECT * from article where karticle=" & Me.Karticle Set rarticle = CurrentDb.OpenRecordset(sql) 'table à mettre à jours avec les données du formulaire sql = "select * from import_article where karticle=" & Me.Karticle Set rmaj = CurrentDb.OpenRecordset(sql) 'table sur laquel le formulaire est basé If rarticle.RecordCount <> 1 Then MsgBox ("probleme avec l'article") Else rarticle.Edit rarticle("PRODUIT") = Me.PRODUIT.Value rarticle("SOUS-FAMILLE") = Me.SOUS_FAMILLE.Value rarticle("CATEGORIE") = Me.CATEGORIE.Value rarticle("BU") = Me.BU.Value rarticle("REF_IBM") = Me.refibm.Value rarticle("IBM PRODUCT CODE") = Me.ibmproductcode.Value rarticle("PRODUCT KEY") = Me.productkey.Value rarticle("Kibmproduct") = Me.Kibmproduct.Value rarticle("CODE_MARQUE") = Me.CODE_MARQUE.Value rarticle("Kmarque") = Me.Kmarque.Value rarticle.Update rmaj.Delete Me.Requery Me.Refresh MsgBox ("Mise à jours de l'article correctement effectuée") End If Else MsgBox ("Veuillez choisir un ibmproduct correspondant à votre Article via la combobox") End If Exit Sub maj_exit: Exit Sub err_maj: If MsgBox(Error, vbApplicationModal + vbExclamation + vbOKOnly + vbDefaultButton1, "Erreur ! ") Then Resume maj_exit End If End Sub
je ne suis pas du tout un expert en access, j'espere que vous pourrez m'aider. merci d'avance
Partager