+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut [Tutoriel] Opérateur In() et Zone de liste

    Bonjour,

    Dans ce tutoriel, vous apprendrez à utiliser l'opérateur SQL In() avec une zone de liste pour effectuer vos filtres à l'ouverture de formulaires/états.

    Vos commentaires sont les bienvenues.

    http://loufab.developpez.com/tutorie...s/operateur-in

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  2. #2
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 8 838
    Points : 34 704
    Points
    34 704
    Billets dans le blog
    9

    Par défaut

    bonjour loufab,

    c'est toujours un plaisir de découvrir tes tutoriels et également très utile pour les membres.

    ...Il évite de longs et complexes algorithmes de construction de clause WHERE...
    on peut l'employer également dans la clause HAVING:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT ...
    FROM...
    GROUP BY...
    HAVING Count(*) IN (1,3,9,15)

    Je vais essayer de trouver un exemple concret

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Tout à fait Where et Having n'ont comme différence que le type de requete (avec regroupement ou pas)
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Rédacteur/Modérateur
    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2004
    Messages
    5 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2004
    Messages : 5 467
    Points : 10 679
    Points
    10 679
    Billets dans le blog
    6

    Par défaut

    Excellente idée maintes fois évoquée sur le forum
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information en abondance et sur le forum une aide précieuse vous sera également fournie gracieusement.
    Pour éviter un monde ou prendre est plus facile qu'apprendre.


    Si vous souhaitez mettre en place une gestion de planning, une gestion de stock, de ventes/achats ou tout autre application Office je peux vous proposer mes services.
    Pour cela n'hésitez pas à me contacter par courriel ou mp.

    Mes tutoriels et contributions sur ma page personnelle.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    avril 2006
    Messages
    1 398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 1 398
    Points : 2 212
    Points
    2 212

    Par défaut

    bonjour,

    Dans le chapitre <Variante avec des dates>, il est nécessaire, je pense, que les dates soient converties au format m/d/yy avant de les placer dans la clause Where.

    Bon tut,

    a+

    philippe

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    En effet !
    J'ai intégré vos remarques. Merci à vous 2.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 8 838
    Points : 34 704
    Points
    34 704
    Billets dans le blog
    9

    Par défaut

    re moi,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Personne
    id	Nom	DateNaissance	DateDeces
    1	riri	05/09/1923	04/12/1968
    2	fifi	04/12/1968	23/02/2010
    3	loulou	15/03/1912
    Quelles sont les personnes dont la date de naissance ou la date de décès est 04/12/1968 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM Personne
    WHERE #12/4/1968# In (DateNaissance,DateDeces);
    Résultat : id=1 et id=2

    Bizarre comme utilisation du IN, hein ?

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Absolument ! ça mérite un ajout dans le tuto.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 895
    Points : 27 327
    Points
    27 327
    Billets dans le blog
    10

    Par défaut

    Salut.

    Ne peut-on pas convertir les dates en long pour éviter les méprises?

    Sinon, excellent tuto
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié l'intervention => Merci pour le
    ---------------

  10. #10
    Invité
    Invité(e)

    Par défaut

    Je pense qu'il faudrait aussi mettre un passage par rapport aux injection sql : les clause IN sont pas facilement convertible en requêtes paramétrées, du coup on fait souvent de la concaténation de chaine => risque d'injection SQL. (sur les exemples de l’article dans un environnement ou l'utilisateur peut modifier les valeur envoyées par le formulaire,web par ex, il est possible de faire une injection SQL)

  11. #11
    Membre éprouvé

    Inscrit en
    janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 969
    Points : 935
    Points
    935

    Par défaut

    Autre petit ajout nécessaire à mon avis : on ne peut pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    in (element1, element2, ..., Null), il faut faire in (element1, ...) or is null
    D'autre part, il n'est pas possible de mettre de comparaison LIKE : ne renverra pas toto1 ou titi2.

  12. #12
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 585
    Points : 21 462
    Points
    21 462

    Par défaut

    Beaucoup de remarques constructives.

    Je vais attendre que ça s'étoffe un peu, de manière à ne pas modifier tous les jours le tuto.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  13. #13
    Rédacteur/Modérateur

    Avatar de Philippe JOCHMANS
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    19 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mai 2005
    Messages : 19 658
    Points : 48 112
    Points
    48 112

    Par défaut

    Salut

    Excellent tuto, je cherchais un truc pour une zone avec sélection multiple.

    Ce que tu expliques dans ce tuto m'a évité de passer par une usine à gaz

    Philippe
    Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
    Vous pouvez consulter mes articles sur Access et PowerPoint et n'oubliez pas de consulter les FAQs MS Office

Discussions similaires

  1. Zone de liste modifiable
    Par SAUVEUR Serge dans le forum IHM
    Réponses: 3
    Dernier message: 19/09/2004, 18h58
  2. [VB6] largeur d'une zone de liste d'une combobox
    Par Nick13 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/08/2004, 13h30
  3. Réponses: 10
    Dernier message: 30/12/2002, 17h35
  4. [VB6] Zone de liste modifiable basée sur un champ
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/11/2002, 14h41

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