![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Conception Le forum qui vous aide à résoudre vos questions relatives à la modélisation de votre base de données sous Access. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: août 2008
Messages: 4
|
Bonjour,
je suis débutant dans access. Et je crée une base de données me permettant de stocker la liste des factures que j'emets. la table facture ne comporte que les champs suivante : date (date du jour) code société (renseigné manuellement) Numéro d'action (renseigné manuellement) Montant ttc (renseigné manuellement) Numéro Facture. C'est ce dernier champs qui me pose probleme. car j'aimerais qu'il soit automatique et sous le format suivant : Année+Mois+Code Société+Numéro incrementé. Ce qui donnerait, par exemple 0808C0201, pour la première facture du mois d'aout 08 pour la société C02. J'aimerais de plus que ce champ numéro de facture soit la clé primaire. J'espere que j'ai été assez clair dans ma demande. Sinon je suis a votre disposition. merci par avance de votre aide. @ + |
|
|
|
|
|
#2 (permalink) | ||
![]() |
Citation:
Le formulaire cherche dans la table le dernier numéro de facture enregistré et compose automatiquement le numéro de la nouvelle facture en fonction du choix du client concerné. Citation:
![]() Une clé primaire est dé préférence un champ de type NuméroAuto, autrement dit et pour généraliser aux autres bases de données, de type entier auto-incrémenté. Ceci pour des raisons de rapidité et de recherche lors des jointures avec les autres tables, surtout si le volume de données est important. Donc ajoutez un champ FactId de type NuméroAuto et faites en la clé primaire.[/quote]
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
||
|
|
|
|
|
#4 (permalink) |
![]() |
Le champ sera une zone de texte qui ne sera pas accessible en saisie.
La source de cette zone de texte sera la colonne [Numéro facture]. 3 solutions pour déclencher l'opération de formatage du numéro de facture : - A l'événement OnChange de la liste déroulante qui permet de sélectionner le client dans la table des clients ; - A l'événement getFocus (je crois me souvenir que c'est comme ça qu'il s'appelle) de la zone de texte, à condition que celle-ci soit la dernière à avoir le focus dans le formulaire ; - A l'événement onClic du bouton de validation des infos de la facture. Perso, je préfère la dernière car on peut lancer en même temps une série d'opérations de vérification de la saisie (montant incohérent par exemple). Pour le calcul : - on connaît la date de facture qui est a priori la date du jour donc on peut extraire l'année et le mois, - on connait le numéro du client parce qu'il a été choisi par l'utilisateur dans la liste des clients, - on interroge par une requête le précédent numéro de facture enregistré afin de l'utiliser pour calculer le nouveau numéro. On affiche le numéro dans la zone de texte en demandant la confirmation de la saisie et le tour est joué.
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: août 2008
Messages: 4
|
Bonjour,
j'ai plus ou moins compris ce que vous vouliez dire. mais étant débutant je n'arrive pas a monter l'expression me permettant d'avoir le résultat désiré. le numéro de facture se compose donc de la manière suivante : 0810C0201 08 = année 10 = mois C02 = le code de la société 01 = le numéro de la facture (la première facture pour le mois d'octobre 2008). Mes questions sont les suivantes : - Quel est le code approprié pour extraire l'année et le mois de la date de la facture sous le format aa pour l'année et mm pour le mois. - et comment faire pour lui demander d'incrémenter ce numéro alors que l'on repart a 01 pour chaque société et pour chaque mois. Merci d'avance pour votre aide. |
|
|
|
![]() |
![]() |
||
Problème pour créer une clé primaire
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|