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 :

Bloquer les modifications dans une requete [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club Avatar de Adel31
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2016
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2016
    Messages : 57
    Points : 32
    Points
    32
    Par défaut Bloquer les modifications dans une requete
    bonjour,
    je suis débutant en Access, j'ai crée une requête, mais le contenu est modifiable, est ce qu'il Ya une solution pour la rendre non modifiable svp.
    merci

  2. #2
    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.

    La réponse est Oui mais probablement que tu ne devrais pas. Les utilisateurs ne sont pas sensé accéder directement aux requêtes.
    Il est recommandé qu'ils passent par un formulaire qui lui-même affiche et contrôle les opérations sur les données.

    ceci dit pour mettre une requête en lecture seulement il suffit de :
    1. Créer une table (ex : tblVerrou) qui ne contient qu'un seul champ et un seul enregistrement.
    2. Ajouter cette table à ta requête sans aucune jointure.
      cela va créer ce qu'on appelle un produit croisé mais comme cela donne N x 1, tes données ne sembleront pas altérées.


    Quand Access se retrouve dans une requête avec une relation de 1 à N, il ne peut pas savoir où les modifications pourraient être apportées et donc empêche toute modification => Lecture seulement.

    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.

  3. #3
    Nouveau membre du Club Avatar de Adel31
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2016
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2016
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    re et merci pour votre réponse, mais j'ai toujours le même problème, j'ai deux requêtes presque identique, une est modifiable et l'autre non, je comprend pas pourquoi!!!, il ya dans chacune un tableau avec plusieurs champs.
    je suis vraiment perdu.

  4. #4
    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
    Apparement je n'avais pas compris ton besoin.

    Peux-tu poster le SQL de tes 2 requêtes. Cela donnera sans-doute une piste.

    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.

  5. #5
    Nouveau membre du Club Avatar de Adel31
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2016
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2016
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    ok, voici les 2 codes de mes requêtes :
    1 - pour la requête 17 qui est non modifiable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function maFonction0103Click()
     
    ''''''''''''''''''''DoCmd.OpenReport "Requête17", acViewReport, , , acWindowNormal
    ''''DoCmd.OpenQuery "Requete17Controle0103Tableau", acViewNormal, acReadOnly
    DoCmd.OpenForm "Formulaire301Requete17"
     
    End Function
    2 - la requête 20 qui est modifiable ( la changer non modifiable) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function maFonction1210Click()
     
    ''''''''''''''''''''DoCmd.OpenReport "Requête20", acViewReport, , , acWindowNormal
    '''' DoCmd.OpenQuery "Requete20Controle1210TableauMachines", acViewNormal, acReadOnly
    DoCmd.OpenForm "Formulaire304Requete20"
     
    End Function
    mode sql ça donne : 1- requete 17 :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     SELECT Table01Machines.[N°], [Appartenance], [Categorie], [CarPrincipales], [Batiment], [Service], [Salle], [REC1], [TelREC1], [InterneREC1], [MailREC1], [REC2], [TelREC2], [InterneREC2], [MailREC2], [RDoc], [TelRDoc], [InterneRDoc], [MailRDoc], [RTech], [TelRTech], [InterneRTech], [MailRTech], [LogAssocie], Table36Disponibilite.Disponibilite
    FROM Table01Machines, Table36Disponibilite
    WHERE (((Table01Machines.Disponibilite)=(Table36Disponibilite.N°)) And ((Table36Disponibilite.Intitule)<>'abandonnee'))
    ORDER BY Table01Machines.[N°];

    2- requete 20 :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM Table01Machines;

  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.

    Ton problème vient de là :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM Table01Machines, Table36Disponibilite

    Tu as 2 tables et Access ne sait pas où il devrait faire les modifications donc il bloque. Note que parfois il serait supposé le savoir mais il ne le sait pas pareil.

    Si tu peux, remplace la jointure par un DFirst(). Ce sera peut-être un peu plus lent.
    Si tu es dans un formulaire et selon tes données, tu peux aussi utiliser des listes déroulantes pour afficher les données en provenant d'autres tables sans faire de jointure.
    Tu peux aussi utiliser un sous-formulaire pour présenter des données reliées sans utiliser de jointure dans ton formulaire principal.

    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
    Nouveau membre du Club Avatar de Adel31
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2016
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Février 2016
    Messages : 57
    Points : 32
    Points
    32
    Par défaut Bloquer les modifications dans une requete
    merci marot pour ta réponse.

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

Discussions similaires

  1. [VB6] Bloquer la modification dans une combo sans être en lecture seule..
    Par malhivertman1 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 10/05/2006, 16h55
  2. Eviter les doublons dans une requete ?
    Par DrySs dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/03/2006, 05h24
  3. Éviter les doublons dans une requete
    Par royrremi dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 03/08/2004, 19h37
  4. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51
  5. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 12h53

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