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 :

Nouvel enregistrement sur Abs dans liste


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut Nouvel enregistrement sur Abs dans liste
    Salut,

    Il y a un petit truc tout simple que je n'arrive pas à faire et que je ne trouve pas dans la FAQ ni dans les posts du forum (ça doit être trop simple à mon avis).

    Voila, j'ai 2 tables T_agent et T_ville

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    les champs de T_agent sont :<ul><li style="">- index1</li><li style="">- nom</li><li style="">- ville1</li><li style="">- age</li></ul>
    index1 est la clé en NumAuto, le reste en texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    les champs de T_ville sont :<ul><li style="">- index 2</li><li style="">- ville2</li><li style="">- cp</li></ul>
    index2 est la clé en NumAuto, le reste en texte

    J'aimerais que, dans le formulaire de saisie des nouveaux enregistrements de la table T_agent, si on entre une ville qui n'existe pas dans la table T_ville, alors le formulaire T_ville s'ouvre, on remplit le nouvel enregistrement correspondant à cette nouvelle ville, puis quand on le ferme, qu'au retour sur notre formulaire T_agent, la liste des villes se soit mise à jour et que la nouvelle valeur soit dans la case.

    Voila, c'est tout con, ça doit être utilisé dans toutes les bases access à mon avis un truc de ce genre mais je ne vois pas.

    Par contre, je ne sais pas s'il faut que mon champ ville2 de ma table T_ville soit la clé primaire ou pas nécessairement.

    Merci de vos réponses et a+

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Pourquoi ne pas lier tes 2 champs "ville1" et "ville2" en respectant l'intégrité référentielle?

    Cependant, je ne comprends pas pourquoi tu as deux tables distinctes, tu ne peux pas par hasard ajouter le champ "cp" à ta table "T_Agent"?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    salut erika,

    mes 2 champs sont liés avec l'intégrité référentielle et "limiter à la liste" "oui" si je mets le champ Ville2 de la table T_ville comme index, sinon je ne peux pas.

    et cet exemple est un exemple simple que je pourrai reproduire avec d'autres applis + compliquées à expliquer ici, c'est pourquoi j'ai pris ces exemples sans importance.

    Avec l'intégrité référentielle, on ne peut certes pas ajouter une ville qui n'existe pas dans l'autre table, mais ça s'arrête là, le message d'erreur apparaît et on est bloqué.

    Moi j'aimerais que dans ce cas ce message n'apparaisse pas, et qu'on entre directement un nouvel enregistrement dans l'autre table et que la liste se mette à jour quand on revient sur le formulaire initial.

    a+

  4. #4
    Membre chevronné

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    Bonjour,

    j'ai pensé à un truc comme ça :

    dans formulaire agent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Private Sub ville1_NotInList(NewData As String, Response As Integer)
     Response = acDataErrContinue
     Me.ville1.Undo
     DoCmd.OpenForm "t_ville", acNormal, , , acFormAdd, , NewData
    End Sub

    dans formulaire ville
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    Private Sub Form_Close()
     If CurrentProject.AllForms("MONFORM_AGENT").IsLoaded Then
       Forms("MONFORM_AGENT")![ville1].Requery
       Forms("MONFORM_AGENT")![ville1] = Me.ville2
     End If
     End Sub
     
    Private Sub Form_Load()
       If Len(Me.OpenArgs) > 0 Then
          Me.ville2 = Me.OpenArgs
       End If
    End Sub
    c'est du brut !

  5. #5
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    slt,

    c'est prévu en standard la mise à jour de la liste.

    Il faut faire comme ça :
    http://access.developpez.com/faq/?page=zdl#AbsDsListe

    En remplaçant le docmd.runsql par un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.OpenForm "leformulaireajout",,,,acFormAdd,acDialog
    En espérant que l'événement NotInList se déclenche avant le message d'erreur d'intégrité, j'espère que oui.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/08/2008, 11h16
  2. Sur absence dans liste + ajout
    Par psychopat dans le forum VBA Access
    Réponses: 4
    Dernier message: 19/07/2008, 15h00
  3. Réponses: 1
    Dernier message: 16/06/2007, 19h24
  4. creer un nouvel enregistrement sur un formulaire
    Par poube31 dans le forum Access
    Réponses: 1
    Dernier message: 22/07/2006, 16h13
  5. [formulaire] nouvel enregistrement sur molette
    Par xanthos1348 dans le forum IHM
    Réponses: 5
    Dernier message: 04/01/2006, 01h56

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