cath2123
Messages postés24Date d'inscriptionvendredi 22 mars 2013StatutMembreDernière intervention11 mars 2014
-
7 avril 2009 à 09:51
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 2012
-
7 avril 2009 à 15:12
Bonjour a tous,
Je debute avec access (2007)et je suis confrontee a un probleme qui a l air pourtant parfaitement classique :
J ai une table contenant des produits, et une table contenant les fournisseurs (un produit est distribue par plusieurs fournisseurs et chaque forunisseur distribue plusieurs produits). J ai donc cree:
- une table fournisseur avec un numero defini comme numero auto, une zone de texte contenant le num du fournisseur
- une table produit avec un numero auto , une zone de texte contenant le nom du produit
- une table t_prod_fourn avec un numero auto, une zone numerique avec le numero de produit (liee avec le numero auto de la table produit), et une autre zone numerique avec le numero de forunisseur (lie avec le numero auto de la table fournisseur)
Quand je cree un formulaire pour renseigner pour un produit donne un nouveau fournisseur, quand je fais un formulaire sur la table t_prod_fourn ca va mais mon souci est que mes utilisateurs ne connaissent pas les numeros, mais uniquement les noms et dans ce cas, si je mets dans mon formulaire le nom du fournisseur a la place du numero, je cree un nouvel enregistrement dans la table fournisseur avec un nom de fournisseur qui existe deja
Pouvez vous me dire si mes tables sont bien crees et comment faire dans mon formulaire, merci d avance
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 7 avril 2009 à 14:01
Bonjour,
le plus simple serait de vérifier à chaque nouvelle entrée si
ça n' éxiste pas déjà..non ?
Quand à la conception de ta base, conseil d' ami : Evites les numero Auto.
A la place Crée ta propre Cle Primaire (le dernier + 1).
Ainsi tu pourras mieux controler l' Ajout, la Suppression et la Modification.
Mais si à la rigueur, le numero Auto ça peut aller au niveau des tables produits et Fournisseurs, ça sera plus compliqué à gérer au niveau de la table association Produits_Fournisseurs.
Dans l' etat actuel des choses, dans cette table association, ne mets pas de numero auto, contentes toi de Num_Produit et Num_Fournisseur.
En ce qui concerne les utilisateurs, donnes leurs la possibilite d" entrer les noms, mais mets dans ton formulaire et en arriere plan (caché) un textbox ou un label ou tu pourras mettre le numero, après verification bien sûr...
cath2123
Messages postés24Date d'inscriptionvendredi 22 mars 2013StatutMembreDernière intervention11 mars 2014 7 avril 2009 à 14:39
Merci de ces conseils
Petite question : pour controler l existence ou non des zones saisies dans le formulaire, on peut operer avec un formulaire non attache a une table et avec l ordre SQL INSERT INTO (sino la table est alimenteé au fur et a mesure que l on saisit un enreg). Est ce la seule methode?
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 7 avril 2009 à 14:57
Il y a deux façons de faire:
La prezmière est celle que tu as decrite.
La deuxième consiste à travailler avec un formulaire lié à une table mais qu' on ne mettera à jour qu' après vérification.
Le schema serait donc le suivant:
AddNew au chargement
Vérification
Update si valide
Si pas valide on avertisse et on informe.
Et on repare pour une nouvelle vérification.
Si on annule on decharge tout simplement le formulaire.
et le AddNew ne prendera pas effet.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 7 avril 2009 à 15:12
Petrite précision:
Je suis pas sûr mais je crois que La 2* méthode ne serait valable que dans le cas ou ma table ne serait pas indexée sur un numero auto.
Essaies d' en profiter pour repenser ta base de données en faisant abstraction des numeros auto .
A+