Afficher une erreur requete

[Résolu]
Signaler
-
 Utilisateur anonyme -
Avé à tous !

D'abord j'explique ensuite je montre le code.
J'ai ma connexion à ma abse ACCESS qui marche, ma requete marche, tout marche quoi donc pas de souci à ce niveau la !
En fait, j'ai ma requete qui va interrgoer la base sur un numéro de dossier, et qui va prendre le nom du dit numéro de dossier associer, si il existe ca marche je ressort avec le nom, mais s'il n'existe pas, j'aimerais afficher "Numéro de dossier inexistant".

    strSQL = "SELECT nom FROM CODAGE WHERE Dossier= '" & PatientAChercher & "'"
    Set Rst = db.OpenRecordset(strSQL)
   //ici la requete qui cherche le nom a partir du numero de patient a chercher    

    nom = Rst.Fields("nom").Value
   //je mets le resultat de la requete dans la variable nom
    If nom = "" Then
   // si nom = VIDE alors ca veut dire que la requête n'a pas abouti donc que le dossier n'existe pas
        n = WordBasic.MsgBox("N° de dossier inexistant !", "Erreur", 1)
            If (n = -1) Then
                GoTo debut
                Else: GoTo fin
            End If
    End If
// les go to je ne vous les explique pas on s'en ficher ici   

    MsgBox (Rst.Fields("nom").Value)
//ici j'ai un msgbox pour afficher le nom et verifier que ma requete a bien fonctionner ^^

donc c'est au niveau de ma variable nom, je ne sais pas m'en servir, et aussi du rst.fields.value qui ne doit etre bien utilisé également ^^

Lorsque je rentre un numéro de dossier invalide (fait exprès), il m'affiche une erreur: "erreur aucun enregistrement en cours". moi j'aimerais bien qu'il rentre dans la boucle

Merci d'avance

2 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
128
Il te suffit de compter le nombre d'enregistrement de ta requête :

strSQL = "SELECT nom FROM CODAGE WHERE Dossier= '" & PatientAChercher & "'"
    Set Rst = db.OpenRecordset(strSQL)
    if Rst.RecordCount <= 0 Then

       n = WordBasic.MsgBox("N° de dossier inexistant !", "Erreur", 1)

            If (n = -1) Then

                GoTo debut

                Else: GoTo fin

            End If

    end if
   //ici la requete qui cherche le nom a partir du numero de patient a chercher    

    nom = Rst.Fields("nom").Value

    MsgBox (Rst.Fields("nom").Value)

c'est cool ca, je connaissais pas ce procédé, merci