1. #1
    Invité régulier
    Inscrit en
    avril 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 36
    Points : 6
    Points
    6

    Par défaut Requete selon conditions

    salut,

    j'ai ma table Access liée à vb6 via ADO.
    j'ai dans cette table deux champs:
    [date_emprunt] et [date_retour]
    je veux afficher les enregistrements dont le champ [date_retour] dans la table est vide et la différence entre la date système et la valeur du champ [date_emprunt]>=15 jour

    j'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql="select * from emprunt where code='" & code.text & "' and date_retour="" and '" & datediff("d",date,date_emprunt)>=15 & "'
    Merci.

  2. #2
    Expert Confirmé


    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2006
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : avril 2006
    Messages : 933
    Points : 3 251
    Points
    3 251

    Par défaut

    Perso j'essaierai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql="select * from emprunt where code='" & code.text & "' and date_retour is null and date_emprunt = '" & datediff("d",date,date_emprunt)>=15 & "'
    Mais j'ai un gros doute sur l'emploi du datediff. Il existe des fonctions propres à chaque type de DB (Access, SqlServer, ....)

    Sur quelle type de DB travaillez vous ?

  3. #3
    Membre Expert
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    671
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : juin 2007
    Messages : 671
    Points : 1 552
    Points
    1 552

    Par défaut

    Bonjour,
    Avec le code d'abouilyas, en prenant par exemple code.text="ABC", on obtient la requête SQL suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from emprunt where code='ABC' and date_retour =" and '?'
    A la place du ?, je ne sais pas ce que VB peut donner car il ne connait probablement pas la variable date_emprunt.

    La bonne syntaxe dans Access serait (aujourd'hui)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from emprunt where code="ABC" and date_retour is null and date_emprunt <= #12/13/2012#
    ce qui s'obtient par le code VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql="select * from emprunt where code=""" & code.text & """ and date_retour is null and date_emprunt <= #" & DateAdd("d", -15, Date) & "#"

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