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 :

Jeux des dates


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 144
    Par défaut Jeux des dates
    Bonjour,

    Voici mon dernier soucis :

    Je dispose d'un planning dont les dates de 5 jours de la semaine sont enregistrés dans les champs d'un formulaire.

    Un test permet de vérifier pour chaque semaine si un rendez-vous est pris. Ces rendez-vous peuvent être d'une journée ou alors de plusieurs journée d'où le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TST = "Select HP, Société, Contact, Type_2, Type_1 From " & SourceTable & " WHERE Validation LIKE '" & 1 & "' And Fix(JH_1) = '" & Lundi.Value & "' And Fix(JH_2) = '" & Lundi.Value & "' And Heure_Début <= '908' And Heure_Fin >= '908' 
     
    OR (Validation LIKE '" & 1 & "' And Fix(JH_1) = '" & Lundi.Value & "' And Fix(JH_2) <> '" & Lundi.Value & "'And Heure_Début <= '908')
     
    OR (Validation LIKE '" & 1 & "' And Fix(JH_1) <> '" & Lundi.Value & "' And Fix(JH_2) = '" & Lundi.Value & "'And Heure_Fin >= '908') 
     
    OR (Validation LIKE '" & 1 & "' And Fix(JH_1) < '" & Lundi.Value & "' And Fix(JH_2) > '" & Lundi.Value & "');"
    Set rec = CurrentDb.OpenRecordset(TST)
    Ainsi le problème se localise au niveau du dernier test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And Fix(JH_1) < '" & Lundi.Value & "' And Fix(JH_2) > '" & Lundi.Value & "'
    Ainsi si les dates sont les suivantes :

    JH_1 : 15/02/2010
    JH_2 : 18/02/2010

    Alors suivant ce dernier test les jours suivants sont retenues :

    - 16/02/2010, 17/02/2010

    Mais aussi pour les dates suivantes :

    - 16/01/2010, 17/01/2010
    - 16/03/2010, 17/03/2010
    - 16/04/2010, 17/04/2010
    - 16/05/2010, 17/05/2010
    ....

    Pour vous aidez à la réflexion les dates des jours de la semaine sont inscrits sous la syntaxe suivante :

    si Now est un dimanche
    alors Lundi.value = Fix(Now) + 1

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 683
    Par défaut
    Salut,

    tes champs JH_1 et JH_2 sont-ils des dates ou bien du texte ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 144
    Par défaut
    Il s'agit bien évidemment de dates au format : Date, abrégé

    Aussi pour uniquement ce test suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fix(JH_1) < '" & Lundi.Value & "'
    et un enregistrement suivant :

    JH_1 : 24/11/2010

    Les jours 25,26,27,28,29,30 et 31 de tous les mois sont retenus !!!

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 683
    Par défaut
    ok, et utiliser la clause between a la place ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And Fix(JH_1) < '" & Lundi.Value & "' And Fix(JH_2) > '" & Lundi.Value & "'
    devenant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and '" & Lundi.Value & "' BETWEEN Fix(JH_1) And Fix(JH_2)
    en sachant que l'utilisation de quote avec la fonction Fix me parait moyennement judicieux.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 144
    Par défaut
    Non mêmes symptômes

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 683
    Par défaut
    Ok,

    peux tu dans ce cas la, virer la partie Fix de ta requete, elle n'a de mon point de vue aucune plus value a etre utilisee pour ce critere.

    Remplace aussi les quotes par une syntaxe de date standard #MM/DD/YYYY#
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. Saisie des dates
    Par J-P-B dans le forum XMLRAD
    Réponses: 5
    Dernier message: 04/07/2003, 12h08
  2. Manipuler des dates...
    Par Ti Jen-tsie dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2003, 12h46
  3. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 14h01
  4. Réponses: 3
    Dernier message: 19/03/2003, 16h19
  5. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 23h43

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