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 :

Probleme de requête entre deux date [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 50
    Points
    50
    Par défaut Probleme de requête entre deux date
    Bonjour aide moi svp j'ai essayer cette requête sous vb.net mais ca ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
     w1 = "SELECT *   FROM display WHERE date1 Between '01-01-2010' And '07-09-2010'"
    
    
     Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath
            Dim myConnection As OleDbConnection = New OleDbConnection
            myConnection.ConnectionString = connString
            ' create a data adapter
            Dim da As OleDbDataAdapter = New OleDbDataAdapter(w1, myConnection)
    
            Dim ds As DataSet = New DataSet
            ' fill dataset
            da.Fill(ds, "display")
    
    
            DataGridView1.DataSource = ds.Tables(0)

    il me dit :
    Type de données incompatible dans l'expression du critère
    .

    mais j'ai cree date1 sous form :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    
            ocM1.CommandText = "create table Display(" & _
                   "code text(25)NOT NULL PRIMARY KEY," & _
                   "txt1 text(25)," & _
                   "txt2  text(25)," & _
                   "txt3  text(25)," & _
                   "txt4  text(20)," & _
                   "number6 decimal(20,3)," & _
                   "number7 decimal(20,3)," & _
                   "date1  date," & _
                   "date2  date" & _
                                  ")"
    
    
            ocM1.ExecuteNonQuery()

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '01-01-2010' And '07-09-2010'
    Ne sont pas des dates, les dates sont encadrée par des "#" avec le "/" en séparateur. Attention en jet, les dates sont traitées au format anglais "mm/dd/yyyy"

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 50
    Points
    50
    Par défaut
    tu a raison , j'ai corrigé ca
    j'ai découvert le source de mon problème c'est access

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
       ocn3.Open()
     
     
                ocM3.Connection = ocn3
     
                ocM3.CommandText = "Update Display set date1=TO_DATE('01/09/2009', 'DD/MM/YYYY')" & _
    " WHERE code like'" & r1 & "'"
     
                ocM3.ExecuteNonQuery()
     
                ocn3.Close()

    il me dit : Fonction 'TO_DATE' non définie dans l'expression.

    quelqu'un peut m'aider merci d'avance

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Bonjour,

    C'est plus fort que moi, mais ton problème ce n'est pas Access, c'est que tu demande à un moteur de base de données d'exécuter une fonction qui n'est pas impémentée.

    http://sql.developpez.com/sqlaz/fonctions/#L1.7 pour trouver les fonctions qui vont avec ton SGBD.


    Le cast de type date pour Acces c'est cdate(taDate), tu peux aussi utiliser Dateserial(annee, mois, jour) ou combiner un format() avec des "##"

  5. #5
    jojo5650
    Invité(e)
    Par défaut ca marche avec l'ODBC
    test ceci moi je me connecte sur un serverSQL mais via un lien ODBC cela fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Const cFDate = "mm/dd/yyyy hh:mm:ss"
     
    cSQL= " UPDATE [NOM DE LA TABLE] SET [NOM DE LA TABLE].[dDAte] = #" & Format([Une  daate], cFDate) & "#  WHERE ";"
    fait tourner cet sql dans ton appli et teste

    PS: il faut être sûr que tu injectes une date donc les formats aaaa jj en français ne marche pas toujours c'est peut être aussi cela la cause.

    jojo5650

    Citation Envoyé par Oleff Voir le message
    Bonjour,

    C'est plus fort que moi, mais ton problème ce n'est pas Access, c'est que tu demande à un moteur de base de données d'exécuter une fonction qui n'est pas impémentée.

    http://sql.developpez.com/sqlaz/fonctions/#L1.7 pour trouver les fonctions qui vont avec ton SGBD.


    Le cast de type date pour Acces c'est cdate(taDate), tu peux aussi utiliser Dateserial(annee, mois, jour) ou combiner un format() avec des "##"
    Dernière modification par jojo5650 ; 16/09/2010 à 21h11.

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 50
    Points
    50
    Par défaut
    ca marché
    Format au lieu de TO_DATE

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

Discussions similaires

  1. Impossible filtrer requête entre deux dates
    Par alfhcg dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 03/01/2012, 17h02
  2. probleme de syntaxe entre deux date
    Par youba11 dans le forum VB.NET
    Réponses: 4
    Dernier message: 26/06/2008, 16h28
  3. requête entre deux dates
    Par yeahyeah dans le forum VB.NET
    Réponses: 25
    Dernier message: 11/09/2007, 10h14
  4. Requête pour calculer le temps entre deux dates
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 13h50
  5. Requête entre deux dates
    Par jedwiller dans le forum Access
    Réponses: 13
    Dernier message: 17/05/2006, 11h33

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