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

Access Discussion :

formulaire: enregistrement en double/date now pb


Sujet :

Access

  1. #1
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut formulaire: enregistrement en double/date now pb
    Bonjour,

    J'ai un problème avec les enregistrements d'un formulaire.

    Dans mon formulaire, j'ai:
    - une combo box qui me liste l'ensemble des personnes à appeler
    - un champ à remplir manuellement pr mettre des commentaires
    - un champ avec la date qui est mis à now() changeable par l'utilisateur
    - un champ avec la date qui est mis à now() non changeable et non visible par l'utilisateur

    Mon problème est qu'il y a systématiquement 2 enregistrements dans la table correspondante:
    - un avec date now non visible correspondant au moment où l'utilisateur à selectionner la personne dans la liste, sans avoir commencer à remplir les champs
    - un avec date now non visible correspondant au moment où l'utilisateur a fini de remplir les champs

    Or moi, je ne veux que le 2ème enregistrement et je ne sais pas comment faire pour ne pas avoir le premier.

    Merci de votre aide.

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Ce que tu peux faire s'est de faire un champ qui sera mis à jour au moment ou tu valides ton dernier champ ou sur un bouton.
    Avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Texte0 = "ABC"
        Me.Refresh
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    slt,
    merci de ta réponse.
    mais je ne comprends pas...

    en fait, j'arrive pas à comprendre pourquoi j'ai 2 enregistrements à chaque fois que je clique sur un nom de la liste.

    - le 1er enregistrement a tous les champs vides sauf la date non visible par l'utilisateur qui est mis à now()
    - le 2ème enregistrement a ses champs remplis par l'utilisateur, la date visible prend la valeur de la date non visible du premier enregistrement, la date non visible prend la date correspondant au moment où l'utiisateur ferme le formulaire.

    ce que je ne comprend pas c'est qu'il n'y a aucun code associé à tous ces champs.

    merci de votre aide. En espérant avoir été claire

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Cela ne viendrait-il pas d'un sous-formulaire, et des champs pères et fils qui sont mauvais ???
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    en effet, j'ai le formulaire principal et 2 sous formulaires associés.
    - dans le formulaire principal, j'ai juste la combobox pour choisir la personne.
    - dans le 1er sous formulaire, j'ai les données sur cette personne provenant de la table 1, non changeable par l'utilisateur
    - dans le 2ème sous formulaire, j'ai les champs date et commentaire changeables par l'utilisateur

    Mais tout a l'air bien lié car dans chq formulaire, j'affiche l'identifiant de la personne et c'est bien le meme dans les 3 formulaires. et cet identifiant change correctement à chaque changement de personne dans la liste.

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    As-tu bien lié ta combobox avec tes sous-formulaires ?

    Ton problème doit venir de là !
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    salut,

    ben oui je crois...
    dans les 2 sous formulaires, en design view, dans link master field et link child field, j'ai bien mis les noms des champs qui relient les sous formulaires au formulaire principal.

  8. #8
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Résumons un peu :

    Tu as dans ton formulaire 1, une liste déroulante contenant des noms. Tu as dans un sous-formulaire 2 des champs de dates et de commentaire.

    Une des dates est modifiable, mais pas l'autre, et tu peux mettre le commentaire que tu veux.

    Les données (dates et commentaire) sont elles toutes dans la même table ? Avec un lien sur l'id ou le nom...

    Donc, tu sélectionnes un nom dans la liste, et tu vois apparaitre les dates saisies et commentaire associé. Et quand tu veux rajouter une donnée, cela te crée deux lignes. Et toi tu n'en veux qu'une.

    Ai-je bien tout compris ?
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  9. #9
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    slt,

    alors c ça sauf que j'ai fait plusieurs tests et je me suis rendue compte à quel moment ça me rajoute une ligne.

    tout d'abord, dans ma table, il y a bien tous les champs date, commentaire...et la table est bien liée par l'identifiant à la table des personnes de ma liste.

    quand je vais dans mon formulaire et que je clique sur un nom, puis que je remplis les champs, que j'appuie sur le bouton fermer, si je vais voir dans ma table, alors il y a 2 enregistrements:
    - le vrai avec les champs remplis. L'identifiant de l'enregistrement est n
    - le faux où rien n'est rempli (pas meme la date à now() ) et où l'identifiant de l'enregistrement est n-1 !!!


    ce que j'ai remarqué, c'est que le faux enregistrement est lié au moment où j'appuie sur le bouton fermer. En effet, si dans mon formulaire, je clique sur un nom, je remplis les champs, je ne ferme pas le formulaire mais je clique sur un 2ème nom, je remplis les champs et j'appuie sur fermer, alors dans ma table, j'ai un seul enregistrement pour le premier nom, et 2 enregistrements (un vrai et un faux ) pour le 2ème nom. Donc j'en ai conclu que ça a un rapport avec le bouton fermer. Ce bouton a été fait avec l'assistant je crois (ce n'est pas moi qui l'ai fait). Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Private Sub Retour_Click()
    On Error GoTo Err_Retour_Click
     
     
        DoCmd.Close
     
    Exit_Retour_Click:
        Exit Sub
     
    Err_Retour_Click:
        MsgBox Err.Description
        Resume Exit_Retour_Click
     
    End Sub
    voilà, j'espere qu'on finira par savoir d'où viennent ces "faux" enregistrements !!

    merci de ton aide

  10. #10
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Ton bouton est placé à quel niveau sur le formulaire ou sur le sous-formulaire...
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  11. #11
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    il est placé sur le formulaire donc là où il y a la combobox avec la liste des personnes

  12. #12
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Ton formulaire 1 ne doit être lié à aucun table, cela doit être un formulaire sans affectation de table. Ta liste déroulante est la seule zone qui possède un lien avec une table.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  13. #13
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    Quand je clique dans la partie grise du formulaire principal (là où il n'y a pas de quadrillage), j'ai une fenetre "form" qui s'ouvre et le record source qui est écrit correspond à la table où il y a les champs dates, commentaire... Donc est ce qu'il y a un autre endroit pour lier le formulaire à une table?

  14. #14
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Ce que tu dois faire, il te faut créer un formulaire vite (aucun lien avec une table), dans ce formulaire tu mets ta liste déroulante (qui est une requête d'une table) que tu nommes "lien_1".
    Tu crées ton sous-formulaire, avec les données dates et commentaire.
    Et pour relier le formulaire et le sous-formulaire, il te suffit de mettre dans Père le nom du champ du formulaire (soit lien_1) et dans le champ Fils du sous-formulaire, tu mets le nom de ta colonne de ta table du sous-formulaire.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  15. #15
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    salut,

    alors j'ai testé:
    - j'ai crée un nouveau formulaire vide avec juste une combobox liée à une requete pour avoir la liste des noms de la table1.
    - j'ai mis le sous formulaire avec les dates et commentaires (champs de la table 2)
    - dans le sous formulaire, j'ai mis link master field = le nom de ma combobox, et child master field = l'identifiant qui se trouve dans ma table 2 ( contenant les dates et commentaires). Cet identifiant est le meme que celui de la table 1 (qui contient les noms des personnes de ma combobox). Les 2 tables sont reliées par cet identifiant.

    mais ça ne fonctionne pas car qd je suis en mode sheet, ça met error dans le champ id du sous formulaire à chaque fois que je selectionne le nom d'une personne dans ma combobox.

  16. #16
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Ce qu'il faut que tu fasses c'est de faire apparaître deux colonnes dans ta combobox, la première colonne contiendra l'id et la seconde le nom. Dans les paramètres d'affichage de ta combobox, il faut lui dire que tu as 2 colonnes et que celle qui correspond à l'id soit =0, et que la colonne de référence soit celle de l'id.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  17. #17
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    alors je comprends pas pourquoi mais ça marche
    je n'ai plus les enregistrements en double. La différence avec ce que j'avais fait c'est que mon formulaire principal était lié à une table donc j'avais un control source sur ma combobox (qui était l'identifiant). Là le formulaire principal n'est plus lié à une table.

    J'ai juste un petit problème encore. Avant, dans ma combobox, j'avais
    - l'id et le nom
    - avec column count = 2
    - et bound column = 1
    - et control source = id
    l'id n'était pas visible, juste le nom, et quand je cliquais sur un nom, le nom restait visible.

    Maintenant, dans la combobox, j'ai:
    - l'id et le nom
    - avec column count = 2
    - et bound column = 1
    - et control source = rien
    l'id et le nom sont visibles et quand je clique sur un nom, le nom disparait, il n'y a plus que l'id visible par l'utilisateur. Donc comment faire pour que l'id ne soit pas visible et que seul le nom soit visible ?

    merci pour tout

  18. #18
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Dans les paramètres d'affichage de ta combobox, il faut lui dire que tu as 2 colonnes et que celle qui correspond à l'id soit =0, et que la colonne de référence soit celle de l'id.
    Dans les propriétés de ta combobox :
    Dans l'onglet Données, tu vérifies que le numéro contenu dans la donnée "Colonne liée" correspond bien à la colonne de l'id.
    Dans l'onglet Format, tu dois avoir 2 dans la donnée "Nbre colonne", et dans largeur colonne, tu mets dans le cas où tu as Id/Nom, la donnée "0;5cm", tu ne verras pas l'id mais juste le nom...

    J'espère avoir été assez clair.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  19. #19
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    merci pour tout. ça fonctionne.

    bonne année


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

Discussions similaires

  1. [2.x] Date (now) par défaut dans un formulaire
    Par patrick45 dans le forum Symfony
    Réponses: 0
    Dernier message: 14/01/2013, 21h08
  2. Inclure date "now" dans le nom de fichier à enregistrer
    Par Maxime082 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/05/2011, 21h59
  3. [formulaire] Proposition de la date suivante
    Par Duval51 dans le forum IHM
    Réponses: 11
    Dernier message: 30/03/2006, 09h20
  4. PB controle formulaire avec tableau à double entrées
    Par Poutchou dans le forum Général JavaScript
    Réponses: 36
    Dernier message: 23/03/2006, 14h37
  5. [Forms] : enregistrement en double
    Par Aminos dans le forum Forms
    Réponses: 5
    Dernier message: 27/01/2005, 17h36

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