Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/06/2007, 16h22   #1
Nouveau Membre du Club
 
Inscription : septembre 2004
Messages : 84
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 84
Points : 39
Points : 39
Par défaut [FORMS - DESIGNER] programmer le querry

Bonjour.

J'ai un bloc (AW_SWC)créé en Designer qui est basé sur une vue (S715_IIC_SCO_PSW_VW ).
Ce bloc doit afficher 3 champs qui sont :
- iic_location
- iop_exec_date
- swc_code

Je dois cependant effectuer un traitement spécial qui correspond à ce query :
Code :
1
2
3
4
5
6
 
SELECT iic_location, max(iop_exec_dt) exec_date, swc_code
FROM S715_IIC_SCO_PSW_VW 
GROUP BY iic_LOCATION,  SWC_CODE 
HAVING mod(count(swc_code),2) > 0 
ORDER BY exec_date
--> Ce code fonctionne et c'est exactement ce dont j'ai besoin

Je pensais mettre dans ma librairie attachée
le code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
go_block ('AW_SWC');
clear_block();
 
query := '( select iic_location,  max(iop_exec_dt) iop_exec_date , swc_code, swc_id, iic_id, iop_id' ||
'from S715_IIC_SCO_PSW_VW ' ||
' group by iic_LOCATION,  SWC_CODE '||
' having mod(count(swc_code),2) > 0 '||
' order by iop_exec_date )' ;
 
set_block_property('AW_SWC', QUERY_DATA_SOURCE_NAME, query);    execute_query ();
Seulement cela ne fonctionne pas.
Quand j'exécute le module, j'obtiens un message :
Unable to perform querry

Je récupère le dernier querry qui donne ce résultat :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
SELECT S715_IIC_SCO_PSW_VW.IIC_LOCATION,
S715_IIC_SCO_PSW_VW.IOP_EXEC_DT,
S715_IIC_SCO_PSW_VW.SWC_CODE,
S715_IIC_SCO_PSW_VW.SWC_ID,
S715_IIC_SCO_PSW_VW.IIC_ID,
S715_IIC_SCO_PSW_VW.IOP_ID 
FROM 
( 
SELECT iic_location,  
max(iop_exec_dt) iop_exec_date , 
swc_code, swc_id, 
iic_id, iop_id	
FROM S715_IIC_SCO_PSW_VW  
GROUP BY iic_LOCATION,  SWC_CODE  
HAVING mod(count(swc_code),2) > 0  
ORDER BY iop_exec_date 
) S715_IIC_SCO_PSW_VW
Le problème est que ca ne fonctionne pas et que le querry regénéré n'est pas comme le querry que j'ai créé.

Je pense que je me plante quelque part ...

Quelqu'un pourrait éclairer ma lanterne?

Merci beaucoup
Gouzoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h30   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Il faut que ton block ait les propriétés suivantes :
- Query data source type : From clause
- Query data source name : ta requete

Ensuite tu créés 3 items basés (et seulement 3)
- iic_location
- iop_exec_date
- swc_code

Et normalement le tour est joué
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h48   #3
Nouveau Membre du Club
 
Inscription : septembre 2004
Messages : 84
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 84
Points : 39
Points : 39
j'avoue ne pas trop comprendre

Citation:
Query data source type : From clause
c'est quoi la propriété? (enfin le code)
Gouzoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h51   #4
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Ce n'est pas du code mais une propriété du bloc.
En général on stipule que le bloc est fondé sur une table, là, plaineR de suggère de t'appuyer sur une clause FROM.
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h19.


 
 
 
 
Partenaires

Hébergement Web