Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
964 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  liste déroulante

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

liste déroulante

n°1430704
lebienestr​are
Posté le 24-08-2006 à 14:57:53  profilanswer
 

Bonjour tout le monde,comment est ce qu'on peut faire dans sql server 2000 une liste déroulante dans une table? par exemple: une table qui se compose de deux clés étrangères et sans me référer à ces deux tables,je veux bien avoir dans chacune des cases une liste déroulante qui liste les données enregistrées dans les colonnes correspondantes aux 2 clés dans leurs tables originales!!!!
Merci d'avance

mood
Publicité
Posté le 24-08-2006 à 14:57:53  profilanswer
 

n°1430728
MagicBuzz
Posté le 24-08-2006 à 15:27:04  profilanswer
 

c'est pas au sgbd de te fournir la liste, mais à l'IHM que tu vas développer pour exploiter la base.

n°1430765
lebienestr​are
Posté le 24-08-2006 à 16:17:03  profilanswer
 

Mais si,et pourquoi alors on fait ce truc de liste déroulante dans Access,et ce dernier est un sgbd??!!!!!!!!!!

n°1430767
MagicBuzz
Posté le 24-08-2006 à 16:18:43  profilanswer
 

c'est avant tout une IHM...
 
dans access, tu peux faire des formulaires, des reports, des macros, etc. dans SQL Server, tout comme MySQL, Oracle, DB2 ou n'importe quel SGBD ben... t'as que le moteur de données, en aucun cas des fioritures de la sorte. Un SGBD, c'est juste un service. Ferme-moi tout ce suite Entreprise Manager, t'as absolument pas à modifier les données depuis ce dernier :o

n°1430779
lebienestr​are
Posté le 24-08-2006 à 16:27:05  profilanswer
 

mais moi je parle pas d'application,ni des formulaires,je parle que lors du la création des tables il y a une option que les champs des cette dernière soient remplis en faisant référence à d'autre champs d'autres tables,et c'est grâce à des listes déroulantes,

n°1430781
lebienestr​are
Posté le 24-08-2006 à 16:28:51  profilanswer
 

c'est la première fois que je travaille avec sql server et j'ai pas travaillé avant avec Oracle,...... c'est pour cela que je pose cette question :)

n°1430800
MagicBuzz
Posté le 24-08-2006 à 16:47:27  profilanswer
 

non, dans un SGBD tu spécifies ce qu'on appelle une clé étrangère (foreign key) qui indique que ton champs doit contenir une valeur de la clé primaire d'une autre table. mais ce n'est pas pour autant qu'il va te faire une liste déroulante.
 
si tu crées ces deux tables :
 

Code :
  1. create table marque as
  2. (
  3.      id numeric primary key,
  4.      nom varchar(50) not null
  5. )
  6. go
  7. create table modele as
  8. (
  9.     id numeric primary key,
  10.     nom varchar(50) not null,
  11.     marque_id null
  12. )
  13. go


 
=> tu peux créer ce jeu de données :
 


marque :
1 Renault
2 Citroën
3 Peugeot
 
modele :
1 205 3
2 206 3
3 AX 2
4 Xara 2
5 R5 1
6 Laguna 1
7 Escort 4
8 Panda null


 
On voit que l'Escort fait référence à une marque qui n'existe pas, et c'est mal.
La Panda ne fait référence à aucune marque. Ca peut être gênant aussi.
 
Tu peux donc ajouter une clé étrangère entre les deux tables :

Code :
  1. ALTER TABLE modele
  2. ADD CONSTRAINT fk_marque
  3. FOREIGN KEY (marque_id)
  4. REFERENCES marque (id) ON DELETE CASCADE


 
=> Ici, tu indiques que la colonne modele.marque_id fait référence à la colonne marque.id
Ainsi, tu ne peux mettre dans modele.marque_id que des valeurs issues de marque.id (donc des marques qui existent), ou null
=> Ainsi, tu ne pourra plus écrire la ligne "Escort" car tu n'as pas de marque 4, mais toujours la ligne "Panda", puisqu'elle ne fait référence à aucune marque
 
Si tu veux que la marque soit obligatoire, alors tu mets "modele.marque_id" à "not null" et tu seras obligé de fournir une marque à la création d'un modèle de voiture.
 
Dans mon cas le "delete cascade" indique que si tu supprimes une marque, ça va supprimer en cascade tous les modèles de voitures qui sont de cette marque (à utiliser avec précaution ;))


Message édité par MagicBuzz le 24-08-2006 à 16:48:42
n°1430995
Yoyo@
Posté le 24-08-2006 à 20:49:43  profilanswer
 

Je suis 100% d'accord avec Mr Buzz! Si Access te propose de telles listes déroulantes, c'est parce qu'en fait, Access a tendance à mélanger le concept de BDD, de SGBD et d'IHM.
 
Sinon, pour info, c'est "Xsara" et non pas "Xara" ;)

n°1431063
MagicBuzz
Posté le 24-08-2006 à 22:57:52  profilanswer
 

Boarf :D

n°1431142
moi23372
Posté le 25-08-2006 à 08:06:37  profilanswer
 

perso je ne considère mm pas access comme un SGBD :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  liste déroulante

 

Sujets relatifs
Recuperer la valeur dans une liste déroulanteProbleme d'affichage d'une liste déroulante lors dun apel d1 fonction
[PHP]Liste déroulante vers URLPblm liste déroulante directement cliquable
liste déroulante un peu spécialeliste deroulante
liste déroulante dynamiqueProblème de rafraichissement d'une liste déroulante
Liste déroulante qui fait apparaître champ texteImages dans une liste deroulante est ce possible ?!?
Plus de sujets relatifs à : liste déroulante


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR