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 :

[Requête/SQL]Erreur Syntaxe Access


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 54
    Points : 12
    Points
    12
    Par défaut [Requête/SQL]Erreur Syntaxe Access
    Bonjour à tous je voulais savoir comment je pourrais donner des limites avec access car ceci ne marche pas :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    GRANT UPDATE, DELETE, SELECT
    ON Vente
    TO PATRICK@localhost IDENTIFIED BY "PATRICK";
    merci d'avance pour l'aide que vous m'apporterez

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Que veux-tu faire éxactement ?

    petit conseil lit ce tuto d'Alexandre le Grand :

    Le Langage SQL appliqué à Access

    Dolphy

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 54
    Points : 12
    Points
    12
    Par défaut
    En fait je vais créer des limites aux utilisateurs mais access ne prend pas cette forme de requêtes comme le dit le tutorial donc, je voudrais savoir si il existait une syntaxe spécifique ou un autre moyen de créer des limites merci

  4. #4
    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
    Bonjour,
    Citation Envoyé par LAETIAZ
    En fait je vais créer des limites aux utilisateurs mais access ne prend pas cette forme de requêtes comme le dit le tutorial donc, je voudrais savoir si il existait une syntaxe spécifique ou un autre moyen de créer des limites merci
    Ce n'est pas tout à fait vrai, puisque ça dépend des versions !
    Merci de préciser sur quelle version d'Access tu travailles: 2.0, 95, 97, 2000, 2002(XP), 2003, 2007, 2032 ...

    Ensuite il faut être conscient d'un certain nombre de points techniques:
    (1) Access fonctionne avec le moteur de bases de données JET.
    (2) Le moteur de bases de données JET n'est pas manipulé directement. On y accède à travers une bibliothèque d'accès aux données.
    (3) Depuis Access 2000, les deux principales bibliothèques d'accès aux données sont: DAO et ADO.
    (4) L'interface utilisateur d'Access utilise la bibliothèque DAO.

    Depuis Access 2000 (qui est fourni avec JET 4.0) le langage SQL a été complété avec de nouvelles commandes, notamment avec les commandes de gestion de la sécurité: GRANT, REVOKE, CREATE USER, CREATE GROUP...

    Tu trouveras plus d'informations sur la syntaxe SQL dans l'aide en ligne d'Access ou dans le lien ci-dessous:
    Advanced Microsoft Jet SQL for Access 2000

    MAIS (et c'est un gros MAIS), les nouvelles commandes ne sont pas toutes accessibles à travers DAO, mais seulement à travers ADO.
    Ne ne demande pas pourquoi...

    Or, comme dit précédemment, l'interface d'Access travaille uniquement avec DAO.
    Donc, tu ne peux pas utiliser les requêtes Access pour exécuter certaines nouvelles commandes SQL...

    [EDIT]
    Après l'envoi de cette réponse, j'ai appris qu'à partir d'Access XP il est désormais possible d'utiliser ces nouvelles commandes SQL depuis l'interface utilisateur d'Access, si on a activé l'option de compatibilité avec la norme ANSI-92 du SQL.
    http://www.developpez.net/forums/sho...d.php?t=314111

    Bon, je dois reconnaître que j'en suis resté à Access 2000...

    Donc, je rectifie et je complète par un message supplémentaire.
    [/EDIT]

    Conclusion:

    >> SEULEMENT SI TU UTILISES ACCESS 2000
    si tu veux vraiment travailler avec les nouvelles commandes SQL, tu dois passer par ADO et plus précisément par un objet Connection.
    Et dans ce cas, je t'assure que les commandes GRANT, REVOKE, etc. fonctionnent correctement.

    Voici un code VBA qui montre comment faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CurrentProject.Connection.Execute "GRANT UPDATE, DELETE, SELECT
    ON Vente TO PATRICK"
    >> SEULEMENT SI TU UTILISES ACCESS XP ET SUIVANTS
    Tu peux modifer le mode de requêtes SQL pour qu'il respecte la syntaxe ANSI -92.

    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    Citation Envoyé par LAETIAZ
    je voudrais savoir si il existait une syntaxe spécifique ou un autre moyen de créer des limites merci
    L'interface utilisateur d'Access te permet d'accéder à la gestion de la sécurité, et notamment les gestion des permissions.
    Peut-être que ce serait plus simple, non ?

    Et puis, il existe aussi un outil gratuit pour "Explorer les permissions", sans avoir besoin d'Access:
    http://www.developpez.net/forums/sho...d.php?t=319421

  5. #5
    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 SQL ANSI-92 à l'attention des utilisateurs d'Access 2000
    Bonjour,

    Après lecture d'une réponse édifiante de Tofalu sur un sujet similaire...

    [SQL] Instruction CREATE GROUP

    J'ai corrigé mon précédent message et je donne un lien pour ceux qui sont restés à Access 2000 (c'est mon cas) et qui voudraient en savoir plus sur l'utilisation de la syntaxe SQL ANSI-92 dans les versions suivantes d'Access:

    Upgrading to Access 2002

    Par ailleurs, il faudrait annoter le tutoriel "Le Langage SQL appliqué à Access" d'Alexandre le Grand pour tenir compte de ces évolutions...
    Et puisque c'est ce cher Dolphy35 qui l'a mis en avant peut-être que...

Discussions similaires

  1. requête sql erreur de syntaxe
    Par momoh dans le forum VB.NET
    Réponses: 5
    Dernier message: 12/03/2009, 16h04
  2. [SQL] Requête SQL erreur de syntaxe
    Par helopme_69 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 05/01/2008, 21h51
  3. Problème Syntaxe requête SQL LIKE avec ACCESS
    Par Arnofish dans le forum Accès aux données
    Réponses: 3
    Dernier message: 22/12/2007, 11h57
  4. lancer requête SQL depuis formulaire access
    Par Zavonen dans le forum VBA Access
    Réponses: 8
    Dernier message: 16/10/2007, 19h43
  5. Problème de requête SQL - Erreur 3122
    Par Kornikopic dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/06/2007, 10h57

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