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 :

[Formulaire] Checkbox et valeurs/multi lignes affectées automatiquement


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut [Formulaire] Checkbox et valeurs/multi lignes affectées automatiquement
    Bonjour a tous,

    Je reviens avec mon problème d’il y a quelques jours mais avec un nouveau modèle de données.

    J’ai mis en place une base de données (dont le modèle se trouve en pièce jointe) pour gérer des clients et leurs conditions d’Operations facturées.

    - tbl_Clients regroupe les informations de tous les clients (381 aujourd'hui)
    - tbl_Conditions_Clients regroupe les conditions de chaque client. (Chaque client en a 71)
    - tbl_Standard_Clients regroupe les 71 conditions standard qu’on attribue par défaut a un nouveau client.
    - tbl_Type_Conditions regroupe les conditions sous 9 types selon leur nature ou leur expression
    - tbl_Boolean_Conditions donne pour chaque type de condition les champs obligatoires par Yes/No.

    Mon but est de mettre en place un formulaire pour entrer les clients et un sous-formulaire pour leur conditions sachant que la plupart des clients ont des conditions standard.


    J’en arrive à mon problème:
    N’étant pas pro ni en Access ni en vba, pourrais-je attribuer automatiquement les 71 conditions standard (donc 71 lignes) à mon client à partir d’une checkbox (sur le champ standard de la table Clients) ?

    Merci d’avance pour vos conseils,pistes ou débuts de solution.

  2. #2
    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
    Bonjour,

    Je n'ai peut être pas tout compris mais je pense qu'en cochant la case Standard lors de la saisie de la fiche client, tu déclenches une requete ajout des 71 conditions Standard dans la table ConditionsClient
    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

  3. #3
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par Jeannot45 Voir le message
    Bonjour,

    Je n'ai peut être pas tout compris mais je pense qu'en cochant la case Standard lors de la saisie de la fiche client, tu déclenches une requete ajout des 71 conditions Standard dans la table ConditionsClient

    Bonjour Jeannot,

    Oui c'est exactement ca. Mais, sachant que je débute pourrais-tu m'expliquer comment faire?

    Merci d'avance

  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
    tu crées une requete ajout qui s'exécute en cliquant sur la checkBox

    1) tu crées la requete ajout via l'assistant

    2) tu crées une nouvelle macro :
    - Action : Ouvrir une requete
    - Arguments : nom de la requete ajout
    - Enregistrer la macro

    3) sur la case à cocher : en mode création
    - affiche les propriétés
    - onglet évènement : sur clic
    indiquer le nom de la macro qui execute la requete ajout.

    Attention, il n'y a aucun controle, à chaque fois que tu cliques, il ajoute les enregistrements.

    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
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par Jeannot45 Voir le message
    tu crées une requete ajout qui s'exécute en cliquant sur la checkBox

    1) tu crées la requete ajout via l'assistant

    2) tu crées une nouvelle macro :
    - Action : Ouvrir une requete
    - Arguments : nom de la requete ajout
    - Enregistrer la macro

    3) sur la case à cocher : en mode création
    - affiche les propriétés
    - onglet évènement : sur clic
    indiquer le nom de la macro qui execute la requete ajout.

    Attention, il n'y a aucun controle, à chaque fois que tu cliques, il ajoute les enregistrements.
    Bonjour,

    J'ai réussi a créer a partir de ces trois étapes ce que je voulais.
    Mais le souci réside dans l'éxécution de la requete d'ajout.

    Mes enregistrements ne sont pas ajoutés a la table pour cause de 'violation de clé'

    Mon but est d'ajouter les Conditions Standard aux Conditions des Clients (cochés standard) Voici une capture de ma requete.

    Quelqu'un peut-il me guider?

    Merci d'avance

  6. #6
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Bonjour tout le monde,

    Cela va bientot faire une semaine que j'essaie de venir a bout de mon probleme.

    Quelqu'un peut-il me guider sur mon probleme d'ajout par requetes?

    Merci

  7. #7
    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
    Bonjour,

    Pourquoi as-tu fait une double clé primaire sur ClientRadical et sur IDCondition ?
    Comme je te disais étant donné que tu ne met pas de valeur dans ClientRadical via ta requete Ajout, Access te génére une erreur. cette double clé primaire est-elle nécessaire, ne peux tu la remplacer par un N° auto.

    Par cette méthode, le problème serait facilement résolu.

    Tu complètes la macro que je t'avais indiquée en ajoutant une nouvelle requete (Mise à jour). Cette requete inscrira le n° du Client dans les enregistrements dont le ClientRadical est nul.

    A+
    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

  8. #8
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Bonjour Jeannot et merci pour ta réponse,

    Dans ma requete ajout, j'avais bien rajouté le champ ClientRadical de la table Clients mais le probleme restait le meme... voila pourquoi je restais bloqué.

    J'ai, comme tu le suggeres, remplacé ma double clé primaire par une clé simple, un Numéro auto.

    Cela ajoute bien mes données comme il faut, mais un probleme subsiste. Comment controler pour que la requete d'ajout n'ajoute pas a chaque clic les donnees ou alors que la requete puisse les remplacer?


    Sinon je n'ai pas compris le principe de ta requete de mise a jour.Le but est d'ajouter les conditions standard au client en cours, le ClientRadical est donc déja ajouté par la requete d'ajout...


    Merci encore

  9. #9
    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
    Ok, autant pour moi, je n'étais pas sur que tu rapatriais déjà le ClientRadical.
    Pour répondre à ton problème sur la duplication possible, il n'y a pas de sécurité à ce sujet.

    En fait dans le process, je pense qu'il faudrait qu'à la création de la fiche d'un nouveau Client, automatiquement les conditions standards soient ajoutées. (donc pas de bouton). Puis en fonction du besoin modifier les standards par les conditions poersonnalisées

    Il faudrait exécuter la requete ajout en validant la fiche Création du Client.
    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

  10. #10
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Oula je ne comprends plus rien :
    - la requete d'ajout n'ajoute que 43 conditions (les 43 premieres) parmi les 71... Dois-je préciser quelque chose dans la jointure entre les deux tables lors de la construction de la requete ?
    - Le ClientRadical n'est plus du tout ajouté a ma table cible...

    Pour le probleme de duplication, il n'y a vraiment aucun controle possible?




    Je vais essayer de mettre en place ton process pour les nouveaux clients.
    Mais j'ai déja une question, comment a la création d'un nouveau client attribuer automatiquement les conditions standard?

    Merci

  11. #11
    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
    Petite Idée pour la sécurite de la duplication des données en cas de Re clic sur le bouton :

    Crée un index sur les deux premiers champs interdisant les doublons. J'ai testé, çà marche très bien !
    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

  12. #12
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Bonjour Jeanot,

    Merci pour ton idée de test, je testerai de cette facon.

    Pour en revenir au process que tu as proposé pour les nouveaux clients:
    Comment a la création d'un nouveau client attribuer automatiquement les conditions standard?

    J'ai par ailleurs un autre souci lié a la question précédente.
    Pour faciliter la saisie, j'ai regroupé les condition selon 7 types/Famille (voir mon modele de données)

    J'ai donc mis en place un groupe d'options avec 7 boutons permettant de faire afficher/saisir dans un sous formulaire les conditions du client selon le type choisi. Pas de probleme pour faire varier la source du formulaire, qui ici sont des requetes.

    ... mon probleme est justement au niveau de la construction de ces requetes d'affichage ou d'écriture des conditions du client par type.

    Comment écrire via le sous-formulaire dans la table conditions Clients et obtenir a l'ouverture du sous formulaire les conditions standard du type choisi ?

    Merci d'avance pour vos éléments de réponse

  13. #13
    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
    Bonjour,

    Ci joint une petite base de données te montrant comment Ajouter tes conditions standard pour un nouveau client.

    J'ai créé

    3 tables : T_Clients / T_ConditionsStandard / T_ConditionsClient (avec un index sans doublon sur IdClient et IdCondition

    Un requete ajout dans laquelle il y a un champ calculé qui permet de récupérer le n° du client en cours.

    un formulaire de saisie contenant
    un bouton avec une macro attachée(M_AjoutConditionsStandard)
    un SousFormulaire Affichant les conditions du client un fois avoir cliqué sur le bouton Ajout

    La macro contient deux actions
    ExecuterCommande qui permet d'enregistrer le client en cours afin de récupérer le n° du client
    OuvrirRequete qui exécute la requete Ajout

    Vois si tu peux t'en inspirer. J'ajoute que 4 enregistrements mais çà serait pareil pour 71

    A+
    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

  14. #14
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Merci beaucoup! Je pense que ca va effectivement m'aider.

    Je regarde et je te tiens au courant.

  15. #15
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Je viens de regarder ta base. Ca correspond dans l'ensemble a ce que je veux faire Merci beaucoup !

    Ca va me résoudre pas mal de soucis.
    On y arrive !

  16. #16
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Me reste plus que le probleme de sous-formulaire variable de conditions selon le type de conditions choisi...

  17. #17
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par Jeannot45 Voir le message
    Bonjour,

    Ci joint une petite base de données te montrant comment Ajouter tes conditions standard pour un nouveau client.

    J'ai créé

    3 tables : T_Clients / T_ConditionsStandard / T_ConditionsClient (avec un index sans doublon sur IdClient et IdCondition

    Un requete ajout dans laquelle il y a un champ calculé qui permet de récupérer le n° du client en cours.

    un formulaire de saisie contenant
    un bouton avec une macro attachée(M_AjoutConditionsStandard)
    un SousFormulaire Affichant les conditions du client un fois avoir cliqué sur le bouton Ajout

    La macro contient deux actions
    ExecuterCommande qui permet d'enregistrer le client en cours afin de récupérer le n° du client
    OuvrirRequete qui exécute la requete Ajout

    Vois si tu peux t'en inspirer. J'ajoute que 4 enregistrements mais çà serait pareil pour 71

    A+
    Bonjour Jeannot,

    Je te remercie encore pour ta base, elle m'a énormément servi.

    Désormais je suis bloqué sur un autre probleme.
    Je m'explique:

    Pour faciliter la saisie des conditions, j'ai créé 7 groupes de conditions.
    Le sous-formulaire affichant les conditions du client devient alors variable selon le groupe d'option choisi. J'ai écrit quelques lignes de code vba pour faire varier la source par des requetes de sélection de conditions selon le type. Jusque la pas de souci.

    Mon probleme:
    - Je n'arrive plus a modifier les conditions du client par type. Une modification de valeur n'est plus possible alors que dans l'affichage des 71 conditions la modification reste possible. Cela vient-il des requetes ou du sous-formulaire?

    Merci

  18. #18
    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
    Bonjour,

    Si je comprends bien, lorsque tu affiches les conditions correspondantes à la famille choisie, tu ne peux pas faire de modification dans l'enregistrement affiché.

    Y aurait-il un champ calculé dans la requete ?
    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

  19. #19
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Oui c'est bien ca. Je n'ai aucun moyen de modifier les enregistrements dans le sous formulaire.

    Et dans ma requete aucun champ n'est calculé.

  20. #20
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Points : 71
    Points
    71
    Par défaut
    Bonjour,

    En plus de mon probleme de saisie dans le sous-formulaire, j'ai un autre souci:

    Selon le type de conditions choisie, la source du sous formulaire varie grace a des requetes. Ces requetes ne donnent pas en résultat les memes champs, ce qui fait que le contenu du sous-formulaire est parfois incorrect (voir image).

    Y a-t-il possibilité de remédier a ce probleme en précisant, par exemple, pour chaque type cliqué les noms de champs du sous formulaire?

    Merci d'avance pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/02/2008, 09h07
  2. [Formulaire] Checkbox changement des valeurs
    Par Samuel78 dans le forum IHM
    Réponses: 6
    Dernier message: 23/04/2007, 12h04
  3. INSERT multi-lignes avec valeurs connues
    Par herve91 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2006, 23h13
  4. [$_GET] Affection automatique de valeurs
    Par Mister Nono dans le forum Langage
    Réponses: 4
    Dernier message: 15/07/2006, 12h15
  5. Affectation automatique de valeurs sous MySQL?
    Par tttttt dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 23/06/2006, 09h32

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