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 :

conversion de date en numérique [AC-2003]


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2016
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 187
    Par défaut conversion de date en numérique
    Bonjour la commu access !

    J'ai besoin pour une requête de convertir une date qui est au format 01/01/2016 (JJ/MM/AAAA) en nombre au format 20160101 (AAAAMMJJ).
    Oui c'est farfelu mais la table sur laquelle je dois aller récupérer les données l'est encore plus !

    Jusqu'à présent je travaillais avec le générateur d'expression et je convertissais ma date 20160101 en utilisant la fonction CDate et des extractions Droite Gauche. Là, il faudrait faire l'inverse...
    J'ai essayé avec FormatNumber mais ca me donne le nombre de jour depuis 01/01/1900, j'ai essayé les ExtracChaîne mais en vain car pas d'opérateur logique...

    Des idées svp ?

    Merci,

    Braiice

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Salut,

    est-ce une valeur numerique ou du texte ?

    - pour le numerique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CLng(Format([TaDate],"YYYYMMDD"))
    - pour le texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format([TaDate],"YYYYMMDD")
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre expérimenté
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2016
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 187
    Par défaut
    Merci de ta réponse rapide Jean-Philippe, j'ai essayé tes deux solutions et aucune ne semble fonctionner... J'ai dû mal utiliser ta réponse...? Mon résultat pour ta première solution est une erreur #type?. Mon résultat quand j'utilise ta seconde proposition est yyyy01dd et le code s'est transformé automatiquement en: =Format([Date début période];"""yyyy""mm""dd""")

    Pour préciser mon problème:

    1) J'ai une table compta qui est auto alimentée par un logiciel comptable, un des champs correspond à la date d'une écriture. C'est un champs de type numérique de cette forme: 20160101 (pour 01/01/2016).
    2) Pour des traitements et analyse j'ai converti ce champs en date avec des fonctions CDate ExtracChaîne Gauche et Droit pour finalement obtenir 01/01/2016 qui est stocké dans une autre table au format date.
    3) Maintenant je dois pour des analyses diverses remonter à la source compta en ayant notamment pour critère la date convertie en 2 (01/01/2016), je dois donc automatiser sa conversion pour qu'elle soit à nouveau dans la forme du 1 (20160101).

    J'espère avoir été suffisament clair. Je précise que je ne suis pas initié au VBA mais je tacherai de le faire si la solution m'y oblige ! (Idéalement, je passerai par le générateur d'expression...)

    Par avance, je vous remercie !

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    En fait, le mieux ca reste tout de meme de nous donner le SQL directement, parce que faire des devinettes pour savoir comment tu t'y es pris est un poil trop chronophage =]

    On est efficace ici, oui
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre expérimenté
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2016
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 187
    Par défaut
    La date à convertir est stockée dans une table, récupérée par une requête de sélection et affichée dans un formulaire.

    Je souhaite convertir cette date directement dans le formulaire en appelant le contrôle de la date correspondant via le générateur d'expression.
    La requête que je suis entrain de construire ira ainsi lire dans le formulaire la date (entre autre) sous la forme 20160101 (qui doit être numérique !). Donc pas de SQL dans un formulaire si je ne m'abuse...

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Je reformule du coup, car je n'ai touours pas la certitude de savoir ce que tu veux faire =]


    - Tu as quoi comme donnee en entree dans ton process ?
    > une date , un numerique, du texte ?

    - Tu veux quoi en sortie dans ton formulaire ?
    > une date , un numerique, du texte ?

    Un exemple avec les deux question ?

    Sinon, voir la reponse dans le post 2
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message

    - pour le numerique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CLng(Format([TaDate],"YYYYMMDD"))
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Membre expérimenté
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2016
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 187
    Par défaut
    Ta solution fonctionne, seulement j'aurai dû mettre en français et non anglais YYYYMMDD --> AAAAMMJJ ........................

    Merci beaucoup pour ton aide !

    Bonne journée

  9. #9
    Membre régulier
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2019
    Messages : 10
    Par défaut ou entrer cette commande?
    bonjour,
    en fait, dans un premier temps, j'ai un formulaire dans lequel je voudrai rentrer une date, qui s'enregistrerai au format numérique dans ma table.
    dans un second temps je voudrai pouvoir faire une requête récupérant la date à partir du nombre de la table pour traitement des données.
    je suppose donc que cette discussion présente une partie de la solution, mais je ne vois pas où entrer la commande en question pour obtenir le résultat voulu.
    merci d'avance

    ps: mon but est de pouvoir créer un indexe sur deux champs dans sharepoint, sachant que l'un représente une date et l'autre un texte d'une ligne et que ces deux types de champs ne sont pas compatibles avec un index multi-champs

  10. #10
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 443
    Par défaut
    Bonjour.

    Je te suggère de créer ta propre discussion et de simplement mettre une référence à celle-ci dans le texte.

    Poser une question dans une discussion "terminée" à peu de chance d'attirer des réponses.

    Et aussi précise quel est le format numérique dont tu parles ? Un entier ? Un réel ? Pourquoi passer par un format numérique ?

    Car là tu vas passer ton temps à faire des conversion Date->Numérique et Numérique->Date chaque fois que tu vas modifier ou lire une donnée.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Conversion format date en numérique
    Par Harbor66 dans le forum Access
    Réponses: 5
    Dernier message: 22/07/2015, 19h30
  2. Date : conversion d'un champ numérique en date
    Par jevany dans le forum Access
    Réponses: 2
    Dernier message: 13/02/2006, 17h39
  3. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31
  4. Conversion de date lors d'un import
    Par bilbon.S dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 26/03/2004, 14h33
  5. Conversion de date et division 64 bits
    Par dway dans le forum Assembleur
    Réponses: 38
    Dernier message: 27/01/2004, 10h31

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