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

IHM Discussion :

Ajouter un champ d'une requete dans un formulaire [AC-2007]


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 40
    Points
    40
    Par défaut Ajouter un champ d'une requete dans un formulaire
    Bonjour, j'essaie de créer un formulaire a partir d'une table et d'y ajouter un champ calculé a partir d'une requête.
    Le nom de cette table est "T_Shippment", elle contient toutes les informations relatives a l'envoi de produits, notamment la date programmée de l'envoi et la date réelle de l'envoi.
    J'ai crée une requête comparant ces 2 dates afin de déterminer le nombre de jours de retard ou d'avance.

    Dans cette même table je possède aussi le champ "Not on time reason"
    Dans le formulaire en question j'ai donc inséré les champs suivants :
    - shippment_ID
    - Product
    - Not on time reason

    J'aimerai pouvoir y ajouter le champ du nombre de jour d'écart calculé par la requête précédente.

    Cela permettrait a mes employés d'avoir une liste de tous les envois et de voir ceux qui ne sont pas "a l'heure" et donc de remplir le champ "Not on time reason".

    Avec l'assistant de création de formulaire j'ai essayé de le créer en forme de tableau en inserant les champ de la table ainsi que celui de la requete mais ensuite en l'ouvrant je ne peux pas modifier le champ "Not on time reason"> Peut etre parce que c'est un champ appartenant a la table que la requete utile pour faire le calcul ...

    Merci

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut Deux champs de même nom
    Bonjour,

    Deux champs protant le même nom n'est pas une bonne idée, cela crée des problème. Nommez votre champ calculé différemment et vous pourrez l'afficher dans le formulaire de la même façon qu'n champ appartenant à la table, à condition que le formulaire soit basé sur la requête évidemment.

    A+
    RJ

  3. #3
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    Au passage, il n'existe que des champs de patates ou de carottes

    On parle de colonnes d'une table, boudiou


  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 40
    Points
    40
    Par défaut
    Je n'ai aucun champ portant le même nom, je vais essayer de re expliquer mon problème en faisant plus court.

    Voici ma table T_Shippment :
    - shippment_ID
    - Product
    - Departure date th
    - Departure date
    - Not on time reason

    J'ai crée une requête me permettant de calculer la différence entre "Departure date th" et "Departure date". Si la valeur absolue de cette différence est supérieur a 6, la requête me renvoie "Not on Time", sinon elle me renvoie "On Time"

    Lorsqu'un shippment est "Not on Time", il faut donner la raison, pour cela j'ai ajouté dans ma table le champ : "Not on time reason" (liste de plusieurs choix).

    On pourrait donner la raison en ouvrant directement la table mais il est évident qu'avec des milliers de shippment cela deviendrait vite laborieux.
    C'est pour cela que j'aimerai créer un formulaire m'affichant pour chaque shippment si celui-ci est "On Time" ou non et a coté le champ "Not on Time reason" afin que l'on puisse selectionner plus facilement la réponse.

  5. #5
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut Champ de requête
    Re,
    Votre requête est basée sur la table et vous y avez ajouté un champ calculé, donc si vous créer votre formulaire en le basant sur cette requête vous devez avoir ce champ dans la liste des champs disponibles. Il n’y a alors qu’a le placer dans votre formulaire à côté du champ ‘Not in time reason’
    RJ

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 132
    Points : 118
    Points
    118
    Par défaut
    Après m'être pris la tête longtemps avec ce même problème, je conseille la démarche suivante:

    A partir de la table principale, faire une requête qui reprend tous les champs de cette dernière, rajouter les champs calculés souhaités(datediff...etc) et substituer cette requête comme source du formulaire principal.

    Les champs calculés seront alors considérés commes des vrais champs et pourronts être utilisé pour trier, filtrer et faire des tests sur enregistrements.

  7. #7
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 40
    Points
    40
    Par défaut
    Bonjour, merci pour votre aide et désolé pour ma réponse tardive.

    Sefrou j'ai utilisé ta méthode et ça fonctionne parfaitement avec une simple requête. Le problème est que la mienne est basée sur 4 tables et j'obtiens au final toujours la même erreur (en anglais) :

    "The wizard is unable to open your form in Form view or Datasheet view, possibly because another user has a source table open in exclusive mode. Your form will be opened in Design view."

    Il m'est donc toujours impossible de modifer le champ de cette via le formulaire.

  8. #8
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 40
    Points
    40
    Par défaut
    J'ai finalement crée une autre requête basée uniquement sur la table>
    Je ne sais pas si ma base de données sera réellement optimisée mais le principal c'est que tout fonctionne !

    Merci encore pour votre aide.

  9. #9
    rjl
    rjl est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 82
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 301
    Points : 129
    Points
    129
    Par défaut
    Bonjour,

    Je m'infiltre car mon problème est de même nature et dans le droit fil du problème évoqué.
    Suite à diverses difficultés (normales pour un débutant), j'ai mis en place un formulaire dans lequel jun club est retenu à partir d'une liste déroulante et lu (directement en DAO).
    Je dois ensuite faire un sous formulaires mais je ne peux pas mettre en place sur ce formulaire principal mes champs pour lesquels je reçois une erreur 2448 Impossible d'attribuer une valeur à cet objet ! Forms.F_MaJAdh_A.AffNumCl = iNclub
    Voici ma table principale avec les 5 zones à alimenter avec des données dont je dispose en VBA.

    En pratique, je n'ai plus de requête pour ce formulaire principal mais cependant 5 zones à alimenter
    Merci de votre appui RJL9812

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/10/2013, 12h10
  2. Réponses: 5
    Dernier message: 12/01/2011, 14h59
  3. [AC-2003] Ajout Colonne issue d'une requete dans une table
    Par ted the Ors dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/08/2009, 20h38
  4. [AC-2003] Recuperation d'un champs d'une requete dans un champs d'un formulaire
    Par TheRRb dans le forum VBA Access
    Réponses: 6
    Dernier message: 13/07/2009, 13h42
  5. Réponses: 19
    Dernier message: 29/02/2008, 19h18

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