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 :

le champ est trop petit pour accepter la quantité de données que vous voulez ajouter [AC-97]


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut le champ est trop petit pour accepter la quantité de données que vous voulez ajouter
    Bonjour,

    Je m'en remets à vous pour un problème dont j'ai du mal à trouver l'origine.
    Le message d'erreur qui apparaît quand je veux exécuter R3 apparaît dans le titre. Plutôt que de faire de longs discours (que beaucoup auraient du mal à comprendre), je vous joins une petite base exemple qui reproduit le phénomène....ça fait 3h que je planche dessus et toujours pas de solution....

    Peut-être est-ce que c'est parce que R3 se base sur R1 et R2 et que R2 se base sur R1 ? J'ai effectivement fait un test en faisant une copie de la table sur laquelle les requêtes reposent (je me suis retrouvé donc avec 2 tables identiques). Puis j'ai basé R2 sur la copie de table et R1 sur la table d'origine et là plus de message d'erreur...

    Une autre piste : apparemment c'est la liaison sur le champ mois qui pose problème...Je ne comprends pas pourquoi.

    EDIT : J'ai fait un test en mettant dans le SELECT de R1 un champ qui concatène le mois et l'année (mois = IDmois & " " & annee) et que je récupère dans R2. Puis dans la requête finale (R3), au lieu de faire une jointure sur le mois ET une autre sur l'année, je n'en fais qu'une sur mon nouveau champ...Et là, miracle....ça marche !

    J'en profite pour remercier un collègue qui m'a suggéré cette piste avant de partir en weekend et qui, du coup, va me permettre d'en passer un bon :p

    Mais si quelqu'un a une idée du pourquoi ça foire sur le champ Mois...
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip bd1.zip (27,5 Ko, 119 affichages)

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonsoir Paidge,

    Dans tes liaisons, en ajoutant des flèches à droite (LEFT JOIN), cela fonctionne : je ne sais pas pourquoi... ... et il est tard.

    Mais cela vaut le coup d'approfondir... plus tard.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour et merci d'avoir jeté un oeil
    J'ai déjà effectué le test avec ces liaisons mais cela ne donne pas le résultat attendu. Tant pis, je vais me lancer avec la solution du champ concaténé pour l'instant.
    Je reste preneur pour toutes les idées que vous pourriez avoir.

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Paidge,

    Citation Envoyé par Paidge
    .../... mais cela ne donne pas le résultat attendu .../...
    ==> la requête plante toujours ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Non non mais si on mets LEFT JOIN, ça retourne tous les enregistrements de R1 alors que les jointures sur R2 sont justement là pour "filtrer" les enregistrements de R1. Ce qui est bizarre, c'est que ça plante seulement quand on crée la jointure sur le mois (et pas sur les autres champs) .... avec ce message d'erreur....

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    OK.

    J'ai l'impression que Access impose une logique "logique"...

    Si tu crées une requête R4 en ajoutant R2 en premier, puis R1 liées entre elles sans flèche cela devrait fonctionner comme tu le souhaites.

    En fait, R2 constitue une sorte de "filtre primaire" et va voir ce qu'il en est dans R1 : ce qui paraît plus logique que de balayer tout R1 (si R1 est en premier) pour aller voir ce qui se passe dans R2.

    On ne parlera jamais assez de l'importance de la table primaire dans une requête (la première du FROM).

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Je crois que tu as mis le doigt dessus effectivement Je n'y ai, mais alors pas du tout, pensé ! Mais après avoir essayé, cela fonctionne a priori et c'est vrai que ça paraît logique....
    Merci à toi, je penserai à cette piste la prochaine fois que j'aurais un problème avec des requêtes en cascade
    Bonne journée.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/12/2010, 15h51
  2. champs est trop petit
    Par Salsaboy60 dans le forum IHM
    Réponses: 6
    Dernier message: 07/03/2009, 22h24
  3. erreur urgente: le champ est trop petit
    Par Paul Van Walleghem dans le forum ASP.NET
    Réponses: 3
    Dernier message: 18/06/2007, 08h46
  4. [D7][Access]Le champ est trop petit
    Par dleu dans le forum Bases de données
    Réponses: 3
    Dernier message: 31/01/2007, 18h49
  5. "Champ trop petit pour quantité de données"
    Par Miss Ti dans le forum Access
    Réponses: 9
    Dernier message: 25/07/2006, 20h56

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