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

Access Discussion :

Comment ajouter un enregistrement dans une table liée (ODBC)


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 50
    Points : 40
    Points
    40
    Par défaut Comment ajouter un enregistrement dans une table liée (ODBC)
    Bonjour,

    Je dois, sous VBA, ajouter des enregistrements dans une table contenue dans une base SQL.

    J'ai lié la table à ma base access et je peux l'ouvrir en VBA mais lorsque j'essaye d'ajouter un nouvel enregistrement, j'ai une erreur 3155

    Comment procéder ?

    Comment ouvrir le recordset avec quel type et quel options ?

    Merci d'avance pour l'aide

  2. #2
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    salut
    et que dit exactement l'erreur 3155?
    @+

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Re: Comment ajouter un enregistrement dans une table liée (O
    Bonjour,
    Citation Envoyé par noratec
    J'ai lié la table à ma base access et je peux l'ouvrir en VBA mais lorsque j'essaye d'ajouter un nouvel enregistrement, j'ai une erreur 3155
    Il s'agit d'une erreur relative aux tables ODBC liées:
    3155 ODBC — insert on a linked table <name> failed.
    Le problème est que le moteur de base de données JET ne sait pas comment identifier de façon unique chacun des enregistrements de la table.

    Or, une table liée ODBC ne peut être mise à jour qu'à condition que JET détienne un index unique sur cette table. Sinon, JET ne peut fournir que des RecordSet de type Snapshot (cliché en lecture seule, non actualisé).

    Durant l'opération de liaison d'une table ODBC, JET tente d'identifier automatiquement un index unique sur la table distante. Mais si cette table possède plusieurs index (ou aucun), alors JET est incapable d'utiliser l'un d'entre eux.
    Dans ce cas, l'assistant [Attacher les Tables] propose de "Sélectionner un identificateur unique d'enregistrement". Il s'agit pour l'utilisateur de sélectionner un ou plusieurs champs qui serviront de clé primaire dans un index géré localement par JET.
    Si la phase "Sélectionner un identificateur unique d'enregistrement" est annulée par l'utilisateur, alors la table liée n'est pas indexée et donc pas actualisable.

    Pour revenir à ton Pb Noratec, supprime la table liée et recommence l'opération de liaison en n'oubliant pas la phase "Sélectionner un identificateur unique d'enregistrement".

    =JBO=

Discussions similaires

  1. Comment modifier un enregistrement dans une table ?
    Par pimst37 dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/02/2008, 20h41
  2. Réponses: 4
    Dernier message: 10/12/2006, 16h47
  3. bouton qui ajoute un enregistrement dans une table
    Par petitours dans le forum Access
    Réponses: 1
    Dernier message: 06/12/2006, 13h33
  4. comment inserer un enregistrement dans une table?
    Par floran30 dans le forum VB 6 et antérieur
    Réponses: 74
    Dernier message: 16/06/2006, 19h56
  5. Comment modifier un champ dans une table liée ?
    Par HookerSeven dans le forum Access
    Réponses: 11
    Dernier message: 05/02/2006, 23h50

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