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 :

Utilisation incorrecte de Null [AC-2016]


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut Utilisation incorrecte de Null
    Bonjour,

    j'ai fait une fonction, qui donne comme résultat le type de semaine en fonction d'une date:
    elle est située dans un module standard:
    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 TypeSemaineDate(dt As Date) As String
     
    Dim j As Long
    Dim dt1 As Date
    Dim db As DAO.Database
    Dim rsPTS As DAO.Recordset
     
    Set db = CurrentDb
    Set rsPTS = db.OpenRecordset("select * from T_ParamTypeSemaine INNER JOIN T_MagasinCourant ON T_ParamTypeSemaine.Magasin=[T_MagasinCourant].[Magasin] ;")
     
    dt1 = dt - Weekday(dt, vbMonday) + 1
    j = NumSemaine(dt1)
    TypeSemaineDate = rsPTS.Fields("Semaine" & j)
     
     
    End Function
    Je souhaite faire afficher le résultat dans un sous formulaire SF_PlanningSemaine dans une case appelée TypeSemaine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TypeSemaine = TypeSemaineDate(Forms!F_PlanningSemaine.DateD)
    Ce sous formulaire est contenu dans le formulaire F_PlanningSemaine

    J'obtiens à l'execution:
    Nom : Capture1.JPG
Affichages : 159
Taille : 14,7 Ko
    Si je clique sur "Fin", mon formulaire et son sous formulaires s'affichent bien, et dans la case TypeSemaine j'ai bien la valeur escomptée qui s'affiche..

    Je suppose que le souci vient du fait que lors du chargement du sous formulaire la valeur DateD n'est pas encore chargée, mais je ne vois pas comment résoudre ceci.

    Merci d'avance pour votre interet

  2. #2
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 935
    Par défaut
    bonjour,
    ce genre d'erreur ce résout avec Nz():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TypeSemaine = TypeSemaineDate(Nz(Forms!F_PlanningSemaine.DateD,""))
    si le champ est numérique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TypeSemaine = TypeSemaineDate(Nz(Forms!F_PlanningSemaine.DateD,0))

  3. #3
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut
    Merci pour ton interet.

    Un truc que je ne pige pas:
    le résultat de ma fonction est qualifié comme étant string.
    et c'est l'ecriture que tu indiques comme étant pour un champ numerique qui fonctionne... cela ne me semble pas logique.

    est ce lié au fait que "Me.TypeSemaine" n'est pas défini?
    ou un truc bizarre comme il y en a dans access?

    en tout état de cause je met résolu

  4. #4
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 935
    Par défaut
    bonjour,
    je n'avais pas vu que le type de Dated était Date sinon j'aurai mis uniquement la seconde solution: par défaut dans VBA, la valeur nulle n'est pas accordée aux types Texte, Numérique et Date, seul le Variant l'accepte.

  5. #5
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut
    Merci pour cette précision.

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

Discussions similaires

  1. erreur 94 utilisation incorrecte de null
    Par caossak dans le forum Général VBA
    Réponses: 2
    Dernier message: 24/06/2007, 11h00
  2. Réponses: 3
    Dernier message: 30/03/2007, 14h48
  3. Réponses: 6
    Dernier message: 03/07/2006, 08h26
  4. Utilisation incorrecte de Null ?
    Par pafi76 dans le forum Access
    Réponses: 6
    Dernier message: 28/06/2006, 09h40
  5. Utilisation incorrecte de Null ?
    Par illight dans le forum Access
    Réponses: 2
    Dernier message: 23/11/2005, 10h27

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