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 :

Sélection dans une zone de liste [AC-2007]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut Sélection dans une zone de liste
    Bonjour à tous.

    Ça m’énerve !!!!!

    Je m'explique:

    J'ai un formulaire "NewFiche" qui, via une zone de liste "ListeClients", m'affiche tous les clients présents dans ma table "Clients". La table "Clients" à un numéro auto "IDClient" en guise de clé primaire.

    Lorsque je sélectionne un client dans la "ListeClient" du formulaire "NewFiche" et que je clique sur un bouton OK, j'ouvre mon formulaire (Detail) dans lequel je suis censé pré remplir les champs de mon client (société, nom, prénom etc).

    Sauf que ça coince avec la récupération du numéro de client "IDClient" dans ma zone de liste "ListeClients" vers le formulaire "Clients" j'ai chaque foi une erreur.

    Voici mon code sur l’événement Clic du bouton "OK" de mon formulaire "NewFiche":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub btnok_Click()
     
        Me.Visible = False
     
        If Forms.NewFiche.ListeClients Then
            Forms.Detail.IDClient = Forms.NewFiche.ListeClients          'ici que ça coince, j'ai essayé = Me!Column (0) sans succès
     
        End If
            DoCmd.Close acForm, "NewFiche", acSaveYes
            Forms!Detail.Refresh
    End Sub
    Merci pour votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Tu dis que
    ...et que je clique sur un bouton OK, j'ouvre mon formulaire (Detail) dans lequel je suis censé pré remplir les champs de mon client (société, nom, prénom etc)....
    mais je ne vois pas de Docmd.OpenForm "Detail" dans ton code ? Il y a quelque chose qui est mal expliquée ?

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonsoir,

    mais je ne vois pas de Docmd.OpenForm "Detail" dans ton code ? Il y a quelque chose qui est mal expliquée ?

    Cordialement,
    C'est exact, j'ai oublié de préciser que j'ai un menu avec un bouton qui appelle mon formulaire "NewFiche"et "Detail" via ce 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
    16
    17
    Private Sub BtnNewFiche_Click()
    On Error GoTo Err_BtnNewFiche_Click
     
        Dim stLinkCriteria As String
     
        DoCmd.OpenForm "Detail", , , stLinkCriteria, acFormAdd
        DoCmd.OpenForm "NewFiche", , , , , acDialog
        Forms!NewFiche!ListeClients.Requery
     
    Exit_BtnNewFiche_Click:
        Exit Sub
     
    Err_BtnNewFiche_Click:
        MsgBox Err.Description
        Resume Exit_BtnNewFiche_Click
     
    End Sub

  4. #4
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    N'y aurait' il pas un "conflit" entre le fait que mon champ "IDClient" de la table "Clients" est un numéro auto, et la valeur de ma zone de liste "ListeClients" que je sélectionne ou il y a déjà un numéro de client.

    Et donc insérer une valeur dans un champs numéro auto ça bug?

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Je ne comprends pas ce que tu fais !
    D'après le dernier code que tu montres, tu as tes 2 formulaires ouverts en même temps et tu veux aller de la liste (qui présente un résumé de tes clients) vers le formulaire avec détail ?
    Donc il n'y a pas besoin d'ASSIGNER une nouvelle valeur à ton IdClient . Sauf au cas où c'est un NOUVEAU CLIENT effectivement.
    Si c'est le cas, il faudrait RETROUVER le client avec le bon ID dans le formulaire Detail. Regarde attentivement l'aide pour l'utilisation du Docmd.OpenForm. Il y a une partie qui définit un critère de filtre des enregistrements à afficher : la variable stLinkCriteria. Mais en relisant, pourquoi tu mets le formulaire avec l'argument AcFormAdd (ça veut dire qu'il ne servirait qu'à ajouter des valeurs). Or tu as déjà un IdClient???

    Re-explique la logique de ce que tu veux faire et de ce que tu as parce que là ce n'est pas évident.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  6. #6
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Je confirme je me suis carrément emmêlé les pinceaux Je devais être trop fatigué hier soir

    Fallait pas ouvrir le formulaire en AcFormAdd vu que dans ma zone de liste ListeClients tous les clients qui y apparaissent sont déjà existants donc forcément ......

    Merci madefemere

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

Discussions similaires

  1. [AC-2003] Affichage d'une sélection dans une zone de liste déroulante
    Par Taiby dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/01/2012, 14h27
  2. Réponses: 1
    Dernier message: 01/11/2008, 10h45
  3. Réponses: 16
    Dernier message: 04/07/2008, 08h07
  4. Problème avec la multi-sélection dans une zone de liste
    Par Mimisio dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/07/2007, 16h23
  5. Réponses: 2
    Dernier message: 08/01/2007, 08h36

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