Bonjour à tous,

j'ai une lenteur quand j'exécute mon code. je sais que cela vient du champs NO_ordre. j'ajoute un indice chronologique a chaque validation de ligne en allant chercher l'indice max dans la table transaction.

vous trouverez ci dessous mon code. Auriez vous svp une solution a me proposer pour que cette indice s'ajoute plus rapidement, car nous scannons 3 code barre rapidement et le code n'a pas le temps de s'executer entre chaque scan?

Merci pour votre aide

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 contenant_AfterUpdate()
Dim ligne As Recordset:
Dim base As Database
 
MATERIAL_LOCAL = ""
LIBELLE = ""
Me.LAZONE = ""
Me.NO_ORDRE = ""
Me.NBR_CARTON_PAL = ""
Me.SITE = ""
Me.EMP = ""
Me.valide = ""
Me.LAZONE_1 = ""
Me.CODE_MVT = ""
 
 
 
If Not IsNull(Me.CONTENANT) Then
Set base = Application.CurrentDb
Set ligne = CurrentDb.OpenRecordset("SELECT * FROM TABLE_TRANSACTION  WHERE contenant='" & CONTENANT.Value & "'", dbOpenDynaset)
ligne.MoveFirst
Me.MATERIAL_LOCAL = ligne.Fields("MATERIAL_LOCAL").Value
Me.LIBELLE = ligne.Fields("LIBELLE").Value
Me.NBR_CARTON_PAL = ligne.Fields("CARTON_PAL").Value
Me.CODE_MVT = "925"
Me.NO_ORDRE = "REP000" & Me.N°REC & "-" & IIf(DLookup("[indice]", "[Requête_MAX_INDICE_REP]") > 1, DLookup("[indice]", "[Requête_MAX_INDICE_REP]"), Me.QTT_DEPOSE_TRANS + 1)
Me.SITE = "05"
Me.EMP = "999"
Me.LAZONE = "PD999"
Me.LAZONE_1 = ligne.Fields("LAZONE").Value
DoCmd.OpenQuery "Requête_AJOUT_TABLE_TEMPORAIRE_ALIMX3", , acReadOnly
DoCmd.OpenQuery "Requête_AJOUT_TABLE_HISTORIQUE_ALIMX3", , acReadOnly
Me.QTT_DEPOSE_TRANS.Value = DCount("*", "TABLE_TEMPORAIRE_ALIMX3", "CONTENANT")
Me.ALIM_PAL.Value = DLookup("[QUANTITE]", "[Requête_PALETTE_ALIMENTE]")
CONTENANT = ""
ligne.Close
base.Close
Set ligne = Nothing
Set base = Nothing
CONTENANT.SetFocus
DoCmd.Requery
 
 
 
 
Else
MsgBox "LE CHAMPS CONTENANT NE PEUT PAS ETRE VIDE", vbCritical, "ATTENTION"
CONTENANT.SetFocus
End If
 End Sub