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 :

Problème de requête et SQL


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 169
    Points : 47
    Points
    47
    Par défaut Problème de requête et SQL
    Bonjour,

    Voila, j'ai un petit soucis avec un requête d'ajout...

    J'ai une requête qui me créé un nouvel enregistrement dans une table à partir de deux zones de texte.

    Cette requête récupère les valeurs des deux zones de texte (PK_SITE et PK_secteur) et créé un nouvel enregistrement dans une troisième table (T_SITE_SECTEUR). Dans la requête voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO T_SITE_SECTEUR ( FK_SITE, FK_SECTEUR )
    VALUES (Formulaires![I_GESTION DES LIENS SITE SECTEUR UNITE]![PkSite], Formulaires![I_GESTION DES LIENS SITE SECTEUR UNITE]![PkSecteur]);
    Mon problème est que cela créé bien un nouvel enregistrement mais ça me modifie un enregistrement précédent... Je comprends pas pourquoi...

    Ce code ne permet il pas d'ajouter uniquement un enregistrement sans modifier un autre ???

    Merci...

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Par quel moyen tu sais qu'il a changé un autre enregistrement? Il faut savoir que l'ordre des enregistrements (les lignes de la table) n'est pas l'ordre d'insertion!!!
    @+

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 169
    Points : 47
    Points
    47
    Par défaut
    Salut ! Merci pour ta réponse. Ben en fait mes champ renvoi à des secteur et des sites. Donc quand j ai voulu ajouter un nouveau site j ai vu que access lui avait affecté des secteur en plus de ce que j ai ajouté. Et quand je vais dans ma table sites secteur qui possède un num auto, je vois qu' un enregistrement précédent à été modifié. Le nouveau site à été affecté à un autre enregistrement et pas uniquement à celui que j ai créé. Je suis passé par vba et aussi étonnant que cela puisse être ça fait la même chose. Je me suis rendu compte que cela le fait quand je ferme et reouvre mon formulaire qui me permet de faire les liens. Et aucune macro sur ouverture chargement ou autre. Je comprend vraiment pas...

  4. #4
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Citation Envoyé par Phoenix311 Voir le message
    ça me modifie un enregistrement précédent... Je comprends pas pourquoi...
    je penseque tes 2 zones de texte sont liées à ta source de données, dans ton formulaire.
    Donc, si tu fais des saisies (ou des sélections dans les listes) à ce moment, tu modifies, en fait, les données dans ta source de données.

    Pour vérifier, va dans les propriétés de tes zones de texte.
    Va dans l'onglet données
    Y a-t-il qu'elque chose d'inscrit dans la propriété "Source contrôle" ?
    Si oui, tu as trouvé pourquoi tu modifies un enregistrement.
    ton code n'y est pour rien.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 169
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    En effet, dans mes zones de texte dans source contrôle il y a quelque chose, car ces zones de texte récupèrent des données d'une zone de liste dans laquelle l'utilisateur choisi ses sites et ses secteurs pour les rattacher entre eux. Donc il faudrait que je base mon code VBA sur la liste directement sans passer par les zones de texte ?

    Pour info, le code est celui ci :

    Dim rs As Recordset
    SQL = "SELECT * FROM T_SITE_SECTEUR WHERE FK_SITE=" & PKSite
    Set rs = CurrentDb.OpenRecordset(SQL, DB_OPEN_DYNASET)
    rs.AddNew
    rs!FK_SITE = Me.PKSite

    rs!FK_SECTEUR = Me.PkSecteur

    rs.Update


    Merci en tout cas

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 169
    Points : 47
    Points
    47
    Par défaut
    Je viens à l'instant de baser mon code sur la liste directement comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim rs As Recordset
     SQL = "SELECT * FROM T_SITE_SECTEUR WHERE FK_SITE=" & Sites.Column(0)
     Set rs = CurrentDb.OpenRecordset(SQL, DB_OPEN_DYNASET)
    rs.AddNew
    rs!FK_SITE = Me.Sites.Column(0)
     
    rs!FK_SECTEUR = Me.ListeSecteurs.Column(0)

    Ca ne marche toujours pas !!! Plus exactement, le code marche bien. Quand je j'ajoute un secteur à un site, ils se lient c'est a dire que le numéro du secteur et celui du site donnent bien un nouveau numéro auto dans la table qui me relie les deux. TRES BIEN. SAUF !!! Que lorsque je sors du formulaire et que je rerentre dedans, je retrouve quand je clique sur mon site le secteur que je lui ai affecté, mais j'en trouve un autre ! Autre secteur car ACCESS a modifié un enregistrement et a affecté le numéro du dernier site créé a un autre enregistrement (aléatoire ou non je ne sais pas, je penses pas) mais c'est incomprehensible...

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 169
    Points : 47
    Points
    47
    Par défaut
    Maxence HUBICHE merci beaucoup !!!

    Il fallait que je rende indépendante la première liste également !!!! Et le problème venait de ce que tu disais, tout devait être indépendant...

    Encore merci, problème résolu

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

Discussions similaires

  1. Problème de requête (code SQL)
    Par Franck_P dans le forum Débuter
    Réponses: 1
    Dernier message: 11/05/2011, 17h47
  2. Problème de requête SQL avec instruction TRANSFORM
    Par Nosper dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/06/2005, 16h15
  3. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07
  4. [SQLserver2000][SQLServer CE] problème de requête SQL
    Par JBernn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/01/2005, 09h29
  5. Problème de requète SQL dans un Requery
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/10/2004, 14h58

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