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 :

requête entre deux dates


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 92
    Par défaut requête entre deux dates
    Bonjour,

    Je n'arrive pas à faire ma requête qui sélectionne toutes les opérations réalisées entre deux dates.

    J'ai pourtant tout essayé :

    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
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    S1 = S1 & " and Maintenance!Datem between " & CStr(Me.Cmb_date1.Value) - 1 & " and " & CStr(Me.Cmb_date2.Value) - 1
     
               S1 = S1 & " and Datem between " & Format(Me.Cmb_date1.Value, "dd/MM/yyyy") & " and " & Format(Me.Cmb_date2.Value, "dd/MM/yyyy")
     
                S1 = S1 & " and Datem='" & Format(Me.Cmb_date1.Value, "dd/MM/yyyy") & "'"
     
                S1 = S1 & " and Datem between '" & Me.Cmb_date1.Value & "' and '" & Me.Cmb_date2.Value & "'"
     
                S1 = S1 & " and Datem between '" & CStr(Me.Cmb_date1.Value) & "' and '" & CStr(Me.Cmb_date2.Value) & "'"
     
                S1 = S1 & " and Datem between '" & Format(Me.Cmb_date1.Value, "dd/MM/yyyy") & "' and '" & Format(Me.Cmb_date2.Value, "dd/MM/yyyy") & "'"
     
                S1 = S1 & " AND Datem>=#" & Format(Me.Cmb_date1.Value, "dd/MM/yyyy") & "# AND Datem<=#" & Format(Me.Cmb_date2.Value, "dd/MM/yyyy") & "#"
     
                S1 = S1 & " and Datem between " & Format(Me.Cmb_date1.Value, "mm/dd/yyyy") & " and " & Format(Me.Cmb_date2.Value, "mm/dd/yyyy")
     
                S1 = S1 & " and Datem between " & Format(Me.Cmb_date1.Value, "yyyy-mm-dd") & " and " & Format(Me.Cmb_date2.Value, "yyyy-mm-dd")
     
                S1 = S1 & " and Datem between " & Me.Cmb_date1.Value & " and " & Me.Cmb_date2.Value
     
                S1 = S1 & " and Datem between " & Me.Cmb_date1.Value & " and " & Me.Cmb_date2.Value
     
                S1 = S1 & " and Maintenance!Datem between " & CLng(Me.cmbdate1) & " and " & CLng(Me.cmbdate2)
    Avec une date ca fonctionne ... mais deux ca bug!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Par défaut
    Bonjour,
    Le format standart des champs date dépend du type de base de données.
    Le plus simple est d'utiliser la commande cast ou convert(voir dans l'aide)
    Pour sqlserveur(format date yyyymmdd code 112)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select *
    from table
    where convert(char(8),Champdate,112) between '20070701' and '20070731'
    Voir dans l'aide de la BDR pour le code format.
    Bon boulot Jean

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Par défaut
    Bonjour,
    Jpelli a raison, les dates en Access sont bornées par des #
    donc un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM TABLE WHERE DATE=#20070101#
    A+

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Au lieu d'essayer toutes sortes de constructions ésotériques, utilise des paramètres SQL (OleDbParameter pour Access, SqlParameter pour SqlServer, etc).
    Il y a un tutoriel ici
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    c'est vrai que ca sert à rien de refaire ce qui est deja fait
    les sqlparameters (ou autre dbparameters) sont deja codés pour éviter tout type de problème (comme les ' dans les string aussi)

    pauvre saumonagile, vous allez nous l'user à force de le faire répéter ca
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Par défaut
    Bonjour,
    J'ai lu le tutoriel et je vais modifier mes habitudes.
    Merci saumonagile
    Jean

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 92
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                S1 = S1 & " and " & convert(char(8),Datem,112) & " between '" & convert(char(8),cmb_date1.Value,112) & "' and '" & convert(char(8),cmb_date2.Value,112) & "'"
    'convert' est un type est ne peut pas etre utilisé en tant qu'expression ...

+ 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. [AC-2003] Probleme de requête entre deux date
    Par Walid(Tun) dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/09/2010, 13h01
  3. recherche entre deux dates dans une requête
    Par emmanuel4945 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/11/2006, 21h42
  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