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

Requêtes et SQL. Discussion :

Compter des enregistrements selon différents critères


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut Compter des enregistrements selon différents critères
    Bonjour

    Ma question fait suite aux discussions ouvertes ici et
    J'arrive à mettre en place la proposition mais pour améliorer, comme j'ai plusieurs décomptes à faire, je souhaitais pouvoir afficher sur un même formulaire tous les décomptes dont j'ai besoin (adhérents de moins de 12 ans en masculin&féminin, de 12 à 25 ans en masculin et féminin ...).

    J'ai 2 problèmes dans la mise en oeuvre de mon souhait : pour éviter d'avoir à rentrer les dates de début et de fin, je préfererais rentrer des ages (car d'une année sur l'autre les décomptes que j'ai à faire correspondent aux mêmes ages, cela m'évite donc chaque année de devoir réactualiser les dates de début et de fin). Je me retrouve donc confronter au problème d'une part à la récupération de la date de naissance et d'autre part à la prise en compte de l'age renseigné dans une zone de texte.
    Pouvez-vous m'aider ?

    Merci d'avance
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  2. #2
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Alors, pour ta demande, il suffit d'adapter le petit bout de code que je t'ai transmis (mais dont j'ai perdu la trace..)
    Plutôt que de demander une extraction entre deux dates, il faudra en demander une entre deux nombres (âges). En soit c'est plus simple encore.
    Si tu veux afficher le résultat de ce code dans les champs de ton formulaire, soit tu remplis par VBA chaque stat dans ton formulaire sur redimensionnement, soit avec un bouton de mise à jour.

    Cordialement,

    Bernard
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  3. #3
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    Re,

    Pour le code que tu m'avais donné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Public Function nb_par_age(Debut As Date, Fin As Date, genre As String) As Integer
    Dim rst         As DAO.Recordset
    Dim sql         As String
    Dim lngDebut    As Long
    Dim lngFin      As Long
     
        lngDebut = Debut
        lngFin = Fin
        sql = "SELECT * FROM T_adherentformulaire " & _
              "WHERE Datenaissance Between " & lngDebut & " And " & lngFin & " AND Genre='" & genre & "'"
     
        Set rst = CurrentDb.OpenRecordset(sql)
        rst.MoveLast
        nb_par_age = rst.RecordCount
        Debug.Print nb_par_age
        Set rst = Nothing
    Pour avoir une idée de ce que je souhaite faire : Nom : pbenregistrement.jpg
Affichages : 200
Taille : 56,7 Ko
    Effectivement, passé par l'âge me parait plus facile mais le problème est que je ne sais pas comment prendre en compte la date de naissance pour pouvoir le comparer à l'age.
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  4. #4
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Le plus simple est, sur l'événement Clic, de ton bouton, tu mets à jour la table en calculant les âges de chaque personne.
    Pour faire ce calcul, je te passe ma fonction qui le fait, soit avec un résultat "String" (12 ans), soit un résultat "Integer" (12)
    A placer dans un module:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    Public Function CalculAge(DateNaissance As Date, Optional dateReference As Date) As Integer 'As String
    Dim DdN     As Long
    Dim DdC     As Long
    Dim Jour    As Integer
    Dim derJour As Boolean
    Dim JourN   As Integer
    Dim JourC   As Integer
    Dim derMois As Boolean
    Dim MoisN   As Integer
    Dim MoisC   As Integer
    Dim Mois    As Integer
    Dim An      As Integer
     
        If dateReference = 0 Then dateReference = Date
        DdN = DateNaissance
        DdC = dateReference
        derJour = False     ' Attribution d'une valeur à tester dans la définition du mois
        derMois = False     ' Attribution d'une valeur à tester dans la définition de l'année
     
        ' Calcul du nombre de jours
        JourN = Day(DdN)
        JourC = Day(DdC)
        If JourN > JourC Then
            derJour = True
            Jour = LastDayOfMonth(DdN) - JourN + JourC    ' On va jusqu'à la fin du mois de naissance et on ajoute les jours
        ElseIf JourN = JourC Then                         ' du mois de comparaison
            Jour = 0
        Else
            Jour = JourC - JourN
        End If
     
        ' Calcul du nombre de mois
        MoisN = Month(DdN)
        MoisC = Month(DdC)
        If MoisN > MoisC Then
            derMois = True
            Mois = 12 - MoisN + MoisC     ' Soustraction du mois de naissance à 12 puis ajout du nombre
                                                    ' de mois de la date de comparaison
        ElseIf MoisN = MoisC Then
            Mois = 12
            derMois = True
        Else
            Mois = MoisC - MoisN
        End If
     
        If derJour = True Then Mois = Mois - 1
     
        ' Calcul du nombre d'années
        An = Year(DdC) - Year(DdN)
     
        If derMois = True Then An = An - 1
     
        If Mois = 12 Then
            An = An + 1
            Mois = 0
        End If
     
        CalculAge = An  ' Si la valeur de la fonction est fixée sur "Integer"
        'CalculAge = An & " ans" ', " & Mois & " mois" ' et " & Jour & " jour" & IIf(Jour > 1, "s", "") ' Si la valeur de la fonction est fixées sur "String"
     
    End Function
    Suite à cela, tu pourras directement adapter mon premier code pour remplir ton formulaire.

    :-)
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  5. #5
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    Citation Envoyé par bernardmichel Voir le message
    Le plus simple est, sur l'événement Clic, de ton bouton, tu mets à jour la table en calculant les âges de chaque personne.
    En fait c'est là toute ma question : comment prendre en compte un champ issu d'une table (ici date de naissance) ?
    Merci pour ton code : la date de référence est par défaut celle du jour ?
    Pour renvoyer le résultat de l'age comme champ dans ma table, comment je peux faire ? (c'est vrai que je n'ai pas pensé à créer un nouveau champ dans ma table, c'est une bonne idée !)
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  6. #6
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Citation Envoyé par nlbmoi Voir le message
    En fait c'est là toute ma question : comment prendre en compte un champ issu d'une table (ici date de naissance) ?
    Merci pour ton code : la date de référence est par défaut celle du jour ?
    Pour renvoyer le résultat de l'age comme champ dans ma table, comment je peux faire ? (c'est vrai que je n'ai pas pensé à créer un nouveau champ dans ma table, c'est une bonne idée !)
    Alors...
    • Oui, la date de référence est la date du jour (comme inscrit dans le code)
    • Oui, il te faut créer un champ "Age" dans ta table et, pour mettre à jour celle-ci, tu emploies une requête de ce type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE tbl??? SET tbl???.Age = CalculAge([DateDeNaissance]);
    Note que tu peux envoyer cette requête lorsque tu cliques sur ton bouton. De cette façon, tous les âges sont mis à jour dans ta table, avant le lancement de la fonction.

    Il ne te reste plus maintenant qu'à substituer les fourchettes d'âges dans la fonction pour calculer la valeur de chaque champ dans ton formulaire.

    Bien à toi,

    Bernard.
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  7. #7
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    Bonjour

    J'ai essayé de mettre en place ta solution : quand je lance la requete de mise à jour pour remplir le champ age, j'ia une erreur "Erreur de compilation : Sub ou Function non définie" et il me surligne LastDayOfMonth
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  8. #8
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Désolé... c'est une fonction perso et j'avais oublié de la mettre "dans le paquet" :-)

    La voilà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function LastDayOfMonth(ByVal LaDate As Date) As Integer
        LastDayOfMonth = Day(CDate(DateSerial(Year(LaDate), Month(LaDate) + 1, 0)))
    End Function
    A placer dans un module...
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  9. #9
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    Bonjour

    Merci, ça fonctionne mieux désormais.

    J'ai réussi à prendre en compte le cas où le total est nul (sinon j'avais un message d'erreur), je souhaitais améliorer encore mon formulaire en testant si une zone de texte est vide : actuellement, si c'est le cas, j'ai une erreur m'indiquant une utilisation incorrecte de Null.
    J'ai testé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Public Function nbparville(Ville As String, genre As String) As Integer
    Dim rst         As DAO.Recordset
    Dim sql         As String
    Dim lngVille    As String
     
     
        lngVille = Ville
        If IsEmpty(Ville) Or IsNull(Ville)
        Then nbparville=0
        Else
           sql = "SELECT * FROM T_adherent " & _
              "WHERE Ville='" & lngVille & "' AND Genre='" & genre & "'"
           Set rst = CurrentDb.OpenRecordset(sql)
           If Not rst.EOF Then
               rst.MoveLast
               nbparville = rst.RecordCount
               Debug.Print nbparville
               Set rst = Nothing
           Else: nbparville = 0
           End If
        End If
    End Function
    mais j'ai une erreur m'indiquant une syntaxe incorrecte.
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  10. #10
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Bonjour !

    Cela peut paraître un peu bête ou "pinailleur" mais, dans ton code, tu déclares une fonction

    Dim lngVille As String ...

    Juste pour expliquer la présence de "lng" devant la variable, j'utilise ce type d'abréviation pour
    savoir en tous temps et en tous lieux le format de ma variable.

    Exemples:
    lng => Long
    int => Integer
    str => String
    boo => Boolean
    etc.

    Donc, je te suggère de changer ton "lngVille" en "strVille" puisque tu la déclare en string :-)
    Mais, bien sûr, là n'est pas le problème.... :-)

    Regardes bien, tu as déjà "déclaré" cette variable dans "Public Function nbparville(Ville As String, genre As String) As Integer"

    Donc, ton code deviendrait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Public Function nbparville(strVille As String, strGenre As String) As Integer
    Dim rst     As DAO.Recordset
    Dim sql     As String
     
        If Estvide(strVille) Then
            nbparville = 0
        Else
            sql = "SELECT * FROM T_adherent " & _
                  "WHERE Ville='" & strVille & "' AND Genre='" & strGenre & "'"
            Set rst = CurrentDb.OpenRecordset(sql)
            If Not rst.EOF Then
                rst.MoveLast
                nbparville = rst.RecordCount
                Debug.Print nbparville
                Set rst = Nothing
            Else
                nbparville = 0
            End If
        End If
     
    End Function
    Tu remarqueras que j'ai utilisé une nouvelle fonction "EstVide" dans ce code.
    Il s'agit d'une fonction privée (distribuable) qui t'évite de te poser des questions pour tester un champ vide.

    Voici son code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Public Function Estvide(Chaîne)
        Estvide = False
        If IsNull(Chaîne) Then
           Estvide = True
        Else
            If IsEmpty(Chaîne) Then
                Estvide = True
            Else
                If Chaîne = "" Then
                    Estvide = True
                Else
                    If Len(Trim(Chaîne)) = 0 Then
                        Estvide = True
                    End If
                End If
            End If
        End If
    End Function
    Si ton erreur persiste, dis-moi sur quelle ligne elle se produit...

    Merci de me donnes des news :-)

    Bernard
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  11. #11
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    Citation Envoyé par bernardmichel Voir le message
    Bonjour !

    Cela peut paraître un peu bête ou "pinailleur" mais, dans ton code, tu déclares une fonction

    Dim lngVille As String ...

    Juste pour expliquer la présence de "lng" devant la variable, j'utilise ce type d'abréviation pour
    savoir en tous temps et en tous lieux le format de ma variable.

    Exemples:
    lng => Long
    int => Integer
    str => String
    boo => Boolean
    etc.

    Donc, je te suggère de changer ton "lngVille" en "strVille" puisque tu la déclare en string :-)
    Mais, bien sûr, là n'est pas le problème.... :-)
    Merci du conseil : c'est vrai que je me demandais à quoi pouvait corrspondre les lng que tu mettais : j'ai compris désormais !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si ton erreur persiste, dis-moi sur quelle ligne elle se produit...
    Le code fonctionne quand je rentre un texte dont le résultat vaut 0 ; par contre, si je ne rentre rien dans ma zone de texte, j'ai toujours cette erreur d'éxécution 94 Utilisation incorrecte de Null
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  12. #12
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Peux-tu m'indiquer sur quelle ligne le code se bloque, please ?
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  13. #13
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    C'est la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.non_herblinois_masc = nbparville(Me.ville2, Me.Etiquette70)
    qui apparait dans l'évèment du clic sur le bouton
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  14. #14
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Tout d'abord, une petite précision: Un texte vide ne peut renvoyer une valeur 0, il renverra toujours une valeur Null

    Dans ta ligne, il te faut utiliser la fonction "nz", par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.non_herblinois_masc = nz(nbparville(Me.ville2, Me.Etiquette70))
    Mais très honnêtement, je pencherais pour un test sur la pertinence de la saisie pour ne pas accepter une valeur Null

    Bonne continuation.
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  15. #15
    Membre éprouvé

    Homme Profil pro
    Technicien
    Inscrit en
    Août 2013
    Messages
    437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 437
    Points : 1 190
    Points
    1 190
    Par défaut
    Citation Envoyé par bernardmichel Voir le message
    ]

    Mais très honnêtement, je pencherais pour un test sur la pertinence de la saisie pour ne pas accepter une valeur Null
    Il me semblait (enfin c'est ce que j'ai cru comprendre) que le code proposé plus haut avec la fonction Estvide faisait le test non ?
    [Nouveau] Envie de tracer des circuits électriques : essayez le package LaTeX CircuiTikZ

    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

    Envie de se lancer dans l'aventure Arduino : allez faire un tour sur ce cours.


    Ma réponse vous a plu ? Un petit vote serait sympa

  16. #16
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Oui, effectivement Estvide teste la valeur du champ que tu lui soumets.

    Ce que je te disais est ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Estvide(strVille) Or Estvide(strGenre) Then ....
    Bonne journée :-)
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

Discussions similaires

  1. [AC-2010] Compter des enregistrements selon 2 critères sur 2 champs différents
    Par nlbmoi dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 03/07/2015, 10h10
  2. Réponses: 2
    Dernier message: 10/10/2013, 09h16
  3. Réponses: 1
    Dernier message: 04/10/2013, 15h40
  4. Réponses: 2
    Dernier message: 30/11/2007, 17h54
  5. Réponses: 1
    Dernier message: 30/03/2007, 08h44

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