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

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 57
    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 : 74
    Points : 31
    Points
    31
    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 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 334
    Points : 19 575
    Points
    19 575
    Billets dans le blog
    65
    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
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 57
    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 : 74
    Points : 31
    Points
    31
    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
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 453
    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 453
    Points : 2 213
    Points
    2 213
    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 ?

  5. #5
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 334
    Points : 19 575
    Points
    19 575
    Billets dans le blog
    65
    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

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