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 :

ACCESS mise à jour d'un recordset en fonction d'un autre


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Février 2015
    Messages : 88
    Par défaut ACCESS mise à jour d'un recordset en fonction d'un autre
    Bonjour à tous,

    Je reviens à nouveau vers ce forum car malgré de nombreuses recherches je ne trouve pas la solution.

    J'ai deux recordset, et je dois mettre à jour le premier en fonction des données du second.
    Cela fonctionne mais il me met les données de "oRst" sur tous les enregistrements de "Vue", à cause de MoveFirst..
    Je l'ai enlevé et du coup maintenant il ne sait plus quoi lire dans oRst.. le message est aucun enregistrement en cours
    Merci à vous si vous avez une suggestion ? (j'ai pensé à utiliser une position bookmark ou qqchose du genre mais sans succés..

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Dim oRst As DAO.Recordset
    Dim Vue As DAO.Recordset
    Dim oDb As DAO.Database
    Dim Var As Integer
    Var = Me.NUME
    Set oDb = CurrentDb
     
    Set oRst = oDb.OpenRecordset("SELECT ExportPhotos.DateCliche, ExportPhotos.Latitude, ExportPhotos.Longitude, ExportPhotos.Répertoire, ExportPhotos.Fichier, ExportPhotos.Rang FROM ExportPhotos ORDER BY ExportPhotos.DateCliche;")
    Set Vue = oDb.OpenRecordset("SELECT VuePhoto.DatePh, VuePhoto.Photo1, VuePhoto.Photo2, VuePhoto.Photo3, VuePhoto.Latitude, VuePhoto.Longitude FROM VuePhoto WHERE VuePhoto.NOInfo = " & Var & ";")
     
    'boucle sur les enregistrements de VuePhoto
     
     If Vue.EOF = True Then Vue.MoveFirst
           oRst.MoveFirst
     While Vue.EOF = False
     
      'Passe en mode modification
      Vue.Edit
     
           'boucle sur les enregistrement d'ExportPhotos
          '  If oRst.EOF = True Then oRst.MoveFirst
          '  While oRst.EOF = False
     
      Vue.Fields("DatePh") = oRst.Fields("DateCliche")
       Vue.Fields("Photo1") = oRst.Fields("Répertoire") & oRst.Fields("Fichier")
        Vue.Fields("Latitude") = oRst.Fields("Latitude")
        Vue.Fields("Longitude") = oRst.Fields("Longitude")
     Vue.Update
     oRst.MoveNext
     Vue.Edit
       Vue.Fields("Photo2") = oRst.Fields("Répertoire") & oRst.Fields("Fichier")
        Vue.Update
     oRst.MoveNext
     Vue.Edit
        Vue.Fields("Photo3") = oRst.Fields("Répertoire") & oRst.Fields("Fichier")
     Vue.Update
     Vue.MoveNext
    oRst.MoveNext
    'Wend
    Wend
     
     
    'Libération des objets
    oRst.Close
    Vue.Close
    oDb.Close
    Set oRst = Nothing
    Set Vue = Nothing
    Set oDb = Nothing

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 622
    Billets dans le blog
    67
    Par défaut
    Bonjour,

    A la lecture du code, dans la requête source de oRst vous devriez avoir 3 fois plus de lignes que dans la requête source de Vue :

    1 ligne/enregistrement pour les 3 photos dans Vue
    1 ligne par photo dans oRst

    Avec les ExportPhotos.DateCliche, ExportPhotos.Latitude, ExportPhotos.Longitude qui se répètent pour les 3 photos dans oRst.

    Est-ce le cas ?
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre confirmé
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Février 2015
    Messages : 88
    Par défaut Oui en effet
    Bonjour,

    Oui en effet je n'avais pas vu qu'il m'a bien mis les 4 enregistrements à jour et que le message venait aprés cette mise à jour car en effet que 12 photos et 10 enregistrements dans la Vue.

    Par contre dois je mettre une oRst.EOF pour éviter le message ?
    Merci encore pour votre aide.

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 622
    Billets dans le blog
    67
    Par défaut
    Citation Envoyé par alea83 Voir le message
    Bonjour,

    Oui en effet je n'avais pas vu qu'il m'a bien mis les 4 enregistrements à jour et que le message venait aprés cette mise à jour car en effet que 12 photos et 10 enregistrements dans la Vue.

    Par contre dois je mettre une oRst.EOF pour éviter le message ?
    Merci encore pour votre aide.
    Bonjour,

    Peut-être essayer en début de boucle de combiner les 2 conditions nécessaires pour continuer la boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    While (Vue.EOF=False) and (oRst.EOF=False)
     
    ...
     
    wend
    ...
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 580
    Par défaut
    Bonjour,
    Qu'est-ce qui lie les enregistrements du recordset1 au recordset2.

    Tu ne peux pas faire une requête de mise a jour tout simplement ?

Discussions similaires

  1. [XL-365] Mise à jour d'une feuille en fonction d'une autre
    Par Obelix84 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/04/2024, 17h21
  2. Mise à jour d'une table en fonction d'une autre
    Par BruceBoc dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 05/10/2021, 16h26
  3. mise a jour d'un champ en fonction d'un autre champ
    Par roland34 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/03/2013, 16h25
  4. Réponses: 5
    Dernier message: 11/10/2011, 14h29
  5. Mise à jour d'une table en fonction d'une autre
    Par lucy101 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/05/2010, 14h24

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