Commande SQL sous ACCESS 2007
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Commande SQL sous ACCESS 2007



  1. #1
    jmduchesne

    Post Commande SQL sous ACCESS 2007


    ------

    Bonjour à tous,
    J'utilise Access 2007 pour un projet de base de donnée contenant deux table "Copie de Article" et "Copie de Validité".
    Je souhaite exécuter la commande SQL suivante pour créer une relation sachant que le champs "N°" de la table "Coipie de Article" est une clé primaire et que le champs "Code article" de la table "Copie de Validité" est un numérique :
    ALTER TABLE [Copie de Validité] ADD FOREIGN KEY (Code article) REFERENCES [Copie de Article](N°);
    mais Access m'indique qu'il y a une "erreur de syntaxe sur la clause de CONSTRAINT".

    Pouvez-vous m'aider pour corriger ma commande, merci d'avance.

    -----

  2. #2
    invite4492c379

    Re : Commande SQL sous ACCESS 2007

    Citation Envoyé par jmduchesne Voir le message
    Bonjour à tous,
    J'utilise Access 2007 pour un projet de base de donnée contenant deux table "Copie de Article" et "Copie de Validité".
    Salut,

    Access ? Tu es obligé ?
    Mettre des espaces ou des caractères accentués ou le ⁰ dans des noms de tables ou de champs est peu recommandé.

    Citation Envoyé par jmduchesne Voir le message
    Je souhaite exécuter la commande SQL suivante pour créer une relation sachant que le champs "N°" de la table "Coipie de Article" est une clé primaire et que le champs "Code article" de la table "Copie de Validité" est un numérique :
    ALTER TABLE [Copie de Validité] ADD FOREIGN KEY (Code article) REFERENCES [Copie de Article](N°);
    mais Access m'indique qu'il y a une "erreur de syntaxe sur la clause de CONSTRAINT".

    Pouvez-vous m'aider pour corriger ma commande, merci d'avance.
    Un vieux souvenir me dit qu'il faut encadrer les noms de champs incorporant des espaces par des crochets [nom de champs], ou peut-être des antiquotes `nom de champs`.

    Bon courage

  3. #3
    Dormeur74

    Re : Commande SQL sous ACCESS 2007

    Un truc m'échappe : tu veux établir une relation entre un champ de la table "Copie de Article" et un champ de la table "Copie de validité". Pourquoi une requête SQL alors qu'il est si simple d'utiliser la fonction graphique Outils...Relations qui offre en plus la sécurité de pouvoir imposer l'intégrité référentielle ?

  4. #4
    jmduchesne

    Re : Commande SQL sous ACCESS 2007

    J'ai réussi a créer ma relation entre mes tables avec la commande SQL en renommant les tables et les champs, voici la commande SQL :
    ALTER TABLE Copie_Validités ADD CONSTRAINT Relation_Articles_Validités FOREIGN KEY ([Code article]) REFERENCES Copie_Articles(N°)

    Maintenant, j'ai repris un code VBA sur net pour vérifier si une table est existante dans ma base de donnée.

    Code:
    ' ---
    ' TEST DE L'EXISTENCE D'UNE TABLE
    ' ---
    '
    Function TableExiste( _
      db As DAO.Database, _
      ByVal strTable As String) _
      As Boolean
    
    Dim tdf As DAO.TableDef
    
    ' Parcourir toutes les tables de la base
    For Each tdf In db.TableDefs
      If tdf.Name = strTable Then
        ' La table a été trouvée...
        TableExiste = True
        MsgBox (" La table existe")
        Exit Function
      End If
    Next
    
    ' La table n'existe pas...
    TableExiste = False
    MsgBox (" La table n'existe pas")
    End Function

    Je souhaite utiliser cette fonction dans la cellule "condition" d'une macro, j'entre donc :
    TableExiste(CurrentDb, Copie_Validités)

    Mais ça ne marche pas car Access mets automatiquement les paramètres entre crochets lorsque je valide (ou quitte la cellule) :
    TableExiste([CurrentDb], [Copie_Validités])

    Avez-vous une solution pour contourner ce problème?
    Dernière modification par JPL ; 03/10/2011 à 13h53. Motif: Ajout de la balise Code pour la lisibilité

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Requete Access 2007
    Par invite05a67b21 dans le forum Programmation et langages, Algorithmique
    Réponses: 23
    Dernier message: 07/07/2011, 08h36
  2. Tableau dans access 2007
    Par invite0f16d6f2 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 30/06/2010, 07h21
  3. formulaire access 2007
    Par invite0f16d6f2 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 21/06/2010, 18h47
  4. Access 2007
    Par invitefa53bb4a dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 16/12/2009, 06h59
  5. SQL ou Access ????
    Par invite40ef4a95 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 09/10/2008, 17h10
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...