Bonjour,

C'est mon premier message ici. Je suis developpeur SAP sur Paris et accessoirement developpeur en VBScript/Javascript quand j'ai un peu de temps

Je suis entrain d'essayer de faire une page pour Windows Home server (IIS7 & Windows Desktop Search 3 inclus) qui va me récuperer l'ensemble des tags des images du système en Vbscript (coté serveur) en faisant des requettes sur WDS.

Mes premiers tests donnent de bon résultats (et surtout des perfs acceptables :p), mais au moment d'afficher un tag, j'ai de gros problèmes

Voici mon code :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script language="Vbscript" runat="server">
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
 
objConnection.Open "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';"
 
'requette : ensemble des fichiers images
objRecordSet.Open "SELECT System.FileName,System.ItemFolderPathDisplay,System.Photo.DateTaken, System.Keywords FROM SYSTEMINDEX  where system.kind = 'Picture'", objConnection
 
objRecordSet.MoveFirst
 
Do Until objRecordset.EOF
 
 response.write objRecordset.Fields.Item("System.FileName") 
 response.write objRecordset.Fields.Item("System.Keywords")
 response.write "<BR>"
 
 objRecordset.MoveNext
Loop
 
</script>
Voila, rien de bien compliqué. Donc cette requette récupere l'ensemble des noms/tags &co de WDS et me les affichent.
Voila le résulat :

1175192143987.jpg
DSC00102.JPG
[... liste d'image...]
DSC00104.JPG
P1010264.JPG
Objet Response erreur 'ASP 0106 : 80020005'

Erreur de type

/photo/test/test.asp, ligne 0

Un type de données non pris en charge a été détecté.
En fait P1010264 est la toute premiere image de la liste à avoir des tags !

C'est donc la premiere fois que le code :
response.write objRecordset.Fields.Item("System.Keywords")
ne retourne pas la valeur vide.

J'ai donc fait quelques tests et j'ai trouvé la fonction
varType(objRecordset.Fields.Item("System.Keywords"))
qui me retourne '8200' pour toutes les images avec Tags.

La fonction IsArray(objRecordset.Fields.Item("System.Keywords")) me retourne "true" pour toutes les images avec tags.

Et Ubund(objRecordset.Fields.Item("System.Keywords")) me retourne bien le nombre de tags appliqués sur l'image.

Mais quand j'essaye de faire :
objRecordset.Fields.Item("System.Keywords")(0)

Il me retourne :

Erreur d'exécution Microsoft VBScript erreur '800a01c2'

Nombre d'arguments ou affectation de propriété incorrects: '[object]'

/photo/test/test.asp, ligne 20
Donc je ne sais pas trop quoi faire, il me dit bien que c'est un array d'element, mais je ne sais pas trop comment faire pour savoir un array de "quoi" et surtout comment l'afficher!

Merci de votre aide.