IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

afficher une fenetre affichant les conditions non remplies


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 134
    Points : 59
    Points
    59
    Par défaut afficher une fenetre affichant les conditions non remplies
    bonjour,

    je creer un code de creation d'un code sql pour afficher des resultats multicritère...comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub btnrech_Click()
    '........du code
    SQLWhere = " WHERE (((ReqTOUT.SAMPLE_NUMBER)<>'0')"
    ' si chkgenotype cocher alors prendre valeur ds la boxgenotype
    If Me.Chk_genotype.Value = True Then
         SQLWhere = SQLWhere & " AND ((ReqTOUT.Tblsemoule.GENOTYPE)=[Formulaires]![FrmRecherche]![boxgenotype])"
    End If
    'si chk_annee est cocher alors prendre la valeur ds la boxannée
    If Me.Chk_annee.Value = True Then
        SQLWhere = SQLWhere & " AND ((ReqTOUT.ANNEE)=[Formulaires]![FrmRecherche]![boxANNEE])"
    End If
    '....du code
    et j'aimerai faire afficher une boite de dialogue qui avertie si l'une des cases chk est cocher mais que la box ne relation n'est pas remplie (erreur de l'utilisateur) ..parce que sinon mon code sql ne marcherai plus
    si par exemple il coche le chk_annee mais nentre aucune valeur dans la box année
    merci

  2. #2
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Voici un début de réponse à ton problème.....(à adapter à tes besoins..)...

    Le principe:...(..pour exemple..)

    Sur un formulaire, je dispose 6 contrôles CheckBox indépendants dont je régle la propriété Valeur par défaut = 1 pour le premier contrôle, puis sur 2 pour le second.......et ainsi de suite jusqu'à 6.

    Sur ce même formulaire, six (6) TextBox que je nomme txt1 jusqu'à txt6.
    La TextBox "txt1" correspond à la case à cocher ayant sa valeur par défaut = 1

    Maintenant, le code qui va permettre de contrôler que si une CheckBox est cocher alors son TextBox associé doit être remplie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub cmdValider_Click()
    Dim ctl As Control
    For Each ctl In Me.Controls
    ' si mon contrôle est de type CheckBox
        If ctl.ControlType = acCheckBox Then
    ' si celui ci est coché est que le TextBox associé est vide alors.....
            If ctl.Value = True And (IsNull(Me.Controls("txt" & ctl.DefaultValue))) Then
    '....j'affiche une boîte de message m'indiquant une erreur
                MsgBox "La zone de texte de la Case à cocher " & ctl.DefaultValue & " est vide"
            End If
        End If
    Next
    End Sub
    Voila, il y a peut-être plus simple...mais ce code fonctionne parfaitement pour ce que tu désire faire......

    Bonne continuation....

    [EDIT]........effectivement ce code peut fonctionner...mais l'utilisation de la propriété "Valeur par défaut" n'est pas judicieuse....
    Donc en gardant le même principe, nomme tes cases à cocher en leur attribuant un numéro (chk1, chk2, chk3.....) et modifie le code comme ci-dessous...:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' si celui ci est coché est que le TextBox associé est vide alors.....
            If ctl.Value = True And (IsNull(Me.Controls("txt" & Right(ctl.Name, 1)))) Then
    '....j'affiche une boîte de message m'indiquant une erreur
                MsgBox "La zone de texte de la Case à cocher " & Right(ctl.Name, 1) & " est vide"
    ......beaucoup mieux........

  3. #3
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 134
    Points : 59
    Points
    59
    Par défaut
    oki merci ..le code est super !
    seulement jai pas encore verifier mais est ce que si la txtbox est rempli avec la valeur 0..est elle considéré comme null? si oui ne vas t'elle pas poser un souci?

  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    .....
    ...si la txtbox est rempli avec la valeur 0..est elle considéré comme null?
    ...j'ai testé......ici je vérifie uniquement si le TextBox contient une valeur ou non.....mais pas la donnée elle même.......
    ....donc si ton TextBox contient "0" ....alors la textbox est considére comme remplie...

  5. #5
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 134
    Points : 59
    Points
    59
    Par défaut

    super bien merci beaucoup!!!

  6. #6
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 134
    Points : 59
    Points
    59
    Par défaut
    oups encore une petite question a ce propos
    si la case est non remplie il doit afficher la boite de dialogue
    mais il faut ensuite que la lecture du code aprés soit interrompu

    en fait j'ai ouverture d'un autre formulaire de resultat qui doit se lancer ..et donc si une case nes pa rempli il met la boite de dialogue et ne lance pa la suite du code qui ouvre le formulaire ^^"

  7. #7
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 134
    Points : 59
    Points
    59
    Par défaut
    c bon j'ai reussi avec exit sub dans le if...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Requête retournant une liste complète malgré condition non remplie
    Par xogene dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 07/11/2014, 10h24
  2. [FLASH MX2004] Afficher une fenetre Alert
    Par nono2710 dans le forum Flash
    Réponses: 6
    Dernier message: 07/02/2007, 11h16
  3. Réponses: 4
    Dernier message: 10/05/2006, 21h26
  4. Afficher une fenetre a un endroit préci de l'ecran
    Par leo5593 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 09/08/2005, 14h58
  5. Afficher une fenetre par rapport a une autre
    Par luffy0013 dans le forum MFC
    Réponses: 4
    Dernier message: 14/02/2005, 21h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo