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 :

Comment rechercher une valeur dans une table qui contient des paliers


Sujet :

Access

  1. #1
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut Comment rechercher une valeur dans une table qui contient des paliers
    Bonjour,

    Je vous propose un petit tutoriel qui s'adresse aux débutants.
    Il s'agit de rechercher dans une table, une valeur qui ne s'y trouve pas nécessairement et de choisir selon les circonstances : la valeur immédiatement supérieure (ou éventuellement égale) ou la valeur immédiatement inférieure.
    Par exemple :



    Access offre plusieurs voies pour atteindre ce but.
    Dans ce tutoriel, nous utiliserons uniquement des fonctions intégrées sans recourir à du code VBA.
    Nous aborderons l'utilisation des fonctions intégrées au moyen de quelques exemples pour illustrer la recherche d'une date, d'une heure, d'un texte ou d'une valeur numérique dans une table.
    Si vous souhaitez donner votre avis sur ce tutoriel, profitez de cette discussion.
    Merci déjà.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    Claude,

    très bien illustré, mais surtout très pédagogique

  3. #3
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Claude et Fabien,

    Content de te "revoir", Claude (Fabien aussi, bien entendu ).

    Bravo pour ce tuto à la portée des non-VBA-istes.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Richard et Fabien,

    Content de vous saluer.

    Moins souvent ici que là-bas.

    Si le cœur vous en dit, il y a du boulot !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut Claude

    Excellent, avec de nombreux exemples d'utilisation des fonctions de domaines

    Philippe

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour Philippe,

    Les tutoriels, c'est toi qui m'a donné l'envie d'en rédiger... et pour les fonctions de domaine, le tien fait référence.

    Bien à toi.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Bonjour Claude,

    Moi qui ai toujours de la peine avec ces fonctions intégrées, je n'ai désormais plus beaucoup d'excuses.

    Les exemples sont très bien choisis et surtout fort bien expliqués.

    Bravo

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    re moi,

    je n'ai pas résisté il fallait que je tente avec une requête, une requête à construire avec les assistants, pour obtenir ce tableau:


    Je m'étais dit qu'il ne reste plus qu'à chercher avec RechDom le taux dont la date saisie est située entre DateDebut et Datefin et le tour est joué (finger in ze nose).

    La requête s'écrit:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT TauxBCE.DateChangement AS DateDebut,
           TauxBCE.Taux,
           Nz(Min([TauxBCE_1].[DateChangement]) - 1, #12/31/2999#) AS DateFin
    FROM   TauxBCE
           LEFT JOIN TauxBCE AS TauxBCE_1
                  ON TauxBCE_1.DateChangement > TauxBCE.DateChangement
    GROUP  BY TauxBCE.DateChangement,
              TauxBCE.Taux;

    Seulement à cause de l'inégalité dans la jointure, la requête n'est pas interprétable dans le QBE d'Access

    Bien essayé Fabien
    Images attachées Images attachées  

  9. #9
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Salut Fabien,

    finger in ze nose
    Tiens les Anglais n’y mettent qu’un doigt ! (À vérifier.)

    Peut-être que tu n’arrives pas à la fin, mais nom d’une pipe quelle performance dans la première partie !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  10. #10
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour,


    L’effort réalisé par Fabien montre que la construction du tableau R_tauxBCE n’est pas un exercice trivial ; combien de développeurs ont-ils dû transpirer dans l’exercice fastidieux consistant à simuler des intervalles de dates ? (Un peu comme du temps des premières versions des SGBD/R, quand on ne disposait pas du type DATE et qu'on simulait tant bien que mal ce type et ses fonctions...)

    L’utilisation des périodes (et plus généralement des intervalles de toutes natures) n’est quand même pas rare.

    Est-ce que MS Access (que je ne connais pas très bien) propose un quelconque type INTERVALLE ? Dans la négative, permet-il aux laborieux utilisateurs que nous sommes de définir récursivement leurs propres types (avec les opérateurs qui vont bien) ? Par exemple avec MS SQL Server, c’est niet !

    Si cela était possible, en SQL natif, on pourrait coder :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE R_tauxBCE
    (
            Periode    INTERVAL_DATE    NOT NULL
          , Taux       DECIMAL(5,3)     NOT NULL
        , PRIMARY KEY (Periode)
    ) ;
    Où Periode est du type INTERVAL_DATE (type d’intervalle dont j’ai touché un mot ici).

    Connaître le taux au 1er avril 2010 devient évidemment quelque chose de simple, but manifestement recherché par Fabien :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Taux
    FROM   R_tauxBCE
    WHERE  '2010-04-01' BETWEEN BEGIN(Periode) AND END(Periode) ;


    Tiens les Anglais n’y mettent qu’un doigt !
    Vu l'utilisation de la lettre "z", ne s'agirait-il pas plutôt des Américains, friands de cette lettre ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  11. #11
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour fsmrel,

    Merci pour votre intervention.

    Est-ce que MS Access (que je ne connais pas très bien) propose un quelconque type INTERVALLE ? Dans la négative, permet-il aux laborieux utilisateurs que nous sommes de définir récursivement leurs propres types (avec les opérateurs qui vont bien) ? Par exemple avec MS SQL Server, c’est niet !
    Mes connaissances en la matière sont limitées : je ne peux vous répondre.

    J'espère qu'un lecteur plus compétent réagira à la suite de votre billet.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  12. #12
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Pas grave, Claude, ça sera peut-être bon pour nos arrière-petits-enfants ?

    En tout cas, pour tout ce que vous faites.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  13. #13
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    Bonjour Claude, fsmrel

    Citation Envoyé par fsmrel Voir le message
    Est-ce que MS Access (que je ne connais pas très bien) propose un quelconque type INTERVALLE ?
    Nib !

    Citation Envoyé par fsmrel Voir le message
    ...permet-il aux laborieux utilisateurs que nous sommes de définir récursivement leurs propres types (avec les opérateurs qui vont bien) ?
    Que dalle, peau d'zobe !!

    les utilisateurs continueront de souffrir avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("Taux";"R_tauxBCE";"#" & Format([zdtDate];"mm/jj/aaaa") & "# between CDate([DateDebut]) AND CDate([DateFin])")
    ... et je n'ai pas prévu le cas où zdtDate est hors-plage, arghhh...

    Tiens les Anglais n’y mettent qu’un doigt !
    l'autre doigt ne quitte pas sa main qui reste posée sur le clavier

  14. #14
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir Achille et Papi Claude,


    Citation Envoyé par f-leb Voir le message
    Nib !
    ...
    Que dalle, peau d'zobe !!
    Dont acte. Pourtant, le concept de domaine a été formellement défini par Ted Codd dans son article de 1971 A Data Base Sublanguage Founded on the Relational Calculus, époque à laquelle SQL Server n’était pas né (ses parents non plus du reste). Cela dit et incidemment, me trompé-je ? Ci-dessous, avec ses boucles blondes, n’est-ce pas le petit chéri de papa et maman Talon en cette année si faste pour pour le Modèle Relationnel de Données ?

    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  15. #15
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut


    yé nez pas changééé
    touiours lé même SGBéDéééé

    mé toua non plou, tou n'a pas changéééé
    ...

    refrain:...


  16. #16
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    OK, ce sont les vacances !!!
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  17. #17
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour Claude,


    On peut dire ça comme ça, mais en même temps, le citoyen ci-dessous et néanmoins mon ami, n'est-il pas en train de modéliser le château de ses rêves ? (rude tâche...)


    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 8
    Dernier message: 28/11/2011, 11h40
  3. comment inserer la valeur d'une variable dans une table sql
    Par casaoui dans le forum Langage SQL
    Réponses: 7
    Dernier message: 25/01/2008, 15h06
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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