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 :

Importation excel/access - Date <1900


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Femme Profil pro
    administratif
    Inscrit en
    Avril 2020
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : administratif

    Informations forums :
    Inscription : Avril 2020
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Importation excel/access - Date <1900
    Bonjour,

    j'ai importé un fichier Excel (liée à la source) dans une base Access. Dans mon fichier Excel, je gère des auteurs avec des dates <1900 (1885-1886) au format date jj/mm/aaaa dans Excel.
    ma base de recherche Access fonctionne quand je recherche un auteur né >1900. mon auteur (nom,prénom,date) s'affiche correctement : Prévert Jacques 04/02/1900.
    Mais quand je cherche un auteur né en 1800. rien ne s'affiche ! . ni le nom, ni le prénom, ni la date.

    Comment afficher dans un sous formulaire avec comme source une requête, les date <1900 d'un fichier Excel ?

    j'ai fait une recherche sur le forum et dans la faq et j'ai pas trouvé.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 004
    Points : 24 596
    Points
    24 596
    Par défaut
    Bonjour,

    Comment vous procédez pour arriver à ce résultat ?

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Femme Profil pro
    administratif
    Inscrit en
    Avril 2020
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : administratif

    Informations forums :
    Inscription : Avril 2020
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    j'ai une base avec 2 fichiers EXCEL attachés, 1 formulaire,1 sous formulaire, 3 requêtes dont 1 union et un bouton recherche:



    Voici le formulaire :



    Quand je marque un nom et que je clique sur le bouton s'affiche les auteurs mais il y en avec des date en 1800 comme DUPONT GEORGES (flèche rouge) la date n'apparait pas .

    les requêtes sont simples avec des critères de recherche sur une zone texte : Comme '*' & [Formulaires]![F_Recherche]![ZTexte_Nom] & '*'
    la requêtes union est mis en place en cas de données trop importantes.

    Si je tape le nom dupont dans la zone texte les dates <1900 n'apparaisse pas

    j'espère que c'est claire ?
    Images attachées Images attachées  

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonsoir,
    dans Excel, le monde commence le 01/01/1900, donc toute date antérieure n'est pas reconnue. C'est bien connu et c'est expliqué ici chez Microsoft et dans le forum.
    Dans la cellule de tes fichiers elle est d'ailleurs affichée avec cadrage à gauche comme tout texte et un format date est sans effet comme tu le vois:

    Nom : _1.JPG
Affichages : 100
Taille : 206,8 Ko

    le mieux serait d'importer tes fichiers dans des tables Access qui reconnait les dates à partir de 01/01/100.

    Attention quand même: étant donné que la date dans Excel est du texte, cela n'indiquera pas les éventuelles erreurs de saisie (risques d'erreur d'importation)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    administratif
    Inscrit en
    Avril 2020
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : administratif

    Informations forums :
    Inscription : Avril 2020
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Oui je sais que Excel ne prend en compte que les date à partir de 1900. Mais je dois travailler sur des fichiers Excels attaché j'ai pas le choix. si non j'aurais déjà importé toutes les données en format Access.
    Mais je pensais que dans les critères des requêtes en format date, je pouvais faire un code pour afficher la date en créant un format spécifique comme un sous formulaire visible ou invisible.

    Dans une cellule Excel la date est visible. donc elle existe, et si on peut rendre cette date visible avec un code comme une macro qui transforme la date comme dans le calcul de l'age sur une date en 1800 sur Excel.
    Sur un site il crée une macro en incluant un ajout de 1900 sur une date en 1800 pour que Excel puisse calculer l'âge d'une personne née en 1800.

    si Access accepte les dates en 1800 et que cette date est sur le fichier Excel attaché, n'y a t_il pas un code pour la rendre visible ?

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    effectivement, les dates sont correctement vues dans Access ... Peux-tu poster ce que contient exactement une cellule Excel depuis la barre de formule ?
    Peut-on voir également le SQL de tes requêtes ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Membre à l'essai
    Femme Profil pro
    administratif
    Inscrit en
    Avril 2020
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : administratif

    Informations forums :
    Inscription : Avril 2020
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Voila pour le fichier Excel BaseDonnéeB pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    nom          prenom      datenaiss                 date de deces     Style            Boite
    DUPONT    GEORGES    25/09/1890   H	01/07/1960        MAGAZINE    53
    Voici la barre de formule pour la date de naissance (25/09/1890) : 25/09/1890

    la date est au format Date - type - *00/00/0000

    et pour la requete Base B en sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT BASEB.[NOM USAGE], BASEB.[NOM NAISSANCE], BASEB.PRENOM, BASEB.[DATE NAISS], BASEB.SEXE, BASEB.[DATE DECES], BASEB.STYLE, BASEB.BOITE
    FROM BASEB
    WHERE (((BASEB.[NOM USAGE]) Like '*' & [Formulaires]![F_Recherche]![ZTexte_Nom] & '*') AND ((BASEB.PRENOM) Like '*' & [Formulaires]![F_Recherche]![ZTexte_Prenom] & '*'));

    je pensais qu'avec une macro on pouvais rendre les dates 1800 des fichiers excels visibles en les transformant ou en inserant un calcul comme 1900 rajouter pour le calcul de l'age sur un site..

    Merci à tous pour vos réponses ! si vous avez une solution ! je vais chercher de mon côté !

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonsoir,
    je ne vois rien d'anormal à ce stade, mes dates s'affichent bien mais je n'ai pas utilisé de requête Union et j'utilise Access 365:

    Nom : _2.JPG
Affichages : 88
Taille : 163,1 Ko

    Quelle est ta version d'Access ?

    Peut-être faut-il utiliser la fonction de conversion de date: CVDate (CDate en anglais) ? comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT BASEB.[NOM USAGE], BASEB.[NOM NAISSANCE], BASEB.PRENOM, CDate(BASEB.[DATE NAISS]) AS DATE_NAISS, BASEB.SEXE, BASEB.[DATE DECES], BASEB.STYLE, BASEB.BOITE
    FROM BASEB
    WHERE (((BASEB.[NOM USAGE]) Like '*' & [Formulaires]![F_Recherche]![ZTexte_Nom] & '*') AND ((BASEB.PRENOM) Like '*' & [Formulaires]![F_Recherche]![ZTexte_Prenom] & '*'));
    et afficher le résultat de la requête, juste pour voir ce que ça donne.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Membre à l'essai
    Femme Profil pro
    administratif
    Inscrit en
    Avril 2020
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : administratif

    Informations forums :
    Inscription : Avril 2020
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Bonsoir,

    Ma version access est 2019. j'ai testé ton code et voici la différence :

    Ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     SELECT BASEB.[NOM USAGE], BASEB.[NOM NAISSANCE], BASEB.PRENOM, CDate(BASEB.[DATE NAISS]) AS DATE_NAISS, BASEB.SEXE, BASEB.[DATE DECES], BASEB.STYLE, BASEB.BOITE
    FROM BASEB
    WHERE (((BASEB.[NOM USAGE]) Like '*' & [Formulaires]![F_Recherche]![ZTexte_Nom] & '*') AND ((BASEB.PRENOM) Like '*' & [Formulaires]![F_Recherche]![ZTexte_Prenom] & '*'));
    Cela donne dans la Cellule : #Nombre !



    Et avec mon code la Cellule n'affiche rien !

    En tout cas ton code affiche déjà quelque chose !

    La requête Union est la combinaison des 2 requêtes pour un nombre de données importante ! là elle ne sert encore a rien..

    Je continue à chercher

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonsoir,
    En tout cas ton code affiche déjà quelque chose !
    oui, si on veut: #Nombre ! indique une erreur de donnée dans la cellule, la date n'est donc pas reconnue

    Autre piste: n'y aurait-il pas un caractère non visible caché dans la cellule ? Peux-tu essayer d'effacer la cellule et la re-saisir ?i
    Sinon je n'ai pas d'autre idée
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Membre à l'essai
    Femme Profil pro
    administratif
    Inscrit en
    Avril 2020
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : administratif

    Informations forums :
    Inscription : Avril 2020
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Bonsoir,

    Non cela n'a rien changer. j'ai effacer la cellule je l'ai mis en format date abrégé sur Excel *00/00/0000 et toujours le même contenu sans ton code la cellule est vide et avec ton code j'ai #Nombre! . je vais continuer mes recherches..Merci pour tes réponses. si je trouve la solution je le mettrais ici si la discussion n'est pas clôturé

Discussions similaires

  1. [VBA]Erreurs import Excel-> Access
    Par AndréPe dans le forum VBA Access
    Réponses: 4
    Dernier message: 22/04/2007, 11h28
  2. Import Excel Access Type date
    Par willytito dans le forum Access
    Réponses: 3
    Dernier message: 11/04/2007, 14h07
  3. Réponses: 6
    Dernier message: 13/07/2006, 12h33
  4. Importation Excel -> Access
    Par WDev10 dans le forum Access
    Réponses: 2
    Dernier message: 12/07/2006, 13h19
  5. Bug avec l'assistant d'importation: Excel--> Access
    Par Tatoine dans le forum Access
    Réponses: 4
    Dernier message: 30/06/2006, 10h07

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