Je débute avec Access 2007 et dois préciser que je n'ai pas de connaissance
en programmation.
J'ai commencé à créer une base de données de gestion commerciale (Clients et
Prospects). J'ai créé 3 tables :
- TblClients - Tbltypeclients - TblAppartient
La table clients contient plusieurs champs (n° client, civilité, adresse,
etc...) dont un champ code société et un champ statut.
La table Appartient contient 3 champs (n°client, statut, date).
La table TypeClient contient aussi 3 champs (n°Type, NomType, Code Type).
J'ai créé une requête société appartient type client et une attribution
n°client, jusque là, apparemment tout fonctionne.
J'ai ensuite créé un formulaire nouveau client basé sur la requête
appartient type client, ce formulaire reprend tout les champs de la table
client et ceux de la table appartient.
Dans le formulaire il y a aussi un champ code société qui auto-incrémente
en fonction du statut du client (CP=Client Propre, P= Prospect et CF= Client
Fruité), puis l'année et enfin un tiret et le numéro compteur auto. Ex:
P2008-4.
Une fois enregistré, lorsque je consulte la table clients, seuls les champs
code société et statut restent vide, alors que dans le formulaire ils sont
renseignés.
Ci-joint la source de données du formulaire:
SELECT TblClients.Société, TblTypesClients.NomType, TblAppartient.*,
[CodeType] & Year([DateType]) & '-' & [TblClients.NoClient] AS [Code
Société], TblClients.Adresse_1, TblClients.Adresse_2, TblClients.[Code
Postal], TblClients.Ville, TblClients.Province, TblClients.Civilité,
TblClients.Prénom, TblClients.Nom, TblClients.Nom_2, TblClients.[Titre ou
Fonction], TblClients.Téléphone_1, TblClients.Mobile, TblClients.Fax,
TblClients.Email, TblClients.[Site Internet], TblClients.[Catégorie camping],
TblClients.[Nb parcelles], TblClients.[Seuil d'équipement bungallow],
TblClients.[Potentiel bungallow], TblClients.[Equipement actuel bungallow],
TblClients.[Total bungallows ACTION_12], TblClients.[Equipement ACTION_12],
TblClients.[Equipement concurrent], TblClients.Commentaire, TblClients.Pays,
TblClients.Telephone_2, TblTypesClients.NomType FROM TblClients INNER JOIN
(TblAppartient INNER JOIN TblTypesClients ON
TblAppartient.Statut=TblTypesClients.NoType) ON
TblClients.NoClient=TblAppartient.NoClient;
Compte tenu de mes connaissances, si quelqu'un pouvait m'aider car je suis
vraiment bloqué.
D'avance un grand merci à tous.
--
Jacques
"Jacques"
| Je débute avec Access 2007 et dois préciser que je n'ai pas de connaissance
| en programmation.
|
| J'ai commencé à créer une base de données de gestion commerciale (Clients et
| Prospects). J'ai créé 3 tables :
|
| - TblClients - Tbltypeclients - TblAppartient
|
| La table clients contient plusieurs champs (n° client, civilité, adresse,
| etc...) dont un champ code société et un champ statut.
|
| La table Appartient contient 3 champs (n°client, statut, date).
|
| La table TypeClient contient aussi 3 champs (n°Type, NomType, Code Type).
|
| J'ai créé une requête société appartient type client et une attribution
| n°client, jusque là, apparemment tout fonctionne.
|
| J'ai ensuite créé un formulaire nouveau client basé sur la requête
| appartient type client, ce formulaire reprend tout les champs de la table
| client et ceux de la table appartient.
|
| Dans le formulaire il y a aussi un champ code société qui auto-incrémente
| en fonction du statut du client (CP=Client Propre, P= Prospect et CF= Client
| Fruité), puis l'année et enfin un tiret et le numéro compteur auto. Ex:
| P2008-4.
|
| Une fois enregistré, lorsque je consulte la table clients, seuls les champs
| code société et statut restent vide, alors que dans le formulaire ils sont
| renseignés.
[...]
D'abord, ce n'est pas la programmation qui fait la bonne base, mais
la structure des tables et leurs relations ;-)
La lecture attentive de ces quelques pages serait éclairante :
http://www.3stone.be/access/articles.php?lng=fr&pg=221
La table "Appartient" ne me parle pas beaucoup...
Dans la table TypeClient, les champs NoType et CodeType font
double emploi... le CodeType devrait être unique et ainsi faire une
bonne clé primaire (dont il suffit de sauver la valeur dans la table client)
Dans un formulaire basé sur la table "tblClients", une liste déroulante sera
alors basée sur la "TypeClient".
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Encore merci
Bien cordialement
--
Jacques
"3stone" a écrit :