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

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut Le contrôle ne peut être modifié, il est lié au champ inconnu Select, mag code_article from mag group by mag ;
    Bonjour,
    Je me permets cette demande, étant toujours novice en Access
    J’ai le message d’Erreur :
    Citation Envoyé par Access
    Le contrôle ne peut être modifié, il est lié au champ inconnu Select, mag code_article from mag group by mag
    Je souhaite faire un Filtre zone de liste déroulant pour un sous Formulaire
    J’ai créé :
    Table : MAG
    Champ : Code_Article
    Désignation
    Type mag
    Emplacement
    Unité
    1 Formulaire= Preparation
    1 Sous formulaire = SF_PREPA
    Champs père : FILTRE_CODE
    Champs Fils : SF_PREPA
    1 Zone liste déroulant = Filtre_Code
    Feuille de proprièté :
    Nom : Filtre_Code
    Source de contrôle :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select  MAG, CODE_ARTICLE FROM MAG GROUP BY MAG
    Contenu : MAG
    Colonne lié : 2
    Un événement sur Zone liste déroulant = FILTRE_CODE
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub FILTRE_CODE_BeforeUpdate(Cancel As Integer)
    Me.Filter = "[code_article]= '" & Me.FILTRE_CODE & "'"
    End Sub

  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 t'emmêles drôlement les pinceaux là

    Si j'ai bien compris, tu veux trouver (filtrer) les données présentées dans un formulaire par rapport au choix de ta zone de liste?? en utilisant la méthode Filter.

    En simple :
    1 - Tu crées un formulaire basé sur ta table MAG avec tous les champs.
    2 - Tu crées ta zone de liste (indépendant) dans le formulaire (avec l'assistant ce sera simple) à partir de ta table en mettant les champs Code_article et désignation et sans mémoriser les données dans la table, mais pour usage ultérieur. (Tu regrouperas les données en double après).
    Normalement, si tu utilises les 2 champs Code_article et désignation, tu devras avor les propriétés :
    Source de contrôle : (Rien) : indépendant
    Contenu :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [MAG].[Code_Article], [MAG].[Désignation] FROM MAG;
    Colonne lié : 1

    3 - Tu ajoutes ton évènement après mise à jour de la zone de liste

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Filter = "[code_article]= '" & Me.FILTRE_CODE & "'"
    Me.filterOn = True

    J'espère que ça te fera avancer. Si tu commences sous Access, essaies de créer tes objets d'abord avec l'Assistant et décortiquer les propriétés proposées.
    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 régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Merci de votre Aide,

    j'ai effectué les modifications.
    Mais Actuellement je ne vois pas l'article sélectionné par la zone liste dans le Sous Formulaire.
    Voici des captures d'écran de la base
    Cordialement
    Images attachées Images attachées   

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Pour que cela fonctionne, il suffit de renseigner les propriétés champs père et champs fils du sous formulaire (le filtre n'est pas nécessaire) :

    Champ père : nom du controle liste déroulante
    Champs fils : Code_Article

    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Merci de votre Aide sur le Sujet
    J'ai bien effectué la modification Champs père & Champs fils.
    Mais bien que je n'ai plus de message Erreur, il ne se passe rien après Sélection sur la Zone liste déroulante.
    Voici ma base en fichier compressé.
    S'il y a possibilité de découvrir mon Ereur au Fonctionnement.
    Cordialement
    Fichiers attachés Fichiers attachés

  6. #6
    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,
    J'ai regardé ta base, il faut modifier :
    1- Ton sous-formulaire n'a pas de source. Il faut le rattacher à la table MAG, donc les contrôles doivent être basés sur les champs de la table.
    2- Remets le sous-formulaire S_PREPA dans le formulaire parce qu'il y a une erreur à son ouverture (je ne sais pas où, donc vaut mieux recréer le contrôle sous-formulaire dans le formulaire, la liaison Champs Père-Fils se fera automatiquement).
    3- Comme maintenant tu appliques le filtre au sous-formulaire, il faudrait utiliser le code suivant pour filtrer le sous-formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.S_PREPA.Form.Filter = "[code_article]= '" & Me.FILTRE_CODE & "'"
    Me.S_PREPA.Form.FilterOn = True
    Bonne continuation
    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

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Je vous remercie de ces conseils, car ça fonctionne je peux voir pour le moment un enregistrement sélectionné par le Filtre.
    Mais comment faire pour qu’à chaque Sélection un Article, cela s’enregistre dans le sous Formulaire.
    J’ai fait un essai le code évenement ci-dessous
    Mais çà ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.FILTRE_CODE = DLookup("DESIGNATION", "MAG", "[CODE_ARTICLE]='" & Forms![Formulaire PREPA]![FILTRE_CODE] & "'")
    Me![S_PREPA].Form.RecordSource = Me![S_PREPA].Form.RecordSource
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub FILTRE_CODE_BeforeUpdate(Cancel As Integer)
    'Me.FILTRE_CODE = DLookup("DESIGNATION", "MAG", "[CODE_ARTICLE]='" & Forms![Formulaire PREPA]![FILTRE_CODE] & "'")
    'Me![S_PREPA].Form.RecordSource = Me![S_PREPA].Form.RecordSource
     
    Me.S_PREPA.Form.Filter = "[code_article]= '" & Me.FILTRE_CODE & "'"
    Me.S_PREPA.Form.FilterOn = True
    Me![S_PREPA].Form.RecordSource = Me![S_PREPA].Form.RecordSource
    DoCmd.SetWarnings True
     
    End Sub
    Fichiers attachés Fichiers attachés

  8. #8
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Tu te compliques peut-être un peu trop la vie.

    Il aurait été préférable que le sous formulaire soit dépendant (c'est à dire rattaché à la table MAG)
    Tout aurait été plus simple.

    Je te joins la base modifée.
    J'y ai ajouté deux formulaires :
    F_ChoisirArticle et SF_ArticleConcerne (Source : la table MAG).
    Ils ressemblent à ce que tu as fait, à la différence que tu peux facilement modifier les données de l'article choisi dans la liste car tu es directement lié à la table.

    Bonne continuation
    Fichiers attachés Fichiers attachés
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/10/2011, 18h24
  2. Réponses: 4
    Dernier message: 07/01/2010, 14h41
  3. Réponses: 1
    Dernier message: 04/08/2008, 17h57
  4. Réponses: 1
    Dernier message: 16/11/2007, 10h28
  5. Le nom d'une fenêtre peut-il être modifié dynamiquement ?
    Par jejerome dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/05/2006, 13h37

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