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

IHM Discussion :

Insertion ACCESS via ODBC dans un formulaire


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Insertion ACCESS via ODBC dans un formulaire
    Bonjour a tous,

    Je fais essayer d'être clair pour vous exposer mon probléme .

    Dans un de mes projets, j'utilise ACCESS juste pour la partie application, je stocke donc mes données dans une base postgres et je lie mes table dans ACCESS via un lien ODBC.

    Lors de la construction de mes formulaires, j'ai due faire façe a un probléme que je n'arrive pas a résoudre, en effet j'utilise dans ce formulaire une source de données qui joint deux tables voici donc mes deux tables puis la requete :

    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
    CREATE TABLE client (
    IdClient SERIAL,
    IdEmploye INT,
    Types VARCHAR(40),
    Pseudo VARCHAR(50) NOT NULL,
    MotDePasse VARCHAR(50) NOT NULL,
    CptIntermediaire INT,
    CptHonoraires INT,
    PRIMARY KEY(IdClient),
    FOREIGN KEY(IdEmploye) REFERENCES employe);
     
    CREATE TABLE personne(
    IdPersonne SERIAL,
    IdEntreprise INT NULL UNIQUE,
    IdVille INT UNIQUE,
    IdCoordonne INT UNIQUE,
    IdClient INT NULL UNIQUE,
    IdAvocat INT NULL UNIQUE,
    IdDebiteur INT NULL UNIQUE,
    Nom VARCHAR(40),
    Prenom VARCHAR(40),
    Titre VARCHAR(20),
    Adresse VARCHAR(70),
    Email VARCHAR(60),
    TelFixe VARCHAR(11),
    TelMobile VARCHAR(11),
    Fax VARCHAR(11),
    PRIMARY KEY(IdPersonne),
    FOREIGN KEY(IdEntreprise) REFERENCES entreprise,
    FOREIGN KEY(IdVille) REFERENCES ville,
    FOREIGN KEY(Idavocat) REFERENCES avocat,
    FOREIGN KEY(IdCoordonne) REFERENCES coordonne  ON DELETE CASCADE,
    FOREIGN KEY(IdClient) REFERENCES client  ON DELETE CASCADE,
    FOREIGN KEY(IdDebiteur) REFERENCES debiteur ON DELETE CASCADE);
     
    SELECT *
    FROM personne INNER JOIN avocat ON personne.idavocat = avocat.idavocat;
    En utilisant plusieurs méthodes j'ai due faire façe a différents messages d'erreurs: impossible de recupere la clé personne.idavocat
    ou impossible d'affecter la valeur NULL a avocat.idavocat

    J'ai essayer d'appliquer l'integrite referentiel d' ACCESS mais imposible car les cases sont grisés

    Merci de vos réponses d'avance
    Cordialement Cloud59

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 548
    Points
    24 548
    Par défaut
    Bonjour,

    Pas d"intégriter référencielle pour des tables externes encore moins avec un sgbd externe. C'est dans ce dernier qu'il faut les créer.

    Dans la structure fournie tu indiques bien la table Personne qui contient un idAvocat mais pas la table Avocat. Client ne contient pas idAvocat.

    Ne connaissant pas Postgres je me pose la question : Est-ce que Serial est de type Int ?

    En ce qui concerne la requete je ne vois pas d'erreur.

    Cordialement,

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut ,

    effectivement je me suis trompé car j'ai une autre table avocat, la requete ici serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM personne INNER JOIN client ON personne.idclient = avocat.idclient;
    Oui le champ SERIAL en postgres correspond bien a un int.

    Ya t-il donc une option a mettre dans postgres pour que cette integrité fonctionne correcetment?

    Voici le message d'erreur exacte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le moteur de base de données Micorsoft Jet ne peut pas trouver d enregistrement dans la table "client" avec le(s) champ(s) "personne.idclient" correpondant à la clé.
    De plus ma base postgres se trouve dans le schema public, y a t-il un rapport?

    Cordialement cloud59

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour a tous,

    Aprés avoir essayé plusieurs solution, j'en suis toujours au même point...
    Mais j'ai peut être une précision en plus pour vous, quand j'ajoute un client, tous les champs attaché à la table personne sont remplacé par des #supprimé qui est due justement à l'absence de la clé étrangére idclient dans la table personne

    Si quelqu'un a une idée cela m'aiderai beaucoup

    Cordialement cloud59

Discussions similaires

  1. [AC-2007] Importer des données dans Access via ODBC en spécifiant avec critères
    Par zamalos dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/12/2011, 12h22
  2. [AC-2003] Lier des Vues MySql dans Access via ODBC
    Par njac74 dans le forum Modélisation
    Réponses: 1
    Dernier message: 12/05/2009, 17h36
  3. Réponses: 2
    Dernier message: 16/06/2008, 23h42
  4. Importation de CSV via ODBC dans Access
    Par inc002 dans le forum Bases de données
    Réponses: 3
    Dernier message: 31/03/2008, 16h03
  5. Réponses: 1
    Dernier message: 29/05/2007, 17h51

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