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

Requêtes et SQL. Discussion :

sélection de certains enregistrements dans une requete


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut sélection de certains enregistrements dans une requete
    Bonsoir,

    je souhaite réaliser un état de type "trombinoscope", avec identité (sous la forme nom prénom), ville et photo.
    Pour cela j'ai créé à partir d'une table assez dense en terme de données une requête contenant les champs désirés. j'ai ensuite créé un état à partir de cette requête que j'ai intégré dans un état principal. J'ai fait la manip 4 fois afin de disposer de 4 photos sur la largeur de la page.
    La difficulté est de sélectionner dans la 1ere requête (donc le 1er sous état), un enregistrement sur 4 à partir du 1er, puis pour la deuxième requête un enregistrement sur 4 à partir du deuxième etc...
    j'avais envisagé d'intégrer dans mes 4 requêtes un champ avec un numéro d'ordre (différent de celui de la clé primaire car des enregistrements peuvent être supprimés au fur et à mesure), puis de trouver le critère qui va bien pour prendre 1 enregistrement sur 4 en commençant du 1er, 2eme, 3eme ou 4eme selon la requête.
    Mon souci c'est que je bloque au niveau du n° d'ordre automatique. J'ai vu plusieurs exemple de requêtes SQL avec DCOUNT sur des forums, mais ne maîtrisant pas le SQL, ça n'a pas fonctionné.
    Si vous avez une piste...

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    As-tu regardé la possibilité de faire des colonnes dans un état.
    À mon avis en faisant un état à 2 colonnes, tu devrais obtenir ton affichage à 4 par page et avec une seule requêtes et un seul état.

    Pour le numéro d'ordre, oui il faut utiliser DCount()

    Un champ calculé avec un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dcount("ClefTri"; "NomTaSource"; "[ClefTri]<=" & [ClefTri])
    Où ClefTri est un champ qui te permet d'ordonner tes personnes.
    Cela va compter tous les enregistrements qui précèdent, selon la clef, celui en court + lui-même.

    Si tu n'as pas clef unique de tri tu peux combiner les critères, l'important étant que tu ais un moyen de distinguer chaque personne dans l'ordre de tri voulu.

    Un exemple pourrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dcount("Clef"; "NomTaSource; "[Nom] & [Penom] & [Clef]<=""" & [Nom] & [Prenom] & [Clef] & """")
    Pour ce dernier exemple, je ne l'ai pas testé mais cela devrait marcher.

    Si Access te fait des misères pour faire le [Nom] & [Penom] & [Clef] du début tu peux facilement créer un champ calculé [ClefTri] dans une requête et te servir de ce champ comme critère.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Bonjour.

    As-tu regardé la possibilité de faire des colonnes dans un état.
    À mon avis en faisant un état à 2 colonnes, tu devrais obtenir ton affichage à 4 par page et avec une seule requêtes et un seul état.
    Salut, euh, je vais approfondir la chose, mais je ne crois pas que les développeurs d'Access aient prévu la possibilité. Si oui, ça facilite grandement mon problème

    Citation Envoyé par marot_r Voir le message
    Pour le numéro d'ordre, oui il faut utiliser DCount()

    Un champ calculé avec un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dcount("ClefTri"; "NomTaSource"; "[ClefTri]<=" & [ClefTri])
    Où ClefTri est un champ qui te permet d'ordonner tes personnes.
    Cela va compter tous les enregistrements qui précèdent, selon la clef, celui en court + lui-même.
    oui, c'est le code que j'ai trouvé sur le net mais je n'ai pas encore réussi à le faire fonctionner. Faut que je creuse encore


    Citation Envoyé par marot_r Voir le message
    Si tu n'as pas clef unique de tri tu peux combiner les critères, l'important étant que tu ais un moyen de distinguer chaque personne dans l'ordre de tri voulu.

    Un exemple pourrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dcount("Clef"; "NomTaSource; "[Nom] & [Penom] & [Clef]<=""" & [Nom] & [Prenom] & [Clef] & """")
    Pour ce dernier exemple, je ne l'ai pas testé mais cela devrait marcher.

    Si Access te fait des misères pour faire le [Nom] & [Penom] & [Clef] du début tu peux facilement créer un champ calculé [ClefTri] dans une requête et te servir de ce champ comme critère.
    Je vais tester les deux solutions.

    Merci de ta réponse

    Citation Envoyé par marot_r Voir le message
    A+
    A+

Discussions similaires

  1. compter enregistrement dans une requete sql avec UNION
    Par dbzzzde dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/10/2007, 10h43
  2. [VB6] Sélectionner certains enregistrements dans une table
    Par li_causi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/05/2006, 14h28
  3. Repetition d'enregistrements dans une requete
    Par el_quincho dans le forum Access
    Réponses: 1
    Dernier message: 24/04/2006, 16h37
  4. Recherche d'enregistrement dans une requête
    Par charleshbo dans le forum Access
    Réponses: 5
    Dernier message: 20/04/2006, 15h29
  5. [MySQL] Savoir quel place a un enregistrement dans une requete
    Par Invité dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/02/2006, 08h10

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