Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 24-05-2007 12:24:08

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Query Mode sur une DW

Bonjour,

Je voudrais savoir si quelqu'un a déjà rencontré des problèmes avec des DW en querymode quand il utilise en critère de recherche des caractères particulier, par exemple si le met dans une des zones de recherches : #, en interogeant ensuite le SQLSELECT, il a fait disparaitre le #, et c'ets la même chose pour d'autres caractères.

Une idée ?

Merci

Hors ligne

 

#2 24-05-2007 13:48:59

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Query Mode sur une DW

en quelle version de pb ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 24-05-2007 13:59:10

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

En pb 8.04 ( 10521 )

Hors ligne

 

#4 24-05-2007 14:16:52

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Query Mode sur une DW

tu peux me donner un exemple bien precis ?
que je fasse le test sur mon poste aussi.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#5 24-05-2007 16:26:39

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

J'ai une DW grid de 3 colonnes ( nom, prenom, sexe ) par exemple,
quand la DW passe en quaery mode, dans nom je saisie #TEST   ( c'est visible a l'écran même après Tab )

J'utilise un bouton qui me donne ensuite le GETSQL après un acceptText et la je vois qqc comme :  select .... where .... nom = ''
au lieu de nom ='#TEST' , et si je fais la même chose avec TEST sans le dièse ca fonctionne  ???

Hors ligne

 

#6 24-05-2007 17:00:55

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Query Mode sur une DW

Salut, as-tu essayé  avec "\#TEST" ou  "~#TEST" ?

Et en mode executable le problème est le même ?


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#7 25-05-2007 09:53:43

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

Si j'utilise le \ ou ~alors dés que je sort du champ avec tab, la zone se vide

Ce n'est pas normal il devrait se contenter de prendre la saisie utilisateur ou d'afficher un message comme quoi
la valeur ne convient pas non ?

Hors ligne

 

#8 25-05-2007 10:07:02

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Query Mode sur une DW

tu peux mettre tes scripts ?

je voudrais reproduire le cas...


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#9 28-05-2007 09:49:57

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

Bonjour

Difficile de mettre les scripts, car c'est sur une fenêtre qui hérite de beaucoup d'objets propre à notre appli, mais c'est relativement simple :

DW en query mode : dw_query, derriere une DW retrieve pour afficher les résultats

Sur bouton chercher

Code: pb

//--------------- Retrieve Mode
dw_query.visible = false
dw_retrieve.visible = true

// récupération de la requête et transformation avec des LIKE
dw_query.accepttext()
ls_requete = dw_query.GetSQLSelect ()


Et la ls_requete ne contient pas ce qui est affiché dans la query ( sans le # en tout cas )

Hors ligne

 

#10 28-05-2007 09:54:48

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Query Mode sur une DW

le getsql permet seulement de retrouver le "select ..from..where " de ta datawindow...
entre temps, les query ont été rajoutés aux "where" ?

et comment ca marche ce mecanisme ?

normalement, tu recuperes ta valeur
ls_valeur = this.getitemstring(row,"toto")

et apres, tu rajoutes cela dans la clause where non ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#11 28-05-2007 10:08:19

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

Ben non,

en fait la dw en querymode permet à l'utilisateur de rentrer ses critères, et de les intégrer à la query de la DW
ensuite, quand il clique sur chercher, le GetSql, me permet de récuperer la requete de la DW avec les critères
utilisateur, pour en fait pouvoir remplacer certains = par des likes ( pour mon appli )

Sinon il n'y a plus d'interet ) passer en querymode, j'ai 20 lignes, 5 colonnes, si je dois tout scanner pour reconstruire la requette ....

Ca marche trés bien mais certains caractères spéciaux comme le # ne sont apparament pas repris la requete obtenue par GetSql

Hors ligne

 

#12 28-05-2007 10:11:43

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Query Mode sur une DW

une question bete pour m'eclaircir :
c'est quoi le querymode pour toi ?

peut etre que j'ai mal compris ta question...

c'est du retrieve argument ? ou du clause where dynamique ? ou autres ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#13 28-05-2007 12:18:08

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

Le queryMode : Passer la dw dans un mode ou l'utilisateur peut indiquer ces critères de recherche, à partir des champs qu'on a dans la dw

En fait j'utilise 2 DW avec le même dataobject, une qui sera en querymode, l'autre qui affichera le résultat

Dans la première l'utilisateur saisi ses critères
Il clique sur chercher
Dans la seconde je reprend le SQLSelect de la premiere et je retrieve ( donc avec les paramètres de l'utilisateur )

Hors ligne

 

#14 28-05-2007 12:31:52

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Query Mode sur une DW

essayes "##TEST"


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#15 28-05-2007 12:36:36

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

Effectivement si je met ##TEST, je récupère bien ce que je veux mais ne suis pas sur que l'utilisateur va accepter de doubler à chaque fois

Il y a une raison particulière à ce type de fonctionnement ?

Hors ligne

 

#16 28-05-2007 12:38:50

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Query Mode sur une DW

esteph a écrit:

Effectivement si je met ##TEST, je récupère bien ce que je veux mais ne suis pas sur que l'utilisateur va accepter de doubler à chaque fois

Sinon écris une fonction qui double les # et ça sera transparent pour l'utilisateur.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#17 28-05-2007 12:51:38

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Query Mode sur une DW

je ne sais pas si c'est un bug pb...
en tout cas, ton mode query est assez limité en terme de criteres.  essayes de mettre un "&"...

ce bug existe deja sur le code exemple de pb, fourni avec l'installation de pb.

bref, quoi qu'il en soit, je n'utilise pas ce mode.  chez moi, ca passe plutot par un retrieve argument.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#18 28-05-2007 13:20:02

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

J'utilise ce mode pour toutes les fenêtres type boîtes de recherche, et c'est plutot confortable et trés rapide comme mode,
mais j'avais pas encore vu le problème des caratères particuliers

Reste à trouver un moyen élégant de corriger

Car la je ne parviens pas à changer les valeurs de ma DW en querymode, par code le Object.Data[row, col] ne fonctionne pas, ni le getitemxxx

Je vais essayer sur l'itemchanged, a voir ...

Hors ligne

 

#19 28-05-2007 15:57:33

esteph  
Membre
Date d'inscription: 24-05-2007
Messages: 13
Pépites: 67
Banque: 0

Re: Query Mode sur une DW

Impossible de récuperer la requete avec le #, quelque soit le moment ou je demande la requete, le # a sauté
et impossible de modifier les valeurs par code avec setitem...

et la solution de doublez le # quand l'utilisateur tape n'est franchement pas terrible

une idée de remplacement ?

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22