IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Probleme de mise à jour VB6-PostgreSQL


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 34
    Par défaut Probleme de mise à jour VB6-PostgreSQL
    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 ?

  2. #2
    Membre éprouvé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Par défaut
    Pourquoi adoPrimaryRS.UpdateBatch au lieu de adoPrimaryRS.Update ?

  3. #3
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 34
    Par défaut
    merci.
    En fait, j'ai généré le projet avec l'assistant de VB qui m'a proposé updatebatch. De toutes les façons, j'ai essayé avec update et c'est pareil.

  4. #4
    Membre éprouvé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Par défaut
    Tu devais avoir quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With adoPrimaryRS
          .AddNew
          !durcli = Val(txtFields(4).Text)
          !moncli = Val(txtFields(5).Text)
          '.....
          .Update ' pas UpdateBatch 
    End With

  5. #5
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 34
    Par défaut
    les rubriques DurCli et MonCli de la table sont liés au champ txtfields(4) et txtfields(5) du formulaire. C'est pour cela qu'habituellement, le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     AdoPrimaryRS.UpdtateBatch
    met à jour les rubriques de la table. d'où la mise en commentaire des affectation directes que j'ai faites et qui sont redondante.

Discussions similaires

  1. Probleme de mise à jour de données
    Par sylvanians dans le forum Forms
    Réponses: 1
    Dernier message: 23/05/2006, 12h15
  2. Réponses: 10
    Dernier message: 28/12/2005, 21h52
  3. Probleme de mise à jour et de modification d'une base
    Par flambo88 dans le forum Requêtes
    Réponses: 17
    Dernier message: 07/12/2005, 14h27
  4. Probleme de mise à jour de mes Edit Box
    Par bibi_64 dans le forum MFC
    Réponses: 2
    Dernier message: 02/11/2005, 22h49
  5. probleme de mise à jour de BD
    Par k_boy dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 30/05/2004, 21h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo