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 :

baser une liste déroulante sur une autre dans un sous formulaire


Sujet :

IHM

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    Par défaut baser une liste déroulante sur une autre dans un sous formulaire
    salut
    je suis débutante en access, je suis actuellement entrain de faire une base de donnée de gestion de factures. voici mon problème:
    j'ai crée un formulaire où j'enregistre les informations de la facture ( le client, la date d'arrivée, le numéro de la facture et autre...); dans le sous formulaire j'enregistre le détail de la facture. pour le détail j'ai quatre liste déroulantes
    la prémière il ya le nom de la catégorie; lorsque je choisi un nom, les codes le concernant s'affiche dans la seconde liste déroulante code catégorie.
    je fait la même chose pour la troisième liste déroulante (nom sous catégorie) et la quatrième(code sous catégorie).
    le problème c'est que lorsque j'exécute le formulaire principale, je n'arrive pas à choisir quoi que ce sois dans le sous formulaire. on me dit que je ne peut ni ajouter ni modifier un enregistrement, de plus les listes déroulantes affichent les réquetes sur laquelle elles sont basées.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le Forum.

    Dans un premier temps regarde si dans la propriété Origine Source de tes listes déroulantes tu as bien Table/Requête.

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    oui dans mon sus formulaire il ya bien table/ requête dans le contenu

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    voici le code pour rafraichir mon sous formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub NomCatégorie_AfterUpdate()
      Me.CodeCatégorie = Null
      Me.CodeCatégorie.Requery
      Me.CodeCatégorie = Me.CodeCatégorie.ItemData(0)
    End Sub
     
    Private Sub NomSousCatégorie_AfterUpdate()
      Me.CodeSousCatégorie = Null
      Me.CodeSousCatégorie.Requery
      Me.CodeSousCatégorie = Me.CodeSousCatégorie.ItemData(0)
    End Sub
    mais lorsque je suis sur le formulaire principale rien ne s'exécute au pire quand lorsque je par exemple sur la liste déroulante relatif au nom de la catégorie, voici le message qui s'affiche:[formulaires]![détaildoc]![nomCatégorie]

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour a tous,
    J'ai fait une breve recherche dans les forums mais je n'ai pas trouver la réponse à mes problemes.

    1) J'ai crée un sous formulaire où figure quatres listes déroulantes:
    le premier "NomCatégorie" me permet de choisir une catégorie et automatiquement les codes relatifs à ce choix s'affiche dans la seconde liste déroulante "code catégorie".

    la troisième ZLD "NomSousCatégorie" me permet comme précedement d'avoir les codes relatifs à une sous catégorie choisi.

    ce sous formulaire me permet d'enregistrer le détail du formulaire principal "EnregistrerNewDoc"

    le problème c'est que lorsque s'éxécute :
    le sous formulaire apparait verrouiller quand à l'ajout de détails;
    de plus lorsque j'insiste, en cliquant sur "codecatégorie" voici le message qui apparaît[formulaires]![detaildoc]![nomcatégorie]

    voici les requetes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Catégorie.CodeCatégorie, Catégorie.NomCatégorie
    FROM Catégorie
    WHERE (((Catégorie.NomCatégorie)=[Formulaires]![Détaildoc]![NomCatégorie]));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Dépense.CodeSousCatégorie, Dépense.NomSousCatégorie
    FROM Dépense
    WHERE (((Dépense.NomSousCatégorie)=[formulaires]![détaildoc]![NomSousCatégorie]));
    code de rafraîchisement des zdl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub NomCatégorie_AfterUpdate()
      Me.CodeCatégorie = Null
      Me.CodeCatégorie.Requery
      Me.CodeCatégorie = Me.CodeCatégorie.ItemData(0)
    End Sub
    Private Sub NomSousCatégorie_AfterUpdate()
      Me.CodeSousCatégorie = Null
      Me.CodeSousCatégorie.Requery
      Me.CodeSousCatégorie = Me.CodeSousCatégorie.ItemData(0)
    End Sub

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    j' ai continuer
    voici le new code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub NomCatégorie_AfterUpdate()
      Me.CodeCatégorie = Null
      Me.[Détaildoc].CodeCatégorie.Requery
      Me.CodeCatégorie = Me.CodeCatégorie.ItemData(0)
    End Sub
    Private Sub NomSousCatégorie_AfterUpdate()
      Me.CodeSousCatégorie = Null
      Me.[Détaildoc].CodeSousCatégorie.Requery
      Me.CodeSousCatégorie = Me.CodeSousCatégorie.ItemData(0)
    End Sub
    toujours rien

    de plus lorsque je vais sur mon formulaire principal "enregistrerNewDocument"
    voici le message d'erreur qui s'affiche:
    "vous ne pouvez pas ajouté ou modifier un enregistrement car l'enregistrement est réquis dans la table dépense"

    voici mon code du bouton enregistrer:
    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
    18
    19
    20
    21
    22
    Dim reponse As Integer
    Set db = DBEngine.Workspaces(0).Databases(0)
    reponse = MsgBox("Etes vous sûr de la conformité des valeurs à ajouter dans la base", vbYesNo, "GESTION ET CONTRÔLE DES COÛTS PETROLIERS")
    If reponse = 6 Then
    NomCatégorie.SetFocus
    Else:
        sql1 = "select * from [Détail document complet]" ''' On séléctionne tous les champs de la table
        Set rs = db.OpenRecordset(sql1, dbOpenDynaset) ''' ici on est bien en mode écriture (dbOpenDynaset)
        rs.AddNew
        rs![NomCatégorie] = [NomCatégorie]
        rs![CodeCatégorie] = [CodeCatégorie]
        rs![NomSousCatégorie] = [NomSousCatégorie]
        rs![CodeSousCatégorie] = [CodeSousCatégorie]
        rs![NDocument] = [NDocument]
        rs![NomDocument] = [NomDocument]
        rs![CoûtSousCatégorie] = [CoûtSousCatégorie]
        rs.Update
        rs.Close
     
    End If
     
    End Sub
    s'il vous plaît aidez moi

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour

    1 - Pour les zones de listes


    Est-ce que ton code est dans le formulaire ou dans le sous-formulaire où sont tes zones de listes ?
    Essaye de mettre ton code sur le Click au lieu de l'AfterUpdate.

    2 - Pour le message d'erreur

    Dans la table Depense tu dois avoir un champ qui sert de clé, et qui est l'élément 1 d'une relation 1 à plusieurs avec la table Détail document complet.

    Ce message apparait, car tu ne peux rentrer dans la deuxième table des données, si la référence qui se trouve dans la table Depense n'existe pas.

  8. #8
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    merci pour l'info les zdl marchent maintenant

Discussions similaires

  1. [LibreOffice][Base de données] Recuperer des valeurs d'une liste déroulante sur une autre liste
    Par nesta. dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 28/04/2015, 11h43
  2. Réponses: 2
    Dernier message: 12/07/2012, 15h46
  3. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  4. Réponses: 4
    Dernier message: 20/02/2012, 16h59
  5. [XL-2003] Menu déroulant avec une liste principale et une liste secondaire
    Par bbcancer dans le forum Excel
    Réponses: 2
    Dernier message: 03/05/2011, 13h50

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