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

VBA Access Discussion :

MoveFirst décalé de plusieurs enregistrements [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Points : 11
    Points
    11
    Par défaut MoveFirst décalé de plusieurs enregistrements
    Bonjour à tous,

    Je suis actuellement en train de développer un petit outil pour mon entreprise sur Access.
    Cependant j'ai un petit soucis que je ne comprend pas...

    J'ai créer 2 recordSets sur la même base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set recordset_PV1 = db.openRecordSet ("SELECT * FROM PAS_DE_TEST WHERE ref_PV_TEST = " ID_PV1" & "")
    Set recordset_PV2 = db.openRecordSet ("SELECT * FROM PAS_DE_TEST WHERE ref_PV_TEST = " ID_PV2" & "")
    Ils proviennent donc de la même table. J'aimerai pouvoir vérifier un champ ligne à ligne et extraire différentes données pour calcul

    Le soucis c'est que le moveFirst est décalé de 2 enregistrement plus bas !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    recordset_PV1.moveFirst
    recordset_PV2.moveFirst
     
    While not Recordset_PV1.EOF
     
    if (recordset_PV1("NUM_PAS").value = (recordset_PV2("NUM_PAS").value)) then
    xxxxx
    Quand je passe au débuggeur, mes .value ne correspondent pas (alors qu'ils sont à la même place dans la base...) et sont décalés de 2 enregistrements...
    Je pense que mon ouverture dois jouer, cependant je ne vois pas trop d'où vient le problème

    Merci d'avance,

    Damien

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Pour garantir la même position des lignes, il faudrait ajouter une clause order by aux requêtes.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Merci pour la réponse trèèèèèès rapide

    Et ça marche !
    Je note pour éviter de perdre 2 heures la prochaine fois


    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. plusieurs enregistrements dans une seul ligne
    Par Celelibi dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/01/2005, 15h55
  2. Réponses: 12
    Dernier message: 27/08/2004, 15h42
  3. SQL et Access : ajouter plusieurs enregistrements
    Par Bernard M dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/04/2004, 21h39
  4. Insérer plusieurs enregistrements en une seule requête
    Par pyd001 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/02/2004, 10h38

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