Meilleur auteur de réponses
Tester Si un Valeur est absente Dans Un Combotext

Question
-
Bonjour
je voudrai savoir comment verifier si une valeur est absente dans un combobox "bindé" à partir d'une table Access-En fait ce que je veux c'est que l'utilisateur entre un nom dans le combo- celui ci lui propose des valeur à partir de la table "noms" de ma base access- (jusque là pas de problem) et dans le cas ou la valeur qu'il a tapé est inexistante je lui propose de l'inserer directement dans la table via un autre form- à titre d'info- je suis novice en Visual Studio et En VB , je viens de l'univers ACCES- merci d'avance
Réponses
-
bonjour,
Voici une version plus simplifier pour rechercher des mots dans un combobox1:
voici en image :
mon code :
Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim liste As New AutoCompleteStringCollection liste.Add("liste") liste.Add("salut") liste.Add("bonjour") liste.Add("bonjours") liste.Add("services") liste.Add("dernier") liste.Add("changer") liste.Add("ajouter") liste.Add("insérer") liste.Add("devenir") ComboBox1.AutoCompleteMode = AutoCompleteMode.Suggest ComboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource ComboBox1.AutoCompleteCustomSource = liste End Sub End Class
cordialement,
zorro591,
Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci
- Marqué comme réponse Teodora SharkovaModerator mardi 2 juin 2015 13:41
Toutes les réponses
-
j'avais lu une réponse de Guillaume qui ne figure plus dans la liste de réponses - Je tiens à le remercier et reposer le problème comme il m'avait suggéré- Merci Guillaume d'avoir répondu tellement vite, c vraiment sympa .
en bref- Voila : de J'ai 1 BDD Access avec 2 table Patient et Consult avec une - relation 1 à plusieurs sur La clef Primaire N_Doss-
je Crée un form principal relié à la table Patient avec un DatagridView - et un combotext qui a comme ValueMember le champs "Ndoss" et pour DisplayMember le champs Nom de la table Patient -je recupere donc la liste des Noms dans le combo : l'utilisateur peut taper le nom qu'il veut il sera aidé parle combo dans la sélection des Patient dans le GridView- jusque là c'est nickel ( et c là - la raison pour j'ai opté au combo)- seulement s'il tape un nom qui n'existe pas je doit lui offrir
la possibilité de créer un nouveau enregistrement Patient- ça fait un peu compliké je reconnait- mais l'une des raisons pour est :*-* minimiser (à l'idéal interdire) la création de plusieurs Id pour un Même Patient ( physique) car ceci pose probleme dans la gestion des dossiers -
*-* y'a aussi et surement pour une grande part mon ignorance- car je débute avec VB.net -
encore une fois merci Guillaume pour ton Aide- Modifié MostMaster mardi 12 mai 2015 17:30
-
Bonsoir,
Voici un petit exemple de recherche dans un combobox
Utilisez l'évènement KeyUp et filtrez les touches. Exécutez la recherche lorsque l'utilisateur a tapé la touche Entrée.
La fonction FindString recherche les textes du combo qui commencent par la chaine modèle et tient compte des minuscule/majuscule..
Si cette recherche échoue il faut faire autrement comme décrit ci-dessous:
private void comboBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode != Keys.Enter)
return;int idx = comboBox1.FindString(comboBox1.Text);
if (idx == -1)
{string l_Txt = comboBox1.Text.ToUpper();
IEnumerable<string> kTxt = comboBox1.Items.OfType<string>().Where(unTxt => unTxt.ToUpper().Contains(l_Txt));
idx = (kTxt.Count() > 0) ? comboBox1.FindString(kTxt.ElementAt(0)) : -1;
}
comboBox1.SelectedIndex = idx;
}Cordialement
Gérard
-
-
bonjour,
Voici une version plus simplifier pour rechercher des mots dans un combobox1:
voici en image :
mon code :
Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim liste As New AutoCompleteStringCollection liste.Add("liste") liste.Add("salut") liste.Add("bonjour") liste.Add("bonjours") liste.Add("services") liste.Add("dernier") liste.Add("changer") liste.Add("ajouter") liste.Add("insérer") liste.Add("devenir") ComboBox1.AutoCompleteMode = AutoCompleteMode.Suggest ComboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource ComboBox1.AutoCompleteCustomSource = liste End Sub End Class
cordialement,
zorro591,
Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci
- Marqué comme réponse Teodora SharkovaModerator mardi 2 juin 2015 13:41
-
Bonjour zorro591
citation
"et dans le cas ou la valeur qu'il a tapé est inexistante je lui propose de l'inserer directement dans la table via un autre form- "
Votre réponse est effectivement une solution - dans le cas où on définie nous même la liste des items- Seulement voilà quand on lie le CB à une Table Access l’insertion d'un nouveau enregistrement directement à partir du combo m'est compliqué.- merci pour votre effort