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

VB.NET Discussion :

Importer une date dans une base access


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut Importer une date dans une base access
    Bonjour à tous,

    J'essaie d'importer un fichier texte dans une base access.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Using reader As New Microsoft.VisualBasic.FileIO.TextFieldParser(filePath, System.Text.Encoding.Default)
    pour parser le fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & baseAccess & ";Persist Security Info=False;")
    ...
    requete = "INSERT INTO Etats (Compteur, [DateHeure]) VALUES ('" & Val(Compteur) & "', '" & DateHeure & "')"
     myCommand = New OleDbCommand(requete, Connection)
     retvalue = myCommand.ExecuteNonQuery()
    ...
     
    Dans la base champ DateHeure est au format Date/Heure
    pour la partie bdd


    Mais la date qui est au format 04/07/2013 17:25:25:053 pose problème.

    J'ai une OleDbException "Type de données incompatible dans l'expression du critère."


    Si je vire les millièmes de secondes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateHeure = Microsoft.VisualBasic.Left(DateHeure, 19)
    les dates sont bien importées dans Access


    J'ai essayé avec le format 04/07/2013 17:25:25.053, c'est pas mieux.


    Ma question est donc comment importer les millièmes dans Access ?

    Bruno.

  2. #2
    Membre actif
    Homme Profil pro
    Chargé de commercialisation
    Inscrit en
    Août 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de commercialisation
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2013
    Messages : 46
    Par défaut
    Bonjour,

    Faire deux champs un pour l'heure l'autre pour la date

    il te suffit ensuite de créer un bout de code qui te restitue au bon format quand tu veux consulter ou faire des requêtes

    tuto ici
    http://access.developpez.com/faq/?pa...es#paramRegion

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Ce qu'il faut surtout faire, c'est utiliser les requêtes paramétrées. Il n'y a que des avantages à les utiliser, même si ça demande quelques lignes de code de plus :
    - Sécurité (injection SQL)
    - Formats gérés nativement (dates, nombres décimaux...)
    - Rapidité d'exécution
    - etc.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    Ce qu'il faut surtout faire, c'est utiliser les requêtes paramétrées. Il n'y a que des avantages à les utiliser, même si ça demande quelques lignes de code de plus :
    Je vais regarder ça de près.
    Mais ça ne résoud pas mon pb.

  5. #5
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par Bruno21 Voir le message
    Je vais regarder ça de près.
    Mais ça ne résoud pas mon pb.
    Comment peux-tu affirmer que ça ne résoud pas ton problème sans avoir essayer de mettre en oeuvre sa solution

  6. #6
    Membre actif
    Homme Profil pro
    Chargé de commercialisation
    Inscrit en
    Août 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de commercialisation
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2013
    Messages : 46
    Par défaut
    bonsoir callo,

    je ne connais pas access donc il est possible ( même certain) que mon conseil ne soit pas le meilleur. Je privilégie d'autre SGBDR en fait car je trouve qu'access est trop limité et puis cette histoire de fichier unique .... bref des idées reçues sans doute mais si j'avais un conseil à donner pour tout ceux qui utilisent access se serait de passer sous du sqlserver ou du mysql

    bref pas le sujet du post.

    En tout cas bruno tiens nous au courant

    (PS les requetes paramétrées peuvent t'aider à résoudre ton problème sisi !!

    @callo si je ne m'abuse c'est un peu comme les procédures stockées non ?

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 23
    Par défaut
    Citation Envoyé par manuly Voir le message
    Bonjour,
    ou si tu ne veux pas y aller, en résumé ce post conseil de faire deux champs un pour l'heure l'autre pour la date

    il te suffit ensuite de créer un bout de code qui te restitue au bon format quand tu veux consulter ou faire des requêtes
    Merci, c'est ce que je vais faire.

    J'avais pensé aussi faire un "timestamp decimal", mais j'ai lu que ce n'était pas conseillé.

Discussions similaires

  1. [MySQL] insérer une date dans une table dans un format compréhensible
    Par laurentSc dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 16/08/2014, 11h10
  2. insérer une date dans une table dans un format compréhensible
    Par laurentSc dans le forum Langage SQL
    Réponses: 5
    Dernier message: 08/08/2014, 16h31
  3. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Inserer une date d'une table dans une autre table
    Par petitetre dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/04/2007, 20h16

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