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 :

Non affichage des données dans le formulaire


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 57
    Points : 29
    Points
    29
    Par défaut Non affichage des données dans le formulaire
    Bonjour,

    Ma base de données se constitue de plusieurs formulaires basés sur des requêtes comportant une (avec condition where) ou plusieurs tables. Ces formulaires comportent un bouton contrôle "Enregistrer et nouveau".
    Lorsque que je clique sur ce bouton pour enregistrer mes données, celles-ci sont bien enregistrées dans la ou les tables d'origines mais elles ne le sont pas dans la requête et par conséquent dans le formulaire.

    J'ai essayé de savoir pourquoi, en revérifiant toutes les propriétés du formulaire mais je n'ai pas trouver d'où venait le problème

    Sauriez-vous d'où cela peut venir??

    Merci pour votre aide.

    PS: j'utilise Access 2007

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,
    Citation Envoyé par enkie Voir le message
    Sauriez-vous d'où cela peut venir??
    Juste quelques soupçons... Lorsque tu fermes ton formulaire puis l'ouvre de nouveau, ce dernier est à jour?

    Cordialement.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Non il ne se met pas à jour si je le ferme et réouvre ensuite
    Cela vient doù?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    Dans ce cas il faut nous montrer la source du formulaire récalcitrant.

    Cordialement.

    Ps : Il en est de même si quelques lignes de code se "promènent" lors de l'ouverture, sur chargement, voir sur activation de ce formulaire.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    La source?? et je trouve ça où? J'ai créé mes formulaires directement avec access et pas à partir de VBA donc je sais pas trop où trouvé la source

    En fait ce sont tous mes formulaires qui font ça, enfin presque... Disons que mes formulaires actuels sont la version 2.
    Dans ma première version, j'avais fait un formulaire double affichage et là ça marchais très bien. j'avais même commencer à en remplir certains pour tester.
    Et dans la version 2 (formulaire uniquement et fenêtre indépendante), ceux qui avaient déjà quelques données d'enregistrer fonctionnent bien mais ceux qui n'en avaient pas ne marche pas.
    Ce qui m'étonnes puisque tout mes formulaires sont basés sur le même (j'ai C/C la struture du formulaire à chaque fois et j'ai juste modifié ensuite certaines choses dans la forme pour chacun).
    Pour ce qui est des macros et des procédures évènementielles, elles ont été rajoutées par la suite.

    Mais j'ai effectivement quelques lignes de macros qui se promènent sur chargement

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,
    Citation Envoyé par enkie Voir le message
    La source?? et je trouve ça où?
    Dans propriétés du formulaire/Onglet données-->Source

    Cordialement.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Bonjour

    Pour mon formulaire Détails Clients (par exemple) la source est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT IIf(IsNull([NOM_CLIENT]),IIf(IsNull([PRENOM_CLIENT]),[SOCIETE],[PRENOM_CLIENT]),IIf(IsNull([PRENOM_CLIENT]),[NOM_CLIENT],[NOM_CLIENT] & ", " & [PRENOM_CLIENT])) AS [Nom du client], CLIENTS.*, ADRESSES.ID_ADRESSE, ADRESSES.ADRESSE1, ADRESSES.CODE_POSTAL1, ADRESSES.VILLE1, ADRESSES.PAYS_REGION1, ADRESSES.NATURE, ADRESSES.ADRESSE2, ADRESSES.CODE_POSTAL2, ADRESSES.VILLE2, ADRESSES.PAYS_REGION2, ADRESSES.NATURE
    FROM CLIENTS INNER JOIN ADRESSES ON CLIENTS.ID_CLIENT = ADRESSES.ID_CLIENT
    ORDER BY IIf(IsNull([NOM_CLIENT]),IIf(IsNull([PRENOM_CLIENT]),[SOCIETE],[PRENOM_CLIENT]),IIf(IsNull([PRENOM_CLIENT]),[NOM_CLIENT],[NOM_CLIENT] & ", " & [PRENOM_CLIENT]));

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Pour ta requête-->Comme les Belges : NATURE = 1 Fois!
    D'autre part, tu es certain que c'est Access, tout seul comme un grand qui a pondu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Nom du client: VraiFaux(EstNull([NOM_CLIENT]);VraiFaux(EstNull([PRENOM_CLIENT]);
    [SOCIETE];[PRENOM_CLIENT]);VraiFaux(EstNull([PRENOM_CLIENT]);
    [NOM_CLIENT];[NOM_CLIENT] & ", " & [PRENOM_CLIENT]))
    Alors que pour l'instant semble suffire un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nom du client: [NOM_CLIENT] & " " & [PRENOM_CLIENT]
    Si on constate l'automatisme d'inscription pour ID_CLIENT dans la table ADRESSES lors d'inscription du nom de client dans la requête,
    il se produit un "incident" si ce numéro n'est pas confirmé par une saisie dans un champ adresse = Lors de la prochaine ouverture ne vont apparaître que les champs égaux.
    Remêde--> Regarde dans cette requête la propriété de la jointure : Inclure tous les enregistrements de la table clients.....

    Cordialement.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par francishop Voir le message
    Bonsoir,

    Pour ta requête-->Comme les Belges : NATURE = 1 Fois!
    J'ai pas compris

    D'autre part, tu es certain que c'est Access, tout seul comme un grand qui a pondu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Nom du client: VraiFaux(EstNull([NOM_CLIENT]);VraiFaux(EstNull([PRENOM_CLIENT]);
    [SOCIETE];[PRENOM_CLIENT]);VraiFaux(EstNull([PRENOM_CLIENT]);
    [NOM_CLIENT];[NOM_CLIENT] & ", " & [PRENOM_CLIENT]))
    Ca c'est moi qui l'ai "pondu" comme tu dis...

    Remêde--> Regarde dans cette requête la propriété de la jointure : Inclure tous les enregistrements de la table clients.....

    Cordialement.
    Autrement dit faire une Left Join au lieu d'une Inner Join...


    Bon, après modification ça marche Me reste plus qu'à faire pareil avec le reste

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,
    Citation Envoyé par enkie Voir le message
    J'ai pas compris
    Tu n'es pas le premier à ne pas comprendre "mon humour"

    Dans ta requête il est inutile d'inclure 2 fois "NATURE"

    Cordialement.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Bonjour

    Alors si parce que NATURE correspond a l'adresse; soit livraison soit facturation.

    Sinon j'ai essayé de refaire pareil avec mon formulaire Détails composants, mais ça ne marche toujours pas. Peut être parce qu'il y a trop de table?? ^^'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT COMPOSANTS.*, FOURNISSEURS.NOM_FOUR, FOURNISSEURS.REF_COMP, GROUPE_RADIOGENE.*, [NUM_SERIE_GR] & " " & [NUM_TRACEUR_VIE_GR] AS [N° de groupe radiogène], [NOM_PERS] & " " & [PRENOM_PERS] AS [Nom de la personne], EMPLOYES.HAB_EMP, ANALYSEUR.MODELE_ANALYSEUR, ANALYSEUR.NUM_SERIE_ANA, ANALYSEUR.DATE_MONTAGE, PROCEDURES.NUM_FORMULAIRE, PROCEDURES.PROC_ASSOCIEES
    FROM FOURNISSEURS INNER JOIN ((((((ANALYSEUR INNER JOIN GROUPE_RADIOGENE ON ANALYSEUR.ID_GR = GROUPE_RADIOGENE.ID_GR) LEFT JOIN EMPLOYES ON GROUPE_RADIOGENE.ID_PERSONNE = EMPLOYES.ID_PERSONNE) LEFT JOIN PERSONNES ON GROUPE_RADIOGENE.ID_PERSONNE = PERSONNES.ID_PERSONNE) INNER JOIN COMPOSANTS ON (GROUPE_RADIOGENE.ID_GR = COMPOSANTS.ID_GR) AND (ANALYSEUR.NUM_SERIE_ANA = COMPOSANTS.NUM_SERIE_ANA)) INNER JOIN PROCEDURES ON (GROUPE_RADIOGENE.ID_GR = PROCEDURES.ID_GR) AND (ANALYSEUR.NUM_SERIE_ANA = PROCEDURES.NUM_SERIE_ANA)) INNER JOIN BON_COMMANDE ON COMPOSANTS.CODE_COMPO = BON_COMMANDE.CODE_COMPO) ON (FOURNISSEURS.ID_FOUR = GROUPE_RADIOGENE.ID_FOUR) AND (FOURNISSEURS.ID_FOUR = BON_COMMANDE.ID_FOUR);

    Sinon j'ai une autre question (pendant que j'y pense...) Quand je renseigne mes champs dans mon formulaire, elles données sont tout de suite inscrite dans la/les table(s) avant même que j'ai appuyer sur le bouton "Enregistrer". Est-ce normal??
    Or j'aimerais avoir la possibilité de pouvoir saisir les données sans que celles-ci soient tout de suite enregistrées dans la table. Mais qu'elles soient gardées dans le formulaire jusqu'à ce que je lui dise de les enregistrer dans la table (par exemple lors de l'édition d'un devis pour une commande)

    Merci

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    Je ne regarde même pas ta requête.
    Tu es en train de détourner l'objet d'une requête qui, si son rôle est de regrouper des informations et si besoin d'y apporter quelque traitement, ce même rôle ne peut être de se substituer au sous formulaire.

    Alors pour cette requête, si son rôle est autre qu'apporter une lecture d'information-->Divise.

    Ce souci se faisait déjà ressentir lors de ta première requête. Il était "malsain" de ne pas mettre ta table adresse en sous formulaire. Ceci était le prémisce de soucis futurs, mais acceptable au vu du nombre de tables impliquées.

    Egalement malsain de mettre le même nom de champ dans des tables. Acces présente "la note" un jour ou l'autre. Alors, à l'un ce ces champs on ajoute un petit s ou autre signe distinctif.

    Bon courage.

    Cordialement.

    Ps :
    http://access.developpez.com/faq/?pa...ees#FormNonLie

    http://access.developpez.com/faq/?pa...ermFrmSansSauv

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/08/2009, 05h17
  2. C# - Affichage des données dans un formulaire
    Par paradeofphp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 25/07/2006, 19h23
  3. affichage des enreg. dans sous-formulaire
    Par OBIWAN64 dans le forum Access
    Réponses: 5
    Dernier message: 27/04/2006, 08h10
  4. Affichage des données dans un état
    Par puppusse79 dans le forum Access
    Réponses: 8
    Dernier message: 07/04/2006, 16h36
  5. Réponses: 6
    Dernier message: 15/02/2006, 14h02

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