cs_rerel
Messages postés2Date d'inscriptionmercredi 3 mai 2006StatutMembreDernière intervention26 juillet 2006
-
24 juil. 2006 à 19:18
cs_drahcir
Messages postés745Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention15 septembre 2009
-
4 août 2006 à 12:14
Bonjour,
Je débute en VB (j'utilise vb express 2005) ainsi qu'en base de donnée
(SQL). J'ai une base de donnée avec une table contenant les champs : "noms";
"prenoms"; "adresse". J'ai défini "noms"+"prenoms" en tant que clé
primaire. Je souhaiterai créer une combobox contenant les différents noms présents dans la base de données, sans répétition. Je pensais pour cela créer
une nouvelle table qui contiendrait les noms, sans répétition; mais
là je bloque, j'ai regardé les différents types de relations entre
tables mais je crois que je m'égare... J'ai vu que access propose des "listes externes" mais je n'ai pas trouvé d'équivalent en SQL (ce que je dis est peut être totalement incohérent, mais je débute, dsl).
Par ailleurs, une fois que l'utilisateur a choisit le nom dans la combobox, je voudrai qu'une seconde combobox lui propose de choisir parmi les prénoms possibles pour ce nom.
Si quelqu'un pouvait me donner les grandes lignes à suivre, cela m'aiderai beacoup.
Merci d'avance.
tof008
Messages postés695Date d'inscriptionjeudi 5 mai 2005StatutMembreDernière intervention 5 janvier 201033 25 juil. 2006 à 08:30
Pour récuperer les données sans doublons, tu peux passer par une requete contenant UNIQUE (à tenter, je ne sais pas si ca marche...), puis pour récuperer le prénom une autre requte qui finira par where NOM = '" & combo1.selecteditem & "'
Voila, j'espere que ca t'aidera!
(Si la réponse vous convient, appuyez sur réponse acceptée...).
cs_drahcir
Messages postés745Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention15 septembre 20094 25 juil. 2006 à 09:26
Salut,
pour ne pas avoir de doublons dans les noms, essaie :
"SELECT DISTINCT noms FROM tabase WHERE noms='" & tonNom & "'"
mais je ne suis pas sûr que ce soit une bonne idée de déclarer "noms" et "prénoms" comme clés primaire, ils devront être unique. Ajoute un champ "id" (par exemple) qui s'incrémente automatiquement......
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 25 juil. 2006 à 11:11
C'est à peu près cela Drahcir sauf que l'opérateur "=" doit être remplacé par "like" soit "SELECT DISTINCT noms FROM tabase WHERE noms='" & tonNom & "'"
Le fait de mettre "noms" et "prénoms" comme clés primaire empêche de rentrer deux fois la même personne ce qui est une règle d'intègrité de la base, quoi qu'il arrive aussi que deux personnes différentes aient le même nom et prénom il faut alors ajouter le champ date de naissance dans la clé primaire mais ça deviens un peu lourd. le fait d'ajouter un champ ID est une bonne chose mais cela n'empêche jamais les doublons.
cs_rerel
Messages postés2Date d'inscriptionmercredi 3 mai 2006StatutMembreDernière intervention26 juillet 2006 26 juil. 2006 à 12:14
Bonjour et merci pour vos réponses,
Je ne maîtrise pas du tout les requêtes SQL (j'ai réalisé ma base de donnée avec l'assistant de vb express). Je ne sais pas encore comment intégrer des requêtes dans mon programme (même si c'est la base, là j'ai un peu honte). Donc je vais me renseigner et essayer d'appliquer vos conseils.
whatitis
Messages postés6Date d'inscriptionmardi 15 novembre 2005StatutMembreDernière intervention 4 août 2006 4 août 2006 à 09:28
Bonjour,
J'ai egalement une application faisant intervenir une base SQL. Et je souhaiterais voir apparaitre au lancement de mon application tous les noms de personnes présent dans la base de donnée dans un ComboBox.
Je ne sais pas comment ecrire la procedure pour recuperer ces données !
cs_drahcir
Messages postés745Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention15 septembre 20094 4 août 2006 à 11:55
Qu'est ce que c'est ta db? De toute façon, il faut bien que tu t'y connectes d'une façon ou d'une autre, sinon je ne vois pas comment tu vas récupérer tes données!!
Cherche la chaîne de connexion correspondante à ta db (qui remplacera "Persist Security Info=False;Integrated Security=SSPI;database=DonneeDataSet ";server=" & srv
whatitis
Messages postés6Date d'inscriptionmardi 15 novembre 2005StatutMembreDernière intervention 4 août 2006 4 août 2006 à 12:07
J'ai simplement ajouter une source de donnée, ensuite l'aide m'as guidé pour créer ma base.
J'ai l'impression de visual basic express 2005 fait beaucoup de chose automatiquement.
Dans l'aide, il montre un exemple en effectuant simplement un glisser/deplace de la donnée sur la FORM mais ca n'as pas le rendu que je souhaite obtenir.
Pour te montrer j'ai créer une nouvelle form et glisser toute la table appelé ADHERANT sur la form :
Public
Class Form2
Private
Sub AdhérantsBindingNavigatorSaveItem_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles AdhérantsBindingNavigatorSaveItem.Click
'TODO : cette ligne de code charge les données dans la table 'PoleConvivialiteDataSet.Adhérants'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
Me
.AdhérantsTableAdapter.Fill(
Me
.PoleConvivialiteDataSet.Adhérants)
End
SubEnd
Class
Avec ça, je peux afficher tout les renseignements de ma base de données mais pas comme je veux.