Mise a jour table avec jointure

Signaler
Messages postés
25
Date d'inscription
vendredi 22 mars 2013
Statut
Membre
Dernière intervention
11 mars 2014
-
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
-
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

<!-- / message -->

5 réponses

Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
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...




       
<hr />



[] Ce qui va sans dire. va mieux en le disant.


<hr />
Messages postés
25
Date d'inscription
vendredi 22 mars 2013
Statut
Membre
Dernière intervention
11 mars 2014

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?
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
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.

   
<hr />

[] Ce qui va sans dire. va mieux en le disant.

<hr />
Messages postés
25
Date d'inscription
vendredi 22 mars 2013
Statut
Membre
Dernière intervention
11 mars 2014

Merci beaucoup du renseignement. Je pars en reunion mais je vais tester ca des que possible
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
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+





<hr />




[] Ce qui va sans dire. va mieux en le disant.


<hr />