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 :

Gestion de dates is null [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    470
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 470
    Points : 149
    Points
    149
    Par défaut Gestion de dates is null
    Bonjour la communauté,

    J'ai une requête faisant appel à plusieurs tables. La requête fait également à deux fonctions dont dans ladite requête une fonction fait appel à l'autre. En bref la fonction "cinquanteans' fait appel au résultat de la fonction Age_pausecarr.

    Le problème est que dans l'une des tables ne contient pas de champs naissance,. Il en résulte donc que lorsque Age_pausecarr appelle via la variable dtbirthday le champs naissance, la valeur est nulle et m'indique donc un data mismatch. De même lorsque j'inclus IIf(IsNull([naissance]), #1/1/1900#, ([naissance])) il ne tient pas compte du champs vide. Mon problème réside je crois donc dans la gestion de la valeur vide.

    Qui pourrait m'aider ?

    Merci d'avance

    Habiler

    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
    Function Age_pausecarr(dtBirthDay As Date, Dtdebutpausecarr) As Integer
    Dim mydate As Date
    mydate = Dtdebutpausecarr
    Age_pausecarr = DateDiff("yyyy", dtBirthDay, mydate)
    Select Case Month(dtBirthDay)
        Case Is > Month(mydate)
            Age_pausecarr = Age_pausecarr - 1
        Case Month(mydate)
            If Day(dtBirthDay) > Day(mydate) Then Age_pausecarr = Age_pausecarr - 1
    End Select
    End Function
    
    
    Function cinquanteans(anydate As Date)
    Dim varResult As Date
    
    varResult = IIf(IsNull(anydate), #1/1/1900#, (anydate))
    cinquanteans = DateSerial(Year(varResult) + 50, Month(varResult), Day(varResult))
    End Function
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    As-tu essayé avec la fonction Nz() qui permet d'affecter une valeur par défaut à un champ Null

    ce qui pourrait donner dans ton cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    varResult = Nz(anydate, #1/1/1900#)
    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    470
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 470
    Points : 149
    Points
    149
    Par défaut
    Merci pour la réponse, mais le problème reste identique, Il m'affiche toujours "Error" comm résultat.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function cinquanteans(anydate As Date)
    Dim varResult As Date
     
    varResult = Nz(anydate, #1/1/1900#)
    cinquanteans = DateSerial(Year(varResult) + 50,_
     Month(varResult), Day(varResult))
     
    End Function

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Désolé de revenir aussi tardivement sur ton post.
    As-tu trouvé une solution, sinon à quoi correspond DteDebutPauseCarr (argument de ta fonction) ?
    J'essaie de recréer la requête mais il me manque cette information.

    Bonne journée.
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

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

Discussions similaires

  1. Gestion des Date Null
    Par vincnet68 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 06/10/2006, 23h49
  2. [VBA] Gestion des dates nulles provenant d'un recordset
    Par wperezrobles dans le forum Access
    Réponses: 11
    Dernier message: 28/09/2006, 18h02
  3. [MCD] Gestion de date
    Par Seb7 dans le forum Schéma
    Réponses: 13
    Dernier message: 08/09/2003, 09h29
  4. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01
  5. [BEST_PRACTICE][Merise] MCD & gestion de date
    Par Seb7 dans le forum Schéma
    Réponses: 4
    Dernier message: 16/04/2003, 17h07

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