Bonjour,
Je suis très novice en VBA , je créer plusieur code vba que j'ai empile en fonction de déroulement des actions demande.
Pouvez-vous jeter un oeil pour me corrige et si c'est correct.
Merci
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 Private Sub GenerationET_Click() If Not IsNull(Me.Edition_etiquette.Value) Then MsgBox "Les etiquettes sont deja affectées a un numero de lot" Exit Sub End If DoCmd.SetWarnings False '=== Mise a jour qte par rapport a l'of et vide la table tmp prep archivage DoCmd.SetWarnings False Dim Dtbase As DAO.Database, strSql As String strSql = "UPDATE [TB-TempPrepOF] INNER JOIN [TB-liste_of] ON [TB-TempPrepOF].N°of = [TB-liste_of].of_id SET [TB-TempPrepOF].QTE = [TB-liste_of].[qte_pr];" strSql = "DELETE [TB-TempPrepArchi].* FROM [TB-TempPrepArchi];" strSql = "delete [TB-TempEnreNumeroLot].* from [TB-TempEnreNumeroLot];" Set Dtbase = CurrentDb() Dtbase.Execute (strSql) Dtbase.Close '=== Creer le nombre d'etiquette dans tb prepAchivage Dim rst1 As DAO.Recordset Dim rst2 As DAO.Recordset Set rst1 = CurrentDb.OpenRecordset("TB-TempPrepOF") Set rst2 = CurrentDb.OpenRecordset("TB-TempPrepArchi") While Not rst1.EOF For I = 1 To rst1.Fields(0) rst2.AddNew rst2.Fields(0) = rst1.Fields(2) rst2.Fields(1) = rst1.Fields(1) rst2.Update Next rst1.MoveNext Wend rst1.Close rst2.Close Set rst1 = Nothing Set rst2 = Nothing '=== Mise a jour numero de lot '== comptage etiquette 1 a... DoCmd.OpenQuery "RQ-Comptage etiquette" '== mise à jour numero de lot avec dernier lot DoCmd.OpenQuery "RQ-Fusion N°etiquette+Lot" strSql = "UPDATE [TB-TempPrepOF] INNER JOIN [TB-liste_of] ON [TB-TempPrepOF].N°of = [TB-liste_of].of_id SET [TB-liste_of].Edition_etiquette = Yes;" Set Dtbase = CurrentDb() Dtbase.Execute (strSql) Dtbase.Close '== mise a jour du dernier lot sur donnée etiquette DoCmd.OpenQuery "RQ-Dernier lot de l'edition" DoCmd.OpenQuery "RQ-Mise_a_jour_dernier_lot_article" DoCmd.OpenQuery "RQ-Ajout dans archivage" DoCmd.SetWarnings True MsgBox "Génération terminé.", vbInformation End Sub
Partager