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

Reports Oracle Discussion :

[Reports6i] Grouper les enregistrements par lots


Sujet :

Reports Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 12
    Points
    12
    Par défaut [Reports6i] Grouper les enregistrements par lots
    Salut tlm
    Je dois récupérer tous mes enregistrements par paquets de 20.
    Comment faire?
    Je pense à un code du genre "select * from matable where numrow <=20" mais il faudrait itérer cette requête autant de fois que nécessaire pour récupérer tous les enregistrements de matable.
    Est-il possible de faire cela en sql seulement?

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 12
    Points
    12
    Par défaut C'est une colle
    En fait ce problème sql est une colle.
    Même les professionnels du langage SQL sous Oracle s'y casseront les dents .

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Problème trop souvent posé : en cherchant bien tu trouveras plusieurs réponses ici-même ; personne ne s'est jamais cassé les dents sur un problème de ce niveau là.

  4. #4
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Citation Envoyé par pjcejbpojo
    Je pense à un code du genre "select * from matable where numrow <=20" mais il faudrait itérer cette requête autant de fois que nécessaire pour récupérer tous les enregistrements de matable.
    Est-il possible de faire cela en sql seulement?
    Et si tu essayais ce que tu propose toi même comme solution avec un peu de PL/SQL?

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    En fait , il faudrait réaliser cette opération pour obtenir des reports sous forms 6i.
    Pour cela il faut construire sous forms reports 6i une requête sql sans pl/sql qui fasse le travail demandé.
    Il est à noter que l'on ne connait pas par avance le nombre des enregistrements à dispatcher en goupes de 20.
    Chaque groupe doit être mis dans une page différente lors de la génération des reports par forms 6i.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 12
    Points
    12
    Par défaut Reports 6i
    Je reformule le problème.
    Je suis sous reports 6i.
    Je veux afficher dans un reports les enregistrements de matable par lots de 20 : 20 enregistrements dans une page numérotés de 1 à 20, puis les 20 suivants dans une autre page numérotés aussi de 1 à 20 etc..
    Comment faire?

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Au fait est_il possible d'attribuer lors de l'execution du reports des valeurs aux champs du modèle de présentation?
    Soit un item texte sur le modèle de présentation du report, alors est ce que je peux lui attribuer des valeurs via pl/sql?

  8. #8
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Pour avoir tes numéros par groupe de 20, il faut utiliser ROWNUM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    SELECT ROWNUM,
      MOD( ROWNUM - 1, 20) + 1 AS nb,
      TRUNC( (ROWNUM-1) / 20) AS separation
    FROM TATABLE
    

  9. #9
    Membre actif Avatar de JerryMouse
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 215
    Points : 295
    Points
    295
    Par défaut
    Ton probleme est un probleme Reports et non SQL
    Fais ton etat normalement avec ta requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select .... From TaTable
    Au niveau de ta presentation, sur l'encadrement itératif, met la propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nombre maxi d'enregistrement par page
    à 20

    Pour la numerotation, tu créé une numérotation avec une rupture par page et c'est tout.
    Je repète, tout se fait coté Reports et non SQL.

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous,

    Euh , je m'excuse si je vais m'incruster dans votre discussion pour avoir votre aidepour mon problème !
    alors voilà, à partir de procédures stockées dans oracle 9, je dois récupérer les tuples résultats de l'execusion de ces procédures pour pouvoir faire du calcul distribué sur les lignes selectionnées, donc je ne sais pas trops comment faire enfait!
    MErci pour votre aide

    Crazy_sarroun!!

  11. #11
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Dites vous avez vu la date des posts ?
    Le dernier datait de Mai 2006

Discussions similaires

  1. Grouper les enregistrements d'un TClientDataSet ?
    Par gduo200 dans le forum Bases de données
    Réponses: 0
    Dernier message: 27/08/2007, 17h06
  2. Afficher les enregistrements par rapport à un caractère saisi
    Par issam47 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 05/06/2007, 16h16
  3. grouper les enregistrements
    Par crovette51101 dans le forum Access
    Réponses: 11
    Dernier message: 19/12/2006, 14h35
  4. Réponses: 3
    Dernier message: 17/10/2006, 09h16
  5. Grouper mes enregistrements par 100
    Par francois_pignon dans le forum ASP
    Réponses: 1
    Dernier message: 04/06/2006, 14h40

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