Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/02/2011, 01h16   #1
Invité de passage
 
Inscription : juillet 2010
Messages : 1
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 1
Points : 0
Points : 0
Par défaut Simplification code débutant

Bonjour,

J'ai une application en réseau qui est très ralenti par ce code:
(je joint une image pour voir les noms de mon code)

http://www.casimages.com/img.php?i=1...1121337286.png

Code :
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
Private Sub Commande82_Click()
    DoCmd.SetWarnings False
 
liste.Requery
liste.Value =[liste].[ItemData]([liste].[ListCount] - 1)
 
 
If ID_TRSP.Value <> "" Or ID_FOUR.Value <> "" Then
If REF_EMBAL.Value <> "" And CMR.Value <> "" And DATE_R.Value <> "" Then
 
 
If liste.Value <> "" Then
    MsgBox "Cet emballage existe déjà.", vbExclamation, "Attention"
    REF_EMBAL.Value = ""
     Exit Sub
Else
 
 
If (Code.Value <> "") Then
 
    reception1.Value = 1
    num.Value = 1
    code_ini.Value = Code.Value
    deconsigne_ini.Value = deconsigne.Value
    consigne_ini.Value = consigne.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
End If
 
If (Code1.Value <> "") Then
 
    reception1.Value = 1
    num.Value = 2
    code_ini.Value = Code1.Value
    deconsigne_ini.Value = deconsigne1.Value
    consigne_ini.Value = consigne1.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
End If
 
If (Code2.Value <> "") Then
 
    reception1.Value = 1
    num.Value = 3
    code_ini.Value = Code2.Value
    deconsigne_ini.Value = deconsigne2.Value
    consigne_ini.Value = consigne2.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
End If
 
If (code3.Value <> "") Then
 
    reception1.Value = 1
    num.Value = 4
    code_ini.Value = code3.Value
    deconsigne_ini.Value = deconsigne3.Value
    consigne_ini.Value = consigne3.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
End If
 
If (code4.Value <> "") Then
    reception1.Value = 1
    num.Value = 5
    code_ini.Value = code4.Value
    deconsigne_ini.Value = deconsigne4.Value
    consigne_ini.Value = consigne4.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
  End If
 
  If (code5.Value <> "") Then
    reception1.Value = 1
    num.Value = 6
    code_ini.Value = code5.Value
    deconsigne_ini.Value = deconsigne5.Value
    consigne_ini.Value = consigne5.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
  End If
 
  If (code6.Value <> "") Then
    reception1.Value = 1
    num.Value = 7
    code_ini.Value = code6.Value
    deconsigne_ini.Value = deconsigne6.Value
    consigne_ini.Value = consigne6.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
  End If
 
  If (code7.Value <> "") Then
    reception1.Value = 1
    num.Value = 8
    code_ini.Value = code7.Value
    deconsigne_ini.Value = deconsigne7.Value
    consigne_ini.Value = consigne7.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
  End If
 
  If (code8.Value <> "") Then
    reception1.Value = 1
    num.Value = 9
    code_ini.Value = code8.Value
    deconsigne_ini.Value = deconsigne8.Value
    consigne_ini.Value = consigne8.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
  End If
 
  If (code9.Value <> "") Then
    reception1.Value = 1
    num.Value = 10
    code_ini.Value = code9.Value
    deconsigne_ini.Value = deconsigne9.Value
    consigne_ini.Value = consigne9.Value
DoCmd.RunSQL "insert into reception (MAJ_REC,UTIL_REC,TRSP_REC,FOUR_REC,DATE_REC,BON_REC,CMR_REC,NUM_REC,EMBAL_REC,DEC_REC,CON_REC,ETAT_REC)values(now(),currentuser(),ID_TRSP,ID_FOUR,DATE_R,REF_EMBAL,CMR,num,code_ini,nz(deconsigne_ini,0),nz(consigne_ini,0),reception1)", -1
 
  End If
    Me![ID_TRSP].SetFocus
    'MsgBox ("Enregistrement réussi!!!")
End If
Else: MsgBox "Enregistrement Annulé: un champ est vide", vbExclamation, "Attention"
Me![DATE_R].SetFocus
Exit Sub
End If
Else: MsgBox "Enregistrement Annulé: champ transporteur ou fournisseur vide", vbExclamation, "Attention"
Me![ID_TRSP].SetFocus
Exit Sub
End If
 DoCmd.Close acForm, "RECEPTION"
 DoCmd.OpenForm "RECEPTION", acNormal, , , acFormAdd
End Sub
J'aimerais savoir si il y avait pas une simplification pour accélérer l'insertion qui est très lente sur le réseau de l'ordre de 30s sachant que de nombreux enregistrements sont effectués sur cet écran. Par plusieurs utilisateurs en même temps

et je ne parle d'un autre écran qui permet la modification de saisie qui est de l'ordre d'1min, mais qui ressemble à celui-ci, j'espère du coup m'en inspirer si une solution existe , merci d'avance pour les réponse
cycnus89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 18h12   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,
Le problème n'étant pas propre à ce code (tu as des problèmes de lenteur sur un autre formulaire) je pense que ton problème est général.

Il y a un tuto sur l'optimisation des bases de données.

http://loufab.developpez.com/tutorie.../optimisation/

A consulter en priorité.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h33.


 
 
 
 
Partenaires

Hébergement Web