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

VBA Access Discussion :

Problème formulaire pour créer un nouvel enregistrement [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Points : 155
    Points
    155
    Par défaut Problème formulaire pour créer un nouvel enregistrement
    Bonjour le forum,
    Dans un formulaire, j’ai prévu un bouton qui appelle un formulaire afin de créer un nouvel enregistrement.
    Je reçois bien un formulaire vierge mais, dès qu’un caractère est saisi, les données de l’enregistrement correspondant au formulaire de départ apparaissent.
    Un membre du forum pourrait-il m’aider pour pallier à ce problème.
    D’avance merci.
    Harry
    Evénement sur clic du bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "frm_newFourn", acNormal, , , acFormAdd  'acFormEdit
    Formulaire « Nouveau fournisseur »
    Source: la table tbl_ fournisseurs
    Evénement “on load” :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.GoToRecord , , acNewRec
    Propriétés Data
    Data Entry : Yes
    Allow Additions : Yes
    Allow Deletions: No
    Allow Edits No
    Allow Filters No
    Record Locks: No Locks
    Propriété order by:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [tbl_fournisseurs].[id_prod], [tbl_ fournisseurs].[N_ fournisseurs], [tbl_ fournisseurs].[N_ville]

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,

    Apparemment ce que tu as fait est correct. Peut-on voir la base ?

  3. #3
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Points : 155
    Points
    155
    Par défaut
    Bonjour PierreJean,
    Merci d'avoir répondu.
    La base originale "Fournisseur" est trop volumineuse et ne m'appartient pas.
    Mais son "petit frère" correspond en tout point à l'original.
    J'ai mis un lien http://cjoint.com/?3BAogtgt1yB
    Pour tester, il suffit de choisir France, Bourgogne, Meursault. Cliquer sur le bouton "Nouveau".
    Dans le formulaire qui s'affiche, taper n'importe quelle lettre dans le contrôle Producteur et le problème apparaît.

    Si d'autres infos sont nécessaires, je reste à disposition.
    Bonne journée

    Harry

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Alors le problème est tout bête :
    Affiche le formulaire frm_ajout_Producteur en mode création. sélectionne le sous-formulaire. Dans ses propriétés, sous l'onglet "Données", il faut vider Champs pères et champs fils

    En effet, pourquoi mettre un sous-formulaire ? Dans ce cas, c'est complètement inutile. Un sous-formulaire est utile dans le cas d'une relation UN-à-PLUSIEURS. Par exemple, si tu as une liste de produits et que pour chaque produit tu veux afficher les différents fournisseurs. Dans un formulaire principal tu aurais tes produits et, pour chaque produit, un sous-formulaire afficherait les fournisseurs. Je te conseille d'éviter le sous-formulaire dans ce cas

  5. #5
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Points : 155
    Points
    155
    Par défaut
    Bonjour Paidge,
    La solution proposée a (presque) résolu le problème.
    En l'absence de lien Père-Fils, le champ "N_appellation" du record "Producteur n'était plus mis à jour.
    J'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Me.N_appellation = Forms![frm_newProd_appellations]![N_appellation]
    End Sub
    et la table reflète la saisie.
    Tout à fait d'accord quant à la réflexion sur le raisonnement un à plusieurs.

    Encore merci et bonne journée
    Harry

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/10/2011, 11h05
  2. Réponses: 1
    Dernier message: 13/01/2011, 19h29
  3. [Formulaire] Aller à un nouvel enregistrement
    Par yousron dans le forum IHM
    Réponses: 2
    Dernier message: 29/11/2006, 11h24
  4. Ouvrir formulaire pour créer un enregistrement absent
    Par kangourou_agile dans le forum Access
    Réponses: 12
    Dernier message: 11/08/2006, 22h11
  5. Réponses: 1
    Dernier message: 13/06/2006, 10h23

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