bonjour à tous,
j'ai entrain de developper une application en utilisant vb.net 2008 et access 2007 comme SGBD.
Mon probleme:
j'ai une table "maladies" ayant deux colonnes(id_maladie,libelle_maladie) qunad j'ajoute une maladie par exemple "sucre" je veux pas qu'il s'ajoute une autre fois dans la table maladies avec une autre id_maladie diferent sachant que id_maladie est une cle primaire autoincremente
j'ai essaie cela:
j'ai extrait tous les maladies existant dans la colonne libelle_maladie un par un et j'ai l'a compare avec le contenu du textbox(c a d nouvelle maladie que je veux entrer)et voila le code:
////////////////////////////////////////
dim dr as oledbdatareader
dim combo as integre
dim req="select * from maladies"
cmd=new oledbcommande(req,cnx)
dr=cmd.executereader
while dr.read
combo=dr.getstring(1)
if combo=libelle_maladie.text then
msgbox("cett maladie exite deja dans la table")
endif
End while
mais cela ne fonctionne pas
vous pouvez m'aider s il vous plait?
merci d'avance.
A voir également:
Eviter l ajout des enregistrements existant deja dans la base
Tu fais une requête SELECT comme celle que je t'ai montré, ça te retourne le nombre d'enregistrements répondant au critère du WHERE.
Ensuite, si il y a un résultat non nul, ça indique que ça existe déjà.
Sinon, tu mets ta colonne en "sans doublon".
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
Et en faisant une requête du genre :
"SELECT (count(*) FROM maladies WHERE MonChamp="+libelle_maladie.text
Ensuite en récupérant le résultat retourné ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
salut NHenry
j ai essaie avec cette requete que vous m'a proposer mais une erreur s'affiche au niveau de la ligne dr=cmd.executereader "aucun valeur donnée pour un ou plusieurs des parametres requis".
et j'ai pas compris ce que vous voulez dir de
"Ensuite en récupérant le résultat retourné "
vous pouvez m'expliquer s'il vous pait
merci
Il y a pas de ( devant count
MonChamp est à remplacer par le nom du champ.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
As-tu regardé la valeur retournée et essayer de comprendre ce qu'elle signifiait ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
salut
le probleme c est que j arrive pas à regarder cette valeur là .une fois je saisie une maladie et je click sur le button ajouter le messege d'erreur s'affiche au niveau de la ligne dr=cmd.executereader
vola le message "aucun valeur donnée pour un ou plusieurs des parametres requis".
je sais pa pourquoi
As-tu essayé de l'exécuter directement dans Access pour comprendre d'où vient l'erreur ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
salut
merci beaucoup Henry j'ai compris ton aidé et au lieu de tester si combo=libelle_maladie.text alors j ai tester si combo=0 ajouter sinon eviter l ajout et ca maintenant fonctionne fonctionne tres bien
merci beaucooooooooooooup