gilds5
Messages postés19Date d'inscriptionjeudi 16 mars 2006StatutMembreDernière intervention13 juin 2006
-
18 mai 2006 à 16:53
gilds5
Messages postés19Date d'inscriptionjeudi 16 mars 2006StatutMembreDernière intervention13 juin 2006
-
19 mai 2006 à 11:49
Bonjour bonsoir
Je travaille avec vba access et j'effectue une requete ajout qui se présente ainsi:
NoIPP = Form_Entrée.IPP
Set dbs = CurrentDb
strSQL = "INSERT INTO Patients ( IPP, Nom, Prénom, Sexe, DateN )SELECT Recept.IPP, Recept.Nom, Recept.Prénom, Recept.Sexe, Recept.DateN FROM Recept WHERE (((Recept.IPP)=" & NoIPP & "));"
Set Qdf = dbs.CreateQueryDef("", strSQL)
Qdf.Execute
Ca marche bien si le NoIPP est présent dans la table, mais j'aimerais pouvoir afficher un message quand ce n'est pas le cas.
En gros, quelque chose comme:
"If résultat requete vide then
msgBox "NoIPP non valide""
Si quelqu'un sait comment ce genre de chose peut se faire, merci de me faire signe : )
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 18 mai 2006 à 19:34
Salut
Je crains qu'il faille que tu le fasses en deux étapes :
- Une première requète SQL pour savoir si la donnée existe (avec un RecordSet)
- Si elle existe, la requète telle que tu l'as énoncé
Pour info, "Qdf.Execute" doit avoir (comme sous ADODB) un paramètre optionnel qui te renvoie le nombre d'enregistrements affectés par ta requète. Si ce nombre = 0, c'est que IPP n'existait pas.
Sous Access, je ne suis pas sûr que la syntaxe qui suit fonctionne :strSQL "If Exists (Select Recept.IPP FROM Recept WHERE Recept.IPP " & NoIPP & ") " & _
" .... ta requète Insert ..."
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accro