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 :

probleme avec une valeur null sur une date


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut probleme avec une valeur null sur une date
    Bonjour je rencontre actuellement un problème avec mon code VBA, pour résumer la situation je commence a utilisé le VBA je suis novice dans ce domaine, j'aurais besoin donc de vous pour pouvoir m'aider à régler mon petit problème.
    Le problème que je rencontre, est que quand un utilisateur ne rentre pas de donnée dans la cellule occurrence je voudrais que celui-ci ignore la donnée.

    voici le code en question

    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
    Private Sub Form_DblClick(Cancel As Integer)
     
            Dim i_jour As Integer
     
            Dim i_mois As Integer
     
            Dim i_annee  As Integer
     
            Dim s_date As String
     
     
                If mois_jour_annee = 1 Then
                   libelle_date = DateAdd("yyyy", periode, Date)
                End If
     
                If mois_jour_annee = 2 Then
                   libelle_date = DateAdd("m", periode, Date)
                End If
     
                If mois_jour_annee = 3 Then
                   libelle_date = DateAdd("d", periode, Date)
                End If
     
                i_mois = DatePart("m", libelle_date)
                i_annee = DatePart("yyyy", libelle_date)
                i_jour = occurrence
     
                    If IsNull(occurrence) Then
                      i_jour = 0
                    Else
                      i_jour = occurrence
                    End If
     
                s_date = CStr(i_jour) & "/" & CStr(i_mois) & "/" & CStr(i_annee)
                libelle_date = CDate(s_date)
     
    End Sub

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Je ferai un peu plus direct :
    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
     
                select case me.mois_jour_annee
                   case 1
                      me.libelle_date = DateAdd("yyyy", me.periode, Date)
     
                   case 2
                      me.libelle_date = DateAdd("m", me.periode, Date)
     
                   case 3
                      me.libelle_date = DateAdd("d", me.periode, Date)
     
                   case else
                       Error 5 'Juste pour attraper les cas oubliés.
                 end select
     
                 If IsNull(me.occurrence) Then
                     me.libelle_date=Null
                 Else
                     me.libelle_date=DateSerial(year(me.libelle_date),month(me.libelle_date), me.occurence)
                 End If
    Le me. refère au formulaire courant. Ce n'est pas indispensable mais cela aide l'humain qui lit le code à savoir qu'on se réfère au formulaire en cours et pas à une variable globale.

    A+

  3. #3
    Membre habitué
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 97
    Points : 131
    Points
    131
    Par défaut
    Salut kynder,
    Action sur la touche F1 et regarde du coté de la fonction Nz.

    Bon courage

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Attention avec NZ() elle fait parfois sauter les décimales des nombres, iif(isNull();;) est plus sur.

    A+

Discussions similaires

  1. Réponses: 24
    Dernier message: 14/03/2015, 09h09
  2. Exploiter un formulaire avec survol ou clic sur une valeur
    Par Claudine dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 08/01/2015, 20h19
  3. probleme avec un champ null dans une requête sql
    Par kroma23 dans le forum Bases de données
    Réponses: 6
    Dernier message: 20/03/2014, 15h09
  4. DataReader pointe sur une valeur nulle !
    Par tina25 dans le forum C#
    Réponses: 9
    Dernier message: 11/12/2007, 16h37
  5. CR XI : Traduire une valeur nulle et paramètre date
    Par dalhia101 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 11/12/2007, 11h45

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