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
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
Y a t'il quelque chose que je n'ai pas fait ?