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 :

Dépassement de capacité?


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Par défaut Dépassement de capacité?
    Voici la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Function CalculAncienneté(ByVal d As Date)
        Dim NbrA As String, NbrM As String, NbrJ As String
        Dim TotalJours As Integer
     
        TotalJours = Date - d
        NbrA = TotalJours \ 365
        TotalJours = TotalJours Mod 365
        NbrM = TotalJours \ 30
        NbrJ = TotalJours Mod 30
        CalculAncienneté = NbrA & " ans, " & NbrM & " mois et " & NbrJ & " jours"
    End Function
    Le but de cette fonction est d'afficher l'ancienneté d'un client à partir de sa date d'entrée.
    Pourtant quand j'exécute ma fonction, j'obitens une erreur me disant qu'il y a "un dépassement de capacité" et me surligne "TotalJours = Date-d"...
    J'ai beau chercher je vois (une fois de plus j'avoue) où est l'erreur, ma fonction me semble bonne pourtant.
    Alors pourquoi? Si vous avec une idée ou qu'il vous faut des précisions.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    Citation Envoyé par Ryuuku

  3. #3
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Tu peux aussi utiliser datediff

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NbMois = DateDiff("m",DteNaissance,Date)
    NbAns = NbMois \12
    NbMois = NbMois-NbAns
    Note : j'ai remarqué des problemes avec DateDiff quand on demande une difference en années : DateDiff("y",DteNaissance,Date)

  4. #4
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Par défaut
    Citation Envoyé par Vld44
    Ben quoi????

    Pourtant mon code devrais fonctionner, non?
    C'est quoi cette erreur

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    -> Tu essaies d'affecter une variable de type Date à une variable de type Integer

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 137
    Par défaut
    L'appel à ta fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1 = CalculAncienneté(CDate("13/04/1956"))
    Pour moi, ta fonction donne le bon resultat.
    Peux tu nous donner un exemple de l'appel a cette fonction qui te genère une erreur.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    attend, corrige d'abord les fautes de typage ...


    NbrM = TotalJours \ 30

    String := double ?

    cf ma signature xD

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 137
    Par défaut
    Citation Envoyé par Vld44
    attend, corrige d'abord les fautes de typage ...


    J'allais y venir,

    Dim NbrA As String, NbrM As String, NbrJ As String
    Dim TotalJours As Integer
    Label1 = CalculAncienneté(13 / 4 / 1956) 'erreur
    alors que

    Dim NbrA As Integer, NbrM As Integer, NbrJ As Integer
    Dim TotalJours As Long
    Label1 = CalculAncienneté(13 / 4 / 1956) pas d'erreur
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 17/10/2014, 17h08
  2. Transaction, Dépassement de capacité
    Par SkYsO dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 23/12/2008, 15h56
  3. Dépassement de capacité
    Par jean-pierre96 dans le forum Access
    Réponses: 2
    Dernier message: 10/05/2006, 17h04
  4. Réponses: 8
    Dernier message: 06/02/2006, 15h34
  5. détection de dépassement de capacité
    Par tut dans le forum C++
    Réponses: 10
    Dernier message: 01/12/2004, 23h11

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