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

VB 6 et antérieur Discussion :

Valeur null dans une requête


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 61
    Points
    61
    Par défaut Valeur null dans une requête
    bonjour,
    dans mon code je récupère des données d'une requête ACCESS pour afficher dans un graph.
    mais j'ai un soucis lorsque qu'il n'y à pas de valeur dans les champs de ma requête,les barres de 13 ans et 14 ans mettent n'inporte quoi car il n'y à pas de valeurs. Est ce possible de contourner ce problème ?

    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
    Private Sub Command1_Click() 'total présents filles
    On Error Resume Next
        Dim MaBD As String
     
        MaBD = App.Path & "\BD\centre_aéré.mdb"
        With Adodc2
            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MaBD & ";Persist Security Info=False"
            .RecordSource = "SELECT * FROM present1"
            End With
        Adodc2.Refresh
        Adodc2.Recordset.MoveFirst
     
        MoveOk = False
        With MSChart1
            .ChartType = VtChChartType2dBar   ' type de graphe
            .ColumnCount = 1                   ' nombre de barre
            .RowCount = 12                     ' nombre de mois
     
     
            ' lecture du nom des mois
            For i = 1 To 12
                .Row = i
                .Column = 1
                .RowLabel = Adodc2.Recordset.Fields(0) & " ans"  ' le nom de chaque mois
                '.Data = Adodc1.Recordset.Fields(3).Value  ' la valeur
                .Data = Adodc2.Recordset.Fields(2).Value
                '.Data = Adodc2.Recordset.Fields(3).Value
                'MoyMax = MoyMax + Adodc1.Recordset.Fields(3)
                Adodc2.Recordset.MoveNext                 ' le mois suivant
            Next i
     
        End With
    End Sub
    Private Sub Command2_Click() 'total présents garçons
    On Error Resume Next
    ' Deuxième série
        With MSChart1
            .ColumnCount = 2                  ' nombre de barre
            .RowCount = 12
     
            Adodc2.Recordset.MoveFirst
            For i = 1 To 12
                .Row = i
                .Column = 2
                .Data = Adodc2.Recordset.Fields(3).Value
                Adodc2.Recordset.MoveNext
            Next i
    End With
      End Sub


    Nom : graph.jpg
Affichages : 291
Taille : 26,6 Ko

    merci

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 097
    Points : 16 606
    Points
    16 606
    Par défaut
    Salut

    ....
    lorsque qu'il n'y à pas de valeur dans les champs de ma requête
    ....
    Doit on supposer que ta requête te renvoie certains champs vide?
    Si oui, il faut vérifier le contenu du champs avant que de l'attribuer à la colonne du MSchart, si il est vide tu lui attribut par exemple zéro et/ou tu la rends invisible .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 61
    Points
    61
    Par défaut
    bonsoir

    Doit on supposer que ta requête te renvoie certains champs vide?
    Si oui, il faut vérifier le contenu du champs avant que de l'attribuer à la colonne du MSchart, si il est vide tu lui attribut par exemple zéro et/ou tu la rends invisible .
    le problème c'est que je récupère les valeurs de ma requête d'une autre "requête Analyse croisées" ,je ne veut pas rendre invisible ce champ car par exemple dans le champ
    Fille ----> 13ans le champ est vide mais pas dans Garçons
    par contre mettre un zéro dans ce champ ça m'intéresse,mais comment faire ?

    merci
    bonne soirée

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 097
    Points : 16 606
    Points
    16 606
    Par défaut
    Cela pourrait fonctionner comme ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If IsError(Adodc2.Recordset.Fields(0).Value) Then
        .Data = 0
        Else
        .Data = Adodc2.Recordset.Fields(3).Value
    End If

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 61
    Points
    61
    Par défaut
    bonjour,
    merci pour le code, il fonctionne bien , mais car il y a toujours un mais
    quand j'affiche mon graph j'ai bien 0 dans la barre des 13 ans colonne fille et 6 garçons.
    par contre dans 14 ans j'ai bien 0 pour les garçons et 0 aussi pour les filles alors qu'ils y a 3 filles
    je ne comprends pas pourquoi

    Nom : graph.jpg
Affichages : 268
Taille : 26,6 Ko


    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
    Private Sub Command1_Click() 'total présents filles
    On Error Resume Next
        Dim MaBD As String
     
        MaBD = App.Path & "\BD\centre_aéré.mdb"
        With Adodc2
            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MaBD & ";Persist Security Info=False"
            .RecordSource = "SELECT * FROM present1"
            End With
        Adodc2.Refresh
        Adodc2.Recordset.MoveFirst
     
        MoveOk = False
        With MSChart1
            .ChartType = VtChChartType2dBar   ' type de graphe
            .ColumnCount = 1                   ' nombre de barre
            .RowCount = 12                     ' nombre de mois
     
     
            ' lecture du nom des mois
            For i = 1 To 12
                .Row = i
                .Column = 1
                .RowLabel = Adodc2.Recordset.Fields(0) & " ans"  ' le nom de chaque mois
                   If IsNull(Adodc2.Recordset.Fields(2).Value) Then
                .Data = 0
                Else
                .Data = Adodc2.Recordset.Fields(2).Value
     
                Adodc2.Recordset.MoveNext    ' le mois suivant
             End If       
     Next i
     
        End With
    End Sub
    Private Sub Command2_Click() 'total présents garçons
    On Error Resume Next
    ' Deuxième série
        With MSChart1
            .ColumnCount = 2                  ' nombre de barre
            .RowCount = 12
     
            Adodc2.Recordset.MoveFirst
            For i = 1 To 12
                .Row = i
                .Column = 2
                If IsNull(Adodc2.Recordset.Fields(3).Value) Then
                .Data = 0
                Else
                .Data = Adodc2.Recordset.Fields(3).Value
     
                Adodc2.Recordset.MoveNext
                 End If            
            Next i
    End With
      End Sub
    merci
    bon week-end

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 097
    Points : 16 606
    Points
    16 606
    Par défaut
    Salut
    Dans ton code, ligne 52, Adodc2.Recordset.MoveNext, il me semble que le branchement à l'enregistrement suivant devrait être après la ligne End If.

    Les ligne 30 et 31 ne devraient elles pas aussi permutées ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 105
    Points : 61
    Points
    61
    Par défaut
    ça fonctionne super bien
    merci t un chef

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

Discussions similaires

  1. [AC-2013] Valeur null dans une requête Analyse croisée
    Par petchy dans le forum Access
    Réponses: 5
    Dernier message: 07/06/2014, 11h57
  2. Valeur nulle dans une requête
    Par steakos78 dans le forum VB.NET
    Réponses: 3
    Dernier message: 24/02/2011, 09h39
  3. Tester valeur null dans une requête sql
    Par bobosh dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/07/2008, 13h07
  4. Réponses: 5
    Dernier message: 28/04/2008, 14h48
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02

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