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

Requêtes et SQL. Discussion :

Impossible de mettre à jour Recordset [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Impossible de mettre à jour Recordset
    Bonjour,

    J’ai l’habitude de modifier des données depuis le résultat de requêtes, en mode Feuille de donnée, dont la source sont des tables de base de données ODBC.
    Le hic est qu’une nouvelle appli utilisateurs a été mise en place et qu'elle utilise de nouvelles tables, même si leur structure est sensiblement la même que les anciennes. Depuis, impossible de mettre à jour ces nouvelles tables comme je le faisais auparavant, Access affiche le message « Impossible de mettre à jour Recordset ». Je précise que mes modifs fonctionnent quand je les passe sur les anciennes tables qui existent encore même si plus utilisées.
    Quel peut être l’élément différentiant entre ces jeux de tables qui font que je ne peux plus modifier de cette manière ?
    Je précise que mon niveau en Access est très limité et que je ne maîtrise pas VBA.
    Merci d’avance !

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    Ce sont probablement les liaisons entre les tables qui sont différentes.
    En gros, pour qu'une requete soit modifiable et faut que ces liaisons soient définies afin qu'une case de la requete ne corresponde qu'à un et un seul champ de table
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour Nico,

    Merci pour ton retour. Ce serait donc dans la structure même des tables que les liaisons ne seraient pas faites ?
    Même dans cette requête très simple, Access renvoie « Impossible de mettre à jour Recordset » quand je veux juste mettre à jour le champ Descriptif en mode feuille de donnée :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [PrestationCaracI18N].Descriptif
    FROM arg2 INNER JOIN [PrestationCaracI18N] ON arg2.IdPrestationCarac = [PrestationCaracI18N].IdPrestationCarac;

    arg2 est une table que j'ai créée par import d'un fichier Excel et qui liste les enregistrements que je dois mettre à jour
    PrestationCaracI18N est la table maître liée par ODBC.

    Le résultat de la requête est bon, c'est vraiment la modif qui pose souci.

    Merci !

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    J'autorise très rarement les modifications directes de recordset mais je pense que cela nécessite des règles d'intégrité sur la liaison, donc sur arg2.IdPrestationCarac <-> [PrestationCaracI18N].IdPrestationCarac dans ton cas

    Pour vérifier il suffit d'ouvrir la requete en direct et voir si les champs son modifiables
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Pour compléter l'exposé de nico84, je dirais qu'Access interdit maintenant la mise à jours d'une requête sans clé primaire.

    Pour un ajout valide il faut passer en mode édition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Rs.edit
    Rs("champ")="toto"
    Rs.update
    Dernière modification par Jeannot45 ; 13/06/2018 à 07h34.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour en complément du complément de dysorthographie :-) et dés fois que tu n'y aurais pas pensé toi-même.

    Il faut ajouter la clef primaire à tes champs dans la source de données même si tu ne t'en sers pas.

    Si tu n'as pas de clef primaire, il faut que tu la crées ou la fasses créer (un simple numéro séquentiel fait l'affaire).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Candidat au Club
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour vous 3,
    Je ne savais effectivement pas qu'il fallait une clé primaire et encore moins où elle devait se trouver. J'ai donc demandé sa création !
    Merci bcp pour votre aide !
    Bonne soirée

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

Discussions similaires

  1. impossible de mettre à jour recordset
    Par zephyr59 dans le forum Access
    Réponses: 4
    Dernier message: 25/11/2016, 10h02
  2. [AC-2013] Impossible de mettre à jour Recordset
    Par Palestinian dans le forum Access
    Réponses: 6
    Dernier message: 24/11/2014, 18h12
  3. [AC-2000] Impossible de mettre à jour RecordSet
    Par gwems dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/07/2009, 16h09
  4. Impossible de mettre à jour Recordset
    Par genoue dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 30/12/2008, 17h41
  5. Réponses: 4
    Dernier message: 29/05/2006, 17h15

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