liste déroulante - SQL/NoSQL - Programmation
Marsh Posté le 24-08-2006 à 15:27:04
c'est pas au sgbd de te fournir la liste, mais à l'IHM que tu vas développer pour exploiter la base.
Marsh Posté le 24-08-2006 à 16:17:03
Mais si,et pourquoi alors on fait ce truc de liste déroulante dans Access,et ce dernier est un sgbd??!!!!!!!!!!
Marsh Posté le 24-08-2006 à 16:18:43
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
Marsh Posté le 24-08-2006 à 16:27:05
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,
Marsh Posté le 24-08-2006 à 16:28:51
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
Marsh Posté le 24-08-2006 à 16:47:27
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 :
|
=> tu peux créer ce jeu de données :
|
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 :
|
=> 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 )
Marsh Posté le 24-08-2006 à 20:49:43
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"
Marsh Posté le 24-08-2006 à 14:57:53
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