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 :

Transformation de fonction en VBA


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 134
    Par défaut Transformation de fonction en VBA
    Bonjour à tous,

    Je cherche à transformer correctement la fonction Format suivante pour pouvoir l'appliquer en vba :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format$(dmax("CalculMois";"RqMoisDisponiblesFacturesEtAvoirs");'mmmm\ aaaa')
    Cela marche parfaitement dans les requêtes mais quand je la remplace par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format$(DMax("CalculMois", "RqMoisDisponiblesFacturesEtAvoirs"), "mmmm\ yyyy")
    le mois est correct mais pas l'année (il met 1966 alors que cette année n'existe pas !)...

    Une idée de ce qu'il faut écrire ?

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    Bonjour,

    De quel nature est le champ "CalculMois" (date/heure ?), parce que quand je fais format$(Now,"mmmm\ yyyy), il me renvoie "avril 2012", donc cela viendrait peut-être plus du résultat renvoyé par Dmax.

    Est il possible que la valeur renvoyée soit Null (parce qu'il n'y aurait pas de données)

    Cordialement

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 134
    Par défaut
    Bonjour,

    1 / Le champ [calculmois] extraie le mois et l'année en format numérique (ce qui permet aussi d'ordonner par mois/année), et non, il ne peut pas y avoir de valeur null.

    2 / Lorsque je mets cette expression dans un champ indépendant de formulaire cela sort bien la bonne réponse... A n'y rien comprendre ...


    Merci

  4. #4
    Membre chevronné
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    D'accord, mais sous quel forme ? En effet, si il y un seul champ et qu'il y a le mois et l'année est-ce :
    -un champ texte avec "12/2011"
    -un champ numérique avec 201112 ou 122011
    -ou....

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 134
    Par défaut
    Format numérique d' access , pas format date...

    (par ex: Mars 2012 = 24146, Février 2012 = 24145)

    Je dois transformer ce format numérique pour qu'il donne le Mois_Année le plus récent dans un combobox.

    Marche parfaitement dans un champ indépendant mais pas en VBA !

  6. #6
    Membre chevronné
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    C'est étrange, parce que si je convertis le 24146 en date :
    on trouve le 08/02/1966. Ce qui après vérification semble correcte car le 6/04/2012, c'est 41005.

    Pour enfoncer le clou, si vous collez 24146 dans une cellule Excel et que vous sélectionnez le format date, vous trouvez bien 08/02/1966

    Donc 24146 = Mars 2012 semble faux.

    Comment générer vous 24146 depuis une date ?

    (j'admets cependant qu'il est étrange que cela semble fonctionner dans un champ indépendant, mais vous avez tout intérêt à lever ce lièvre maintenant !)

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

Discussions similaires

  1. [VBA-E]import de fonction dans vba
    Par vincent.tr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2006, 23h05
  2. [vba-e]Transformation d'un projet vba-e en un projet exécutable
    Par Lexot2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/09/2006, 21h53
  3. Réponses: 7
    Dernier message: 31/08/2006, 10h41
  4. [Tableaux] Transformer en fonction
    Par Tr@nkill dans le forum Langage
    Réponses: 6
    Dernier message: 18/04/2006, 15h07
  5. code OK transformation en fonction non OK
    Par zulot dans le forum Langage
    Réponses: 1
    Dernier message: 01/04/2006, 22h05

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