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

Modélisation Discussion :

Est ce possible [AC-2007]


Sujet :

Modélisation

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut Est ce possible
    Bonjour,

    J'aimerais savoir si je peux créer une table à partir du résultat d'une requête. Je voudrais être également en mesure de corrigé certaine valeur de la requête.

    Exemple.

    J'ai quatre champs dans la requête en ordre, "Couleur", "Grosseur", "Longueur" et "Type".

    Les données que je veux potentiellement changé sont dans le champ "Grosseur". J'avais auparavant les diamètres suivant disponibles entre 6 et 20mm maintenant nous avons réduit le choix des grosseurs de diamètre disponible à 8,10,11,12,14,17,18,19 et 20mm.

    Dans la nouvelle table, je veux que lorsque le diamètre choisi ne fais pas partie des diamètres disponible que la valeur retournée soit la prochaine supérieur des diamètres disponible. Ex: si 6mm, valeur retourné dans la table soit 8mm.

    Veuillez prendre note que je m'y connais très peu.

    Merci infiniment!!!

  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.

    J'aimerais savoir si je peux créer une table à partir du résultat d'une requête.
    Cela s'appelle une requête de création de table, c'est un des types disponibles dans l'éditeur de requête.
    1. Tu ajoutes la table source et tu sélectionnes les champs voulu.
    2. Tu choisis "Création de table" et tu indiques le nom de la table à créer.
    3. Tu exécutes ... et voilà.


    Dans la nouvelle table, je veux que lorsque le diamètre choisi ne fais pas partie des diamètres disponible que la valeur retournée soit la prochaine supérieur des diamètres disponible. Ex: si 6mm, valeur retourné dans la table soit 8mm.
    Je pense que le plus simple est de faire une requête de mise à jour, une fois la table créée.

    Est-ce que tu as une table des dimensions ?

    Et aussi, peux-tu indiquer quelle version d'Access tu utilises ?

    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
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Bonjour.



    Cela s'appelle une requête de création de table, c'est un des types disponibles dans l'éditeur de requête.
    1. Tu ajoutes la table source et tu sélectionnes les champs voulu.
    2. Tu choisis "Création de table" et tu indiques le nom de la table à créer.
    3. Tu exécutes ... et voilà.




    Je pense que le plus simple est de faire une requête de mise à jour, une fois la table créée.

    Est-ce que tu as une table des dimensions ?

    Et aussi, peux-tu indiquer quelle version d'Access tu utilises ?

    A+
    Bonjour,

    Bon j'ai créé la table

    J'utilise la version 2007 et il n'y a pas de table de dimension. La dimension est créée à partir d'un calcul en code.

  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
    La dimension est créée à partir d'un calcul en code.
    Je vais te proposer une solution assez brutale mais il est possible que ton code l'annule.
    Dans une requête de mise à jour sur ta nouvelle table, sélectionner le champ dimension.
    Sur la ligne : Mise à jour mettre quelque chose comme :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    switch([Dimension]=6; 8; [Dimension]=7; 8; [Dimension]=8; 8; [Dimension]=9; 10; [Dimension]=10; ... ; [Dimension]=20; 20)

    remplacer les ... par toute ta série de substitutions entre 11 et 19.

    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
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Je vais te proposer une solution assez brutale mais il est possible que ton code l'annule.
    Dans une requête de mise à jour sur ta nouvelle table, sélectionner le champ dimension.
    Sur la ligne : Mise à jour mettre quelque chose comme :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    switch([Dimension]=6; 8; [Dimension]=7; 8; [Dimension]=8; 8; [Dimension]=9; 10; [Dimension]=10; ... ; [Dimension]=20; 20)

    remplacer les ... par toute ta série de substitutions entre 11 et 19.

    A+
    Où ce trouve option de faire une requête de mise à jour?

  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
    Désolé de ne pas l'avoir précisé, c'est un des types de requête disponible dans l'éditeur de requête.

    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
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Désolé de ne pas l'avoir précisé, c'est un des types de requête disponible dans l'éditeur de requête.

    A+
    Bon j'ai fais la requête et modifier les paramètre pour les bonnes info.

    PremVrai("Reliure_grosseur]"=6;8;[Reliure_grosseur]=7;8;[Reliure_grosseur]=8;8;[Reliure_grosseur]=9;10;[Reliure_grosseur]=10;10;[Reliure_grosseur]=11;11;[Reliure_grosseur]=12;12;[Reliure_grosseur]=13;14;[Reliure_grosseur]=14;14;[Reliure_grosseur]=15;17;[Reliure_grosseur]=16;17;[Reliure_grosseur]=17;17;[Reliure_grosseur]=18;18;[Reliure_grosseur]=19;19;[Reliure_grosseur]=20;20)

    J'ai exécuter et le message suivant est venu:

    Microsoft Office Access n'a pas mis à jour 1154 champs à cause d«,un échec de conversion de type, o enregeistrement à la suite de violations de clé, 0 enregistrement à la suite de violation de verrou et 0 enregistrement à la suite de la règle de validation.

    Continuer tout de même l'éxécution de cette requête action?
    Cliquez sur ok pour ignorer la ou les erreurs et éxécuter la requête.
    Cliquezsur aide si vous souhaitez connaitre la cause des violations.

    J'avais écourté PremVrai("Reliure_grosseur]"=6;8;[Reliure_grosseur]=7;8;[Reliure_grosseur]=8;8;[Reliure_grosseur]=9;10;[Reliure_grosseur]=10;10) comme ceci lorsque j'ai eu le message du haut.

    J'ai mis au complet et maintenant lorsque j'essai d'éxécuter un message apparais, l'expression entré est trop complexe!!!

  8. #8
    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
    PremVrai("Reliure_grosseur]"=6;8;[Reliure_grosseur]=7;8;[Reliure_grosseur]=8;8;[Reliure_grosseur]=9;10;[Reliure_grosseur]=10;10)
    il ne faut pas utiliser les " au début.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PremVrai([Reliure_grosseur]=6;8;[Reliure_grosseur]=7;8;[Reliure_grosseur]=8;8;[Reliure_grosseur]=9;10;[Reliure_grosseur]=10;10)
    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.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par marot_r Voir le message
    il ne faut pas utiliser les " au début.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PremVrai([Reliure_grosseur]=6;8;[Reliure_grosseur]=7;8;[Reliure_grosseur]=8;8;[Reliure_grosseur]=9;10;[Reliure_grosseur]=10;10)
    A+
    PremVrai([Reliure_grosseur]=6;8;[Reliure_grosseur]=7;8;[Reliure_grosseur]=8;8;[Reliure_grosseur]=9;10;[Reliure_grosseur]=10;10;[Reliure_grosseur]=11;11;[Reliure_grosseur]=12;12;[Reliure_grosseur]=13;14;[Reliure_grosseur]=14;14;[Reliure_grosseur]=15;17;[Reliure_grosseur]=16;17;[Reliure_grosseur]=17;17;[Reliure_grosseur]=18;18;[Reliure_grosseur]=19;19;[Reliure_grosseur]=20;20)

    Expression entreé est trop complexe!!!!

  10. #10
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Dano60 Voir le message
    PremVrai([Reliure_grosseur]=6;8;[Reliure_grosseur]=7;8;[Reliure_grosseur]=8;8;[Reliure_grosseur]=9;10;[Reliure_grosseur]=10;10;[Reliure_grosseur]=11;11;[Reliure_grosseur]=12;12;[Reliure_grosseur]=13;14;[Reliure_grosseur]=14;14;[Reliure_grosseur]=15;17;[Reliure_grosseur]=16;17;[Reliure_grosseur]=17;17;[Reliure_grosseur]=18;18;[Reliure_grosseur]=19;19;[Reliure_grosseur]=20;20)

    Expression entreé est trop complexe!!!!
    J'ai fais des essais. la table que je venais de créer avec la requête. J'ai mis numérique au type de données. J'ai éffectuer un test avec seulement PremVrai([Reliure_grosseur]=6;8 ça fonctionne mais j'ai remis le code complet et encore ça retourne Expression entré trop complexe.

    Également le test PremVrai([Reliure_grosseur]=6;8 a retourné la colonne Reliure grosseur mais pas les 5 autres colonnes.

    Les petit bonhomme causé par point virgule et paranthèse

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    le nombre d'expressions de Switch est limité apparemment à 14 et tu en a 15 !
    Mais tu peux réduire le nombre d'expressions en utilisant ENTRE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PremVrai([Reliure_grosseur] entre 6 et 8;8; ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    Bonsoir,
    le nombre d'expressions de Switch est limité apparemment à 14 et tu en a 15 !
    Mais tu peux réduire le nombre d'expressions en utilisant ENTRE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PremVrai([Reliure_grosseur] entre 6 et 8;8; ...
    J'ai tenté ceci PremVrai([Reliure_grosseur] Entre 6 Et 8;8) fonctionne pas!!! Toujour message erreur du haut.

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    fais le aussi pour 15 à 17 ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  14. #14
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    fais le aussi pour 15 à 17 ...

    Ne fonctionne pas!! ;-(

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    précise le message d'erreur : "Expression trop complexe" ou erreur à l'exécution de la requête d'ajout "échec de conversion de type" ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  16. #16
    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
    Si entre ne fonctionne pas, fait simplement plusieurs série de Switch() (ex : 6 à 10 et 11 à 20), tu vas retomber en dessous de la limite max.
    Aussi tu pourrais essayer in(),
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    switch([Dimension] in(6; 7; 8); 8)
    (pas testé).
    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.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    précise le message d'erreur : "Expression trop complexe" ou erreur à l'exécution de la requête d'ajout "échec de conversion de type" ?
    Expression entré trop complexe

  18. #18
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    fais le aussi pour 15 à 17 ...
    Ok, PremVrai([Reliure_grosseur] Entre 15 Et 17;17) ça fonctionne.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Dano60 Voir le message
    Ok, PremVrai([Reliure_grosseur] Entre 15 Et 17;17) ça fonctionne.
    Je viens de comprendre que lors de l'éxécution de la requête qui crée la table dans le champ type de données, je dois aller changer l'option de texte à numérique. Lorsque cette action n'est pas faite:

    Microsoft Office Access n'a pas mis à jour 1154 champs à cause d«,un échec de conversion de type, 0 enregeistrement à la suite de violations de clé, 0 enregistrement à la suite de violation de verrou et 0 enregistrement à la suite de la règle de validation.

    Continuer tout de même l'éxécution de cette requête action?
    Cliquez sur ok pour ignorer la ou les erreurs et éxécuter la requête.
    Cliquezsur aide si vous souhaitez connaitre la cause des violations.

  20. #20
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2017
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Si entre ne fonctionne pas, fait simplement plusieurs série de Switch() (ex : 6 à 10 et 11 à 20), tu vas retomber en dessous de la limite max.
    Aussi tu pourrais essayer in(),
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    switch([Dimension] in(6; 7; 8); 8)
    (pas testé).
    A+
    PremVrai([Reliure_grosseur] in (6;7;8;8))

    Fonctionne pas, message suivant: L'expression entrée comporte une fonction dont le nombre d'arguments n'est pas correct

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Est-il possible de bloquer le reverse engineering ?
    Par fugi dans le forum Assembleur
    Réponses: 39
    Dernier message: 31/07/2007, 02h33
  2. [IRC] -> Est-ce possible avec JBuilder ?
    Par MaTHieU_ dans le forum JBuilder
    Réponses: 4
    Dernier message: 26/08/2003, 17h24
  3. Réponses: 3
    Dernier message: 29/07/2003, 09h38
  4. Réponses: 2
    Dernier message: 16/05/2003, 10h14
  5. [CR] Est il possible de créer des univers avec Seagate Info?
    Par Frank dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/06/2002, 15h22

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