bonsoir
en fait j'arrive pas à comprendre les deux fonctions set_block_property et execute_query? à quoi servent ces fonctions?et la signification de leurs champs?
merci
Version imprimable
bonsoir
en fait j'arrive pas à comprendre les deux fonctions set_block_property et execute_query? à quoi servent ces fonctions?et la signification de leurs champs?
merci
bonjour
je vais etre plus précise,je travail avec oracle forms,je veux un exemple avec la commande set_block_property avec le default_where,dans le cas ou la clause est un peu complexe
merci pour tout aide
:o
Set Block_Property sert à .... modifier les propriétés d'un bloc !Code:Set_Block_Property( 'nom_bloc', DEFAULT_WHERE, 'EMPNO > 1000' ) ;
Execute_query sert à interroger (populer) le bloc courant.
Ctrl+H dans Forms Builder donne accès à la doc en ligne.
bonjour
la requete est plus complexe,elle contient des to_date et between
merci pour tout aide :o
Aide sur quoi ?
la clause where doit être consituée dans une chaine de caractères. C'est cette chaine qui est transmise à la fonction Set_Block_Property().
oui mais je sai pa comment faire? :cry:
Envoyez donc le code SQL de votre clause Where.
oui voici le code:
--B1 et B2 sont des blocs de données et T1 et T2 sont des textfield pourCode:
1
2
3
4
5
6 DECLARE clause varchar2(100); BEGIN clause:=' #table.colone BETWEEN ' || TO_CHAR(:B1.T1) ' AND' || TO _CHAR(:B1.T2); set_block_property('B2',DEFAULT_WHERE,clause); end;
--saisie
:o
1. Merci de penser aux balises code :wink:
2.ne veut rien direCitation:
# BETWEEN ...
Précisez un nom de colonne.
3. Pourquoi faites vous des to_char ? Quel est le format de vos textfields ?
4. Voici un exemple de clause where dynamique :
Code:
1
2
3
4
5
6
7 DECLARE clause varchar2(100); BEGIN clause := 'macoldate BETWEEN :B1.T1 AND :B1.T2'; set_block_property('B2',DEFAULT_WHERE,clause); -- :B1.T1 et :B1.T2 sont des textfield de type dates END;
merci;mais ça fonctionne pas.memes si les textfields sont de type date il efaut utiliser to_date et to_char 8O :cry: 8O :cry: 8O :cry: 8O :cry:
Qu'entends-tu par ce ne fonctionne pas ? Y a une erreur ? Si oui la quelle (à moins qu'il faille qu'on la devine) ?
Ajoutez le code suivant dans le trigger PRE-FORM de vos formes. Comme cela, vous n'aurez plus de problème de format date.
Code:
1
2
3 set_application_property(PLSQL_DATE_FORMAT, 'YYYY/MM/DD HH24:MI:SS'); set_application_property(BUILTIN_DATE_FORMAT, 'YYYY/MM/DD HH24:MI:SS'); forms_ddl('ALTER SESSION SET NLS_DATE_FORMAT = ''YYYY/MM/DD HH24:MI:SS''');
le problème est résolue!!!!!
merci :lol:
bonjour,
execute_query lancer la requête pour ramener les datas qu'on va manipuler au travers block de données.
set property pour modifier les propriétés du block et les adapter selon ce que l'on désir faire avce, il y en beaucoup de propriétés le help ou une recherche via google vous détaillera ce que fait chaque propriété.