Powerbuilder pour les completement Geeks !

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 12-01-2010 16:32:28

ydl  
Membre Geek
Date d'inscription: 23-10-2007
Messages: 62
Pépites: 10,341
Banque: 0

[RESOLU] Faire un datastore.find sur une valeur datetime

Bonjour
J'essaye de faire un find sur un datastore, je cherche un enregistrement dont par sa date.
J'ai donc

Code: pb

ls_FindText="cod_soc='" +ls_soc+"' and cod_dev='"+ls_dev+"' and dat_val='"+string(dt)+"'"
ll_foundrow =ids_change.Find(  ls_FindText, 1, ll_nbr)

Mais j'ai toujours un code retour -5 qui vient de le recherche sur la valeur datetime.
J'ai essaye aussi

Code: pb

dat_val="+string(dt)

On peut faire un find sur une valeur datetime (PB10.2 oracle 10gexpress)?

Merci
Yann

Dernière modification par ydl (15-01-2010 08:09:56)

Hors ligne

 

#2 13-01-2010 07:33:39

johnpelu  
Membre Power Geek
Date d'inscription: 17-10-2008
Messages: 179
Pépites: 677
Banque: 0

Re: [RESOLU] Faire un datastore.find sur une valeur datetime

Bonjour,
As tu pensé à ceci ?

The search is case sensitive. When you compare text to a value in a column, the case must match.
When the Find expression includes quotes   
If the text you want to find includes quotes, you must treat the nested quote as doubly nested, because the DataWindow parses the string twice before the Find method uses it. Therefore, you cannot simply alternate double and single quotes, as you can in most strings.
For example, to find the name O'Connor, the Find expression can be:

"O~~~'Connor" (3 tildes and single quote) or
"O~~~~~"Connor" (5 tildes and double quote)
but not:
"O'Connor" or "O~"OConnor"



Essaie également ceci:

Récupérer le contenu du String de ton Find et ensuite le tester directement dans une requête SQL avec Where Clause.
Cela te permettra de voir s'il c'est correct.
Tu peux ensuite également vérifier le Cast de ta date (yyyy/mm/dd ou autre), ca pourrait être également intéressant.

Bonne chance.

Hors ligne

 

#3 15-01-2010 08:09:03

ydl  
Membre Geek
Date d'inscription: 23-10-2007
Messages: 62
Pépites: 10,341
Banque: 0

Re: [RESOLU] Faire un datastore.find sur une valeur datetime

J'ai contourné le problème en utilisant un compute dans la dw qui concatène les trois critères et je fais une recherche sur ce dernier qui est obligatoirement unique.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22