bonjour,
Je crée présentement une base de données sous Access 2010. Il s'agit en fait de clients (T-Client), qui doivent renouveler leur inscription à chaque année (T-Adhesion) et choisir le nombre de versement à payer (T-Versement), selon un ou plusieurs modes de versements (T-ModePaiement).
De plus, ils peuvent avoir des infractions (ce sont des chauffeurs…), donc T-Infraction, à laquelle un avocat lui est assigné (T-Avocat).
J’ai fait mes formulaires à l’aide de requêtes avec des champs paramétrés afin que des calculs se fassent automatiquement (les taxes, les versements, etc.)
Ce qui suit est un peu long, mais je veux vous mettre dans le contexte de mes tables et relations. J’ai mis mes remarques en bleu et mes interrogations en rouge. Merci beaucoup.
Champs de la T-Client :
- id_client (clé primaire, NumAuto)
- date_inscription (Date/Heure, complet)
- langue (provenant d’une liste de choix d’une Table-Langue)
- titre (provenant d’une liste de choix d’une Table-Titre bilingue) N.B. j’ai imbriqué ces deux dernières listes dans mon formulaire Client en suivant à la lettre la merveilleuse procédure de la rubrique "Concevoir une liste qui en alimente une autre" de Ambrosino. J’ai par contre stocké par la suite les résultats dans ma Table-Client. C'est un résultat qui ne changera pas, ce sera soit toujours un Monsieur ou une Madame qui parle anglais ou français...
- partenaires (numérique Entier long, en référence à une Table-Partenaire (genre fournisseur) liste déroulante à plusieurs valeurs)
- autres champs courants:nom, prenom, numéro civique, adresse, etc.
Champs de la T-Adhesion :
- id_adhesion (clé primaire, NumAuto)
- ref_client (numérique entier long en référence à id_client)relation un à plusieurs avec intégrité réf. et supprimer en cascade
- date_adhesion (format Date/heure)
- ref_cotisation (num. ent long, en référence à une table pour liste déroulante Liste-Cotisation (id_cotisation –/NumAuto ; annee_cotisation / Numérique : montant_cotisation/Monétaire ; taux_tps/Numérique et taux_tvq/Numérique) J’aimerais que ce ne soit pas nécessaire de sélectionner l’année de cotisation et que le montant s’inscrive selon l’année de la date d’adhésion (pour que celle qui saisit les données, n’affiche pas une fausse année et bousille les calculs. Déjà que lorsque je sélectionne l’année dans le formulaire, le calcul des taxes se fait automatiquement dans ma requête et s’affiche dans le formulaire en direct).
- nb_versement (numérique entier) Il s’agit ici du nombre de versements que le client décide de choisir pour faire ses paiements, que j’utilise dans un calcul fait dans ma requête basée sur les tables Adhesion et Versement, pour connaitre les montants à verser, ça c’est ok. Cependant, il me faudra un endroit où je pourrais mettre le solde à payer
- impression_carte (Oui/Non)
- statut_client "genre en Retard, Payé complet, En cours, etc.
Champs de la T-Versement :
- id_versement (clé primaire, NumAuto)
- ref_adhesion (numérique entier long en référence à id_adhesion) relation un à plusieurs, avec integrité réf. suppression en cascade.
- ref_client je ne sais pas si c’est nécessaire?? En fait, j’aimerais savoir à ce stade si je dois indexer ces trois champs ou uniquement lier id_adhesion (1) à ref_adhesion (n), en omettant ref_client?
Autres champs de cette table T-Versement :- ref_institution_financiere (choisir ou inscrire dans une liste T-InstitutionFinanciere
- date_versement
- ref_mode_paiement (en référence à la liste T-ModePaiement (id_mode_paiement (1 à 6) et mode_paiement (COMPTANT, CARTE DE DÉBIT, CHÈQUE, VISA, MASTERCARD, PRÉLÈVEMENT AUTOMATIQUE))
- recu_emis (Oui/Non), pour tous les mode de paiement
- Les champs qui suivent ne seront pas tous remplis, car se sont des détails pour chacun des modes de paiement. Pensez-vous que je dois inclure ces détails de paiement dans cette même table (T-Versement) ou faire une autre table genre T-DétailPaiement et si oui, comment?, surtout la question de la clé primaire et index, et relation avec la table.
- pdi_recu_emis Émission du reçu de la transaction de paiement direct Interac (PDI)) Je ne sais pas encore comment gérer ce type de paiement, selon les critères des institutions financières
- pa_transit_institution (numérique)
- pa_no_compte_institution (numérique)
- pa_jour_prelev1-15 (numérique) prélèvement automatique soit le 1 ou le 15 du mois, je devrai tenir compte des jours ouvrables et fériés. Je ne sais pas comment encore et j’aimerais bien savoir s’il existe un gabarit access tenant compte de la norme 005 de l'Assurance canadienne de paiement (ACP), si quelqu'un le sait, ce serait apprécié.
- visa_numero
- visa_date_exp
- visa_no_confirmation
- mc_numero
- mc_date_exp
- mc_no_confirmation
- ch_numero
Finalement, je fais mes formulaires de façon individuelle (à partir de requêtes) pour les données des tables T-Client, T-Adhesion et T-Versement. Par la suite, le formulaire Adhésion sera un sous formulaire du formulaire Client et le formulaire versement, un sous-formulaire du formulaire Adhésion. Donc, 3 niveaux de formulaires. Je vais aussi faire un formulaire Infraction qui deviendra un autre sous-formulaire de Client. Donc, le formulaire Client aura deux sous formulaires. Je trouve ça lourd visuellement et j'aimerais mieux cliquer sur des boutons de commande. Comment fait-on alors les liens père-fils? Aussi, est-ce que mes tables semblent logiques? Les tables servant de listes doivent-elles être liées avec les vraies tables dans la base de données ou peuvent l'être uniquement dans les requêtes?l
J’espère avoir été claire, mais je le sais, pas très brève...
Merci beaucoup de me valider et de me répondre.
Paulux
Partager