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 :

[Formulaire]Ajout d'un enregistrement au sein d'un sous-formulaire impossible


Sujet :

IHM

  1. #1
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut [Formulaire]Ajout d'un enregistrement au sein d'un sous-formulaire impossible
    Bonjour à tous,

    Au risque de passer pour une débile, je craque, je poste: je n'arrive plus à créer de nouveaux enregistrements dans un sous-formulaire.

    J'ai vérifié les liaisons de mes tables, vérifié les laisons formulaire/sous-formulaire, effacé et ré-intégré le sous-formulaire en veillant bien sur les jointures. Ca marche toujours pas.
    Le plus bizarre, c'est que: 1: je peux modifier un enregistrement existant de ce sous-formulaire et 2: les données affichées sont bien les bonnes (celles liées à mon formulaire: dossier en cours ==> sous-objets OK).

    Ou je suis une quiche qui a le cerveau embrumé par les volutes du rhum guyanais (oulà! je me dévoile là!), ou je me fais avoir comme une blairotte, ou c'est un problème hyper fortiche... (Dites moi que c'est la 3e solution, juste par égar pour mon égo...)

    Vous avez une piste?

  2. #2
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut,
    La propriété Ajouts autorisés du sous-form est à Oui ?

  3. #3
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut
    oui. Ainsi que les propriétés de filtrage, de mofif, de suppression. Verrouillage: Aucun.

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    c'est un peu vague...

    comment crées tu ton nouvelle enregistrement?

    .vérifie la source de ta donnée du formulaire, si c'est une requete : va dans ta requete et vérifie que tu peux bien ajouter un nouvelle enregistrement
    ?=>il arrive que les requetes supprime l'ajout d'enregistrement

    .vérifie l'ajout dans ton formulaire principale sans liaison avec ton sous formulaire...

    pourquoi ne peux tu pas ajouter? fonctionnalité inactif? message erreur?

  5. #5
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut
    comment crées tu ton nouvelle enregistrement?
    .vérifie la source de ta donnée du formulaire, si c'est une requete : va dans ta requete et vérifie que tu peux bien ajouter un nouvelle enregistrement
    ?=>il arrive que les requetes supprime l'ajout d'enregistrement
    En effet, la source de mon sous-formulaire est bien une requête. Mais j'ai vérifié: je peux ajouter un enregistrement.
    .vérifie l'ajout dans ton formulaire principale sans liaison avec ton sous formulaire...
    je vois pas ce que tu veux me faire vérifier sur ce coup là. l'ajout d'un nouveau dossier s'effectue correctement dans le formulaire principal (c'était ça ta question?) mais là, l'ajout doit être fait dans un sous-formulaire (un dossier peut concerner plusieurs parcelles ==> listage de ces parcelles dans le sous-formulaire).
    pourquoi ne peux tu pas ajouter? fonctionnalité inactif? message erreur?
    A oui, il y a un message d'erreur qui apparait tout en bas de la fenêtre access en tout petit uniquement lorsque le clic de ma souris est enfoncée pour sélectionner un critère:
    Impossible d'ajouter des enregistrements; la clé de jointure de la table "PARCELLES" n'apparaît pas dans l'ensemble d'enregistrement
    Hein? J'ai revérifié mes liaisons et elles sont OK.
    A oui, précision: l'ajout d'enregistrements marchait encore il y a un mois. J'ai dû merder quelque part mais je vois pas où...

  6. #6
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    bon, je suis pas expert en message d'erreur (c'est pas faute d'en avoir...)
    mais si tu lie bien ton premier formulaire avec le deuxieme comme il semble être le cas puisque tu arrives a voir des enregistrements c'est donc que ta requete déconne.
    comme d'ailleurs:
    la clé de jointure de la table "PARCELLES" n'apparaît pas dans l'ensemble d'enregistrement
    il faudrait chercher de ce coté là.
    tu es sur d'avoir repris la source de donnée de ton sous form dans une requete? et y avoir mis ton critère avant de l'appliquer?

    au pire : ne fais plus de liaison champ père/fils et crée une requete avec comme critère le champ père de ton premier form (il devra donc etre ouvert)
    et recopie cette requete dans la source de ton sous form
    comme ca si ta requete en ajout marche sa marchera obligatoirement dans ton sous form.
    mais le prob c'est la maj de la liaison form/sous form : elle n'est plus automatique. donc a mettre des requery(s)...

    enfin ca dépanne et ca permet des fois de trouver l'origine car c'est pas normal que ta requete permet l'ajout et pas ton sous form.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut À essayer...
    Hello,

    Vérifie que le type de recordset est bien à (Feuille rép.dyn.(MAJ globale)) plutôt que (Feuille de réponse dynamique) dans ton sous-formulaire. Onglet Données des propriétés.

    J'ai eu ce bogue il y a quelques mois. Je ne me souvenais pas avoir changé volontairement cette propriété. Mais ça fait toute la différence.

    En espérant que cela puisse te sortir de l'impasse!

    Robbit

  8. #8
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut
    En effet, Robbit, il semble que ça ai changé quelque chose: je n'ai plus le message lors de la création d'un nouvel enregistrement.

    Mais je crois que, finalement, j'ai toujours un soucis. Le message est affiché au même endroit que précédemment (en bas de la fenêtre Access).
    Je détaille un peu mon sous-formulaire: il est lié au formulaire principal par Id_Dossier, l'identifiant des dossiers. Ce sous-formulaire est composé comme suit:
    - un label pour l'id de la parcelle
    - une zone de liste pour choisir la commune de la parcelle (colonne liée = id_commune)
    - trois zones de texte pour déterminer la section cadastrale, le num. de la parcelle et sa surface
    - une zone de liste pour choisir un lieudit (colonne liée = id_lieudit)
    Ce coup ci, le message apparaît lorsque je sélectionne un lieudit:
    Le contrôle ne peut pas être modifié: il est lié au champ NumeroAuto "id_lieudit".
    Hein? je le sais ça qu'il est lié au champ numéroAuto! C'est normal que la zone de liste fasse apparaître le nom du lieudit lié à "id_lieudit". C'est ce que je lui demande!
    Pourquoi il veut pas???
    (vous noterez que je suis encore polie avec mon PC...)

    PS: chose marrante: si j'essaie de mettre la priopriété "limiter à liste" de cette même liste à non, il me dit
    BD FONCIER ne parvient pas à définir à "Non" la propriété Limiter à liste.
    La 1e colonne visible, déterminée par la propriété LargeurColonne, n'est pas égale à la colonne liée.
    Corrigez d'abord la propriété LargeurColonne avant de définir la propriété LimiterAListe.
    Huhu. Le message reste quand je modifie la largeur comme môsieur le veut. Quel drôle cet Access...

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 047
    Points : 1 042
    Points
    1 042
    Par défaut
    bonjour,
    si ta requête pour ton formulaire est constituée de deux tables dont une liée par une clé il te sera impossible de rajouter un élément alors qu'il sera possible de le modifier.

    pour ce qui est de la liste déroulante .
    BD FONCIER ne parvient pas à définir à "Non" la propriété Limiter à liste.
    La 1e colonne visible, déterminée par la propriété LargeurColonne, n'est pas égale à la colonne liée.
    je pense que ta liste déroulante est constituée de plusieures colonnes. Dans le cas ou la première colonne est cachées et que c'est par exemple l commune qui est affichée il n'est pas possible de modifier la liste.
    Bon courage

  10. #10
    Membre régulier

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Points : 97
    Points
    97
    Par défaut
    si ta requête pour ton formulaire est constituée de deux tables dont une liée par une clé il te sera impossible de rajouter un élément alors qu'il sera possible de le modifier.
    ma requête demande l'id du dossier, l'id de la parcelle (+ diverses infos sur celles-ci dont l'id de la commune) et l'id du lieudit. Ces id sont les clés. Pourquoi je ne pourrais pas modifier le lieudit alors que je peux modifier la parcelle?
    je pense que ta liste déroulante est constituée de plusieures colonnes. Dans le cas ou la première colonne est cachées et que c'est par exemple l commune qui est affichée il n'est pas possible de modifier la liste.
    Et si les deux colonnes sont affichées et que ça n'y change rien?

  11. #11
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    j'ai pour principe avec access de pas trop me fouler, si ca marche pas je contourne le problème...

    a défaut d'avoir ta base et de comprendre ce qui se passe réellement je te conseil de crée ton enregistrement avant l'ouverture de ton formulaire ainsi t'aura plus de problème.
    soit par VB avec le recordset soit par SQL "insert" voir macro commande

    ma devise: faut pas chercher à comprendre pourquoi access marche pas faut comprendre ce qui marche!

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/04/2011, 16h42
  2. Réponses: 1
    Dernier message: 14/11/2009, 05h25
  3. Réponses: 2
    Dernier message: 09/01/2009, 09h21
  4. Sous-formulaire avec 1 seul enregistrement
    Par Farbin dans le forum Access
    Réponses: 6
    Dernier message: 08/08/2006, 16h37
  5. Réponses: 2
    Dernier message: 10/10/2004, 23h12

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