OVH Cloud OVH Cloud

Clefs étrangères

1 réponse
Avatar
Vincent MARTINET
Je ne sais pas résoudre le problème classique de liaison entre une clef
étrangère et la clef primaire de la table associée.
Exemple :

Table CLIENT :
clicode : n° client
clinom : nom du client
paycode : n° du pays du client

Table PAYS :
paycode : n° de pays
paylibelle : libellé du pays

Je souhaite faire un écran qui donne les informations d'un client :
1) Saisie d'un n° de client
2) Appuie sur le bouton "Rechercher"
3) Affichage des données du client demandé avec le n° de pays et son libellé
4) L'utilisateur peut modifier le nom du client et le n° de pays
5) On enregistre les modifications

J'ai créé les objets suivants :
1 DataAdapter pour CLIENT
1 DataAdapter pour PAYS
1 DataSet avec CLIENT + PAYS + relation client.paycode = pays.paycode
Les zones sont "bindées" :
avec les texts box pour les zones modifiables
avec des labels pour le libellé du pays (zone qui ne sert que de
contrôle pour l'utilisateur).

Je n'arrive qu'à faire la liste des clients pour un pays donné alors que je
veux, pour un client, avoir la description de sa fiche (pays, etc.).

C'est simple mais je n'y arrive pas.

Merci de votre aide

1 réponse

Avatar
Antoine F.
C'est justement un cas typique du problème auquel des développeurs
vont se retrouver confrontés: ceux qui n'apprennent pas les technologies
"de base" ou "vitales" dans leur domaine et s'appuyent sur des assistants
se retrouvent bloqués au moindre problème.

Au travers d'une simple requête SQL cela donnerait par exemple:

--affichage
SELECT c.clicode, c.clinom, c.paycode, p.paylibelle
FROM client c, pays p
WHERE p.paycode = c.paycode
AND c.clicode = " & Request.Form("codeclient")
--

La mise à jour deviendrait:
--mise à jour
UPDATE client
SET
clinom = '" & Request.Form("nomclient") & "', "
paycode = " & Request.Form("paysclient")
WHERE clicode = " & Request.Form("codeclient")
--


Par contre en voulant passer par les assistants et les dataset et toutes ces
choses.... désolé mais je n'en ai encore aucune idée de comment cela se
passe. Je verrai bien quand cela s'avèrera nécessaire ; )

.antoine


--

Blog Sécurité Web (Swiss blog about Web Security)
http://www.nxtg.net/is/





--


"Vincent MARTINET" wrote in message news:
Je ne sais pas résoudre le problème classique de liaison entre une clef
étrangère et la clef primaire de la table associée.
Exemple :

Table CLIENT :
clicode : n° client
clinom : nom du client
paycode : n° du pays du client

Table PAYS :
paycode : n° de pays
paylibelle : libellé du pays

Je souhaite faire un écran qui donne les informations d'un client :
1) Saisie d'un n° de client
2) Appuie sur le bouton "Rechercher"
3) Affichage des données du client demandé avec le n° de pays et son libellé
4) L'utilisateur peut modifier le nom du client et le n° de pays
5) On enregistre les modifications

J'ai créé les objets suivants :
1 DataAdapter pour CLIENT
1 DataAdapter pour PAYS
1 DataSet avec CLIENT + PAYS + relation client.paycode = pays.paycode
Les zones sont "bindées" :
avec les texts box pour les zones modifiables
avec des labels pour le libellé du pays (zone qui ne sert que de
contrôle pour l'utilisateur).

Je n'arrive qu'à faire la liste des clients pour un pays donné alors que je
veux, pour un client, avoir la description de sa fiche (pays, etc.).

C'est simple mais je n'y arrive pas.

Merci de votre aide