Bonjour à tous
Je travaille sur un projet VB6 utilisant une base de donnnées PostgreSQL.
Lorsque je modifie l'enregitrement courant du formulaire, j'enregistre et je ferme le formulaire, je constate apres réouverte du formulaire que la mise à jour n'a pas été prise en compte. Mais curieusement, si après avoir enregistré, je passe à l'enregistrement suivant ou précédent, avant de fermer le formulaire, là, résultat est bon. après le constat, j'ai dû insérer du code pour passer à l'enregstrement précédent et revenir sur l'enregistrement courant. Voici le code du bouton ENREGISTRER
Y a t'il quelque chose que je n'ai pas fait ?
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 Private Sub cmdUpdate_Click() On Error GoTo UpdateErr cmdUpdate.MousePointer = vbHourglass 'Validation est une fonction de test de validité des valeurs saisies If Validation = False Then Exit Sub End If If mbAddNewFlag Then txtFields(3).Text = "000000" End If If Trim(txtFields(6).Text) = "1" Then txtFields(4).Text = Val(txtFields(4).Text) + Val(txtMinute.Text) + Val(txtHeure.Text) * 60 'adoPrimaryRS("durcli") = Val(txtFields(4).Text) Else txtFields(5).Text = Val(txtFields(5).Text) + Val(txtMontant.Text) 'adoPrimaryRS("moncli") = Val(txtFields(5).Text) End If txtFields(9).Text = Date adoPrimaryRS.UpdateBatch adAffectAll If mbAddNewFlag Then adoPrimaryRS.MoveLast 'passer au nouvel enregistrement Else '--- Voici le code que j'ai dû ajouter pour effectuer le déplacement --- If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious adoPrimaryRS.MoveNext End If '------- Fin du code ------------------ End If mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False cmdUpdate.MousePointer = vbDefault Exit Sub UpdateErr: MsgBox Err.Description End Sub
Partager