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

Access Discussion :

[ACCESS][VB.Net] Probleme de select avec une date en entrée


Sujet :

Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut [ACCESS][VB.Net] Probleme de select avec une date en entrée
    bonsoir à tous,

    je travaille sur visual studio 2005 avec le langage VB
    j'ai une base de données Access

    Je suis en train de concevoir un petit logiciel qui va permettre de faire des suivie de dossier etc. Et j'ai un petit soucis qui me bloque et j'en m'arrache les cheveux !
    Voilà je m'explique, j'ai une table MaTable et une autre MonClient.

    je fais une insertion de mon client avec ses données personnelles, après j'insert les informations de MaTable qui representera le rendez-vous avec ses motif etc.

    Mon gros soucis est quand j'insert les données dans MaTables, derriere je fais un select de MaTable pour récuperer l'id de MaTable que je viens de creer dont j'aurais besoin pour différent traitement.
    voici mon code:

    dim DateDuJour as DateTime = Date.Now()
    dim sql as string = "INSERT INTO MonClient (nom, prenom, datedujour) Values ('Dupon','Jean','"& DateDuJour &"')"
    dim cmd1 as oledbCommand = new oledbCommand(sql, MaChaineDeConnection)
    cmd1.ExecuteNonQuery()
    ************* voila ca c l'insertion de mon client
    ************* j'insert MaTable
    dim sql2 as string = "INSERT INTO MaTable (motif,DateDuJour,...) VALUES ('Motif','"& DateDuJour &"')"
    dim cmd2 as oledbCommand = new oledbCommand(sql2, MaChaineDeConnection)
    cmd2.ExecuteNonQuery()
    ************* voila MaTable insérée
    ************* Je récupère mon dernier enregistrement avec la date du jour et son heure.
    dim sql3 as string = "SELECT * FROM MaTable where DateDuJour=#" & DateDuJour & "#"
    dim reader as oledbdatareader
    dim cmd3 as oledbCommand = new oledbCommand(sql3, MaChaineDeConnection)
    reader = cmd3.executereader()
    while reader.read()
    **************** ici traitement d'affichage des données récupérées
    end while

    lorsque je fais mon select sur MaTable arrivé au "while" il le zap completement et saute tout le traitement à cause de la date.
    il fais exactement comme si il ne l'avait pas trouvé alors qu'au contraire MaTable a bien été enregistré et la date est bien dans la base, alors pourquoi il n'arrive pas a trouver la ligne de mon enregistrement contenant cette date ??? ca devrais marcher logiquement avec le code que je vous ai présenté.

    voila je remercie l'aide d'avance

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir,

    Dans les instruction INSERT INTO, la DateDuJour est traitée comme du texte.

    pgz

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut
    oui je sais mais le probleme ne viens pas de l'instruction insert mais du select que je fais apres l'instruction insert pour recupérer mon dernier enregistrement.

    je recherche ce dernier enregistrement par la date du jour que j'ai mis dans une variable pour etre sur d'avoir celle que j'avais lors de l'insertion.

    quand je fais mon select je met la date entre #, le prob est que il me retourne rien kan je fais ma recherche avec un date.

  4. #4
    Invité
    Invité(e)
    Par défaut


    Je pense qu'il s'agit de date au format Américain = mm/dd/yyyy - Francais = jj/mm/aaaa

    Dans ton select il faut mettre "DateDuJour" au format américain !

    Dans Access en VBA on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(DateDuJour;"mm/dd/yyyy")
    Voilà

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut
    A mon insertion de MaTable la date est mise en format français, ça gueule pas, si je fais une recherche par date avec un format americain il risque de gueuler aussi?

    dans ma table j'ai une date 01/08/2006 12:00:45

    je fais mon select en mettant bien ma date entre # --> #01/08/2006 12:00:45# .

    sinon changer la propriété de ma date en texte dans access resoudrait certainement mon probleme ?

Discussions similaires

  1. [Débutant] vb.net enregistrer un xlsx avec une date
    Par begginer dans le forum VB.NET
    Réponses: 0
    Dernier message: 14/01/2012, 07h25
  2. Probleme de sync avec une BDD Access
    Par Hamza dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/11/2011, 07h29
  3. probleme de modelisation avec une date
    Par hi-wave dans le forum Merise
    Réponses: 8
    Dernier message: 30/06/2010, 20h55
  4. probleme de selection avec access
    Par mike600river dans le forum C++Builder
    Réponses: 13
    Dernier message: 24/05/2006, 11h17
  5. [VB.NET] Alimenter un dataset avec une chaine XML...
    Par David.V dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/05/2004, 10h09

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