Page 1 sur 2

Problème GetItemValue d'un champ date

MessagePublié: 04 Jan 2011 à 15:13
par zouzi
Bonjour,

J'ai une vue CRDoublons qui contient 3 colonnes

1ere colonne: PostedDate
2emecolonne: From
2emecolonne: Subject

Je recherche dans ma vue via ma clé key (voir code) mais il ne trouve jamais mes documents

le champ PostedDate est de ce format :


Nom du champ : PostedDate
Type de données : Temps
Longueur des données : 8 octets
Numéro d'ordre : 1
ID d'élément en double : 0
Indicateurs de champ : SUMMARY

04/01/2011 12:18:32 CET




Code : Tout sélectionner
'Recherche si une copie du mail n'a pas déjà été classée
      If CRDoc Is Nothing Then
         Set v = dbParten.GetView("CRDoublons")
         If Not (v Is Nothing) Then
            Call v.Refresh
            Key(0) = note.GetItemValue("PostedDate")(0)
            Key(1) = note.GetItemValue("From")(0)
            Key(2) = note.GetItemValue("Subject")(0)
            Set CRDoc = v.GetDocumentByKey(key)
            Set v = Nothing
         End If
      End If
[quote][/quote]

J'ai pensé à faire un truc du genre

Code : Tout sélectionner
Key(0) = note.GetItemValue(@text("PostedDate")))(0)


Mais comment faire ?

J'ai essaye de mettre ma 1ere colonne: PostedDate en champ text ou date et c'est pareil

Mon contrôle ne s'effectue pas ?? Mon code ne trouve jamais mes documents

MessagePublié: 04 Jan 2011 à 15:19
par Michael DELIQUE
salut

tes 3 colonnes sont triées ?

MessagePublié: 04 Jan 2011 à 15:19
par zouzi
Oui

MessagePublié: 04 Jan 2011 à 15:34
par roubech
si tu veux convertir en texte :
Key(0) = cstr( note.GetItemValue("PostedDate")(0) )

MessagePublié: 04 Jan 2011 à 15:41
par zouzi
J'ai mis Key(0) = cstr( note.GetItemValue("PostedDate")(0) )

et Mon code ne trouve pas les documents, c'est pareil ...

MessagePublié: 04 Jan 2011 à 15:43
par Grey Goda
Tu mets dans ton tableau "key" une date puis deux chaînes... Je pense pas que ce soit possible... et tu dois te retrouver avec un tableau de 3 dates ou de 3 chaînes (je penche pour le cas 2)

Converti ta première colonne en texte (@Text) et fais de même coté Lotuscript en faisant gaffe que le format soit le même (DD/MM - MM/DD)

Perso, je ne ferais même qu'une seule colonne de recherche en concaténant tes 3 colonnes... idéalement, si tu le peux, tu crées ta clé dans un champ de ton document pour ne pas avoir de problème de perf sur ton refresh (si base volumineuse).

MessagePublié: 04 Jan 2011 à 15:56
par zouzi
J'ai mis Key(0) = cstr( note.GetItemValue("PostedDate")(0) )

donc avec ça j'ai un tableau de 3 chaînes

Puis j'ai mis en 1ere colonne dans ma vue

@Text(@Text(PostedDate; "D0S2"):From:Subject)

et Mon code ne trouve pas les documents, c'est pareil ...

MessagePublié: 04 Jan 2011 à 15:58
par Michael DELIQUE
re,

ça @Text(@Text(PostedDate; "D0S2"):From:Subject)

c'est une liste

@Text(@Text(PostedDate; "D0S2")+From+Subject)

ça c'est une valeur.

et vérifie bien le format de ta date

MessagePublié: 04 Jan 2011 à 16:06
par zouzi
Mon code ne trouve pas les documents, c'est pareil ...

ci joint le résultat ma colonne @Text(PostedDate; "D0S2")

MessagePublié: 04 Jan 2011 à 16:08
par Michael DELIQUE
et en débug "pas à pas" tu vois bien les même valeurs ?

mais si tu concatene tes colonnes il faut aussi que tu concatene ta clé de recherche, ce n'ets plus un array mais un string

MessagePublié: 04 Jan 2011 à 16:30
par zouzi
Ci dessous le résultat du debug

je comprend pas !!

MessagePublié: 04 Jan 2011 à 16:34
par Michael DELIQUE
la premiere colonne de ta vue a les données concaténé ?

MessagePublié: 04 Jan 2011 à 16:37
par Grey Goda
Désolé, j'ai embrouillé tout le monde avec mon histoire d'une seule colonne :oops:

Peux tu copier / coller ton code Lotuscript + la valeur de ta ou tes colonnes ?

MessagePublié: 04 Jan 2011 à 16:37
par zouzi
Je concaténe comme cela ma colonne

@Text(@Text(PostedDate; "D0S2")+From+Subject)

MessagePublié: 04 Jan 2011 à 16:39
par Michael DELIQUE
alors il faut aussi concaténé ta clé de recherche dans un string