récupérer la valeur total d'une colonne

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

récupérer la valeur total d'une colonne

Messagepar jyperier » 21 Déc 2009 à 15:16

Bonjour, je dois récupérer des informations de mes bases mails et notamment le résultat d'une colonne qui somme la taille des messages.

J'ai le nom de la vue, le nom de la colonne, la vue est catégorisée donc je ne souhaite que récupérer la valeur totale et pas refaire la somme dans mon script

Quelle fonction dois-je utiliser ?

Merci
Dernière édition par jyperier le 22 Déc 2009 à 11:43, édité 1 fois.
jyperier
Posteur habitué
Posteur habitué
 
Message(s) : 290
Inscrit(e) le : 22 Août 2006 à 09:00
Localisation : saint-denis

Messagepar Michael DELIQUE » 21 Déc 2009 à 15:24

salut

jete un oeil du coté des notesviewentry
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Ahamay » 22 Déc 2009 à 08:59

Hello,

Alors ??? ou ça en est c'te récup de totaux ? ça m'interesse moi aussi. Me suis amusé avec la classe notesviewEntry (merci michael), j'ai réussi à récupérer plein de truc dans ma vue.... plein, mais pas les totaux -lol-

je creuse....
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 22 Déc 2009 à 09:01

S'il y a une solution c'est via les notesviewentry, mais j'ai rien a dispo et je ne sais pas si c'est faisable
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar jyperier » 22 Déc 2009 à 09:32

aie, ca veut dire qu'il faut refaire le total en script.
ca va etre sympa pour des vues de quelques milliers de document d'un poid allant de 20 ko a plusieurs mo.

je cherche...
jyperier
Posteur habitué
Posteur habitué
 
Message(s) : 290
Inscrit(e) le : 22 Août 2006 à 09:00
Localisation : saint-denis

Messagepar Michael DELIQUE » 22 Déc 2009 à 10:02

re

il faut utiliser les notesviewentry c'est plus rapide, car au lieux de lire le doc tu lis la vue.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Ahamay » 22 Déc 2009 à 11:13

+1 @Michael

entry.ColumnValues(N°col)
te permets de récupérer la valeur de la colonne en question,

En collant ça dans une boucle on doit dois pouvoir en faire le total

c'est sur c'est con de devoir reclaculer qqchose qu'on a deja mais faute de mieux.
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar jyperier » 22 Déc 2009 à 11:22

j'ai trouvé.
Voila l'astuce

Il faut passer par la classe NotesViewNavigator et faire un code du genre :
Code : Tout sélectionner
Dim ws As New NotesUIWorkspace
   Dim uiview As NotesUIView
   Dim view As NotesView
   Dim nav As NotesViewNavigator
   Dim entry As NotesViewEntry
            
   Set uiview = ws.CurrentView
   Set view = uiview.View
   Set nav = view.CreateViewNav
   Set entry = nav.GetLast ' pour le dernier
ou Set entry = nav.Gefirst ' pour le dernier
   
jyperier
Posteur habitué
Posteur habitué
 
Message(s) : 290
Inscrit(e) le : 22 Août 2006 à 09:00
Localisation : saint-denis

Messagepar Ahamay » 22 Déc 2009 à 11:23

j'ai poussé un peu :

J'ai une vue avec des catégories (Critere) - 1ere colonne....
dans la seconde colonne, des valeurs....

Code : Tout sélectionner

Sub Click(Source As Button)
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim column As NotesViewColumn
   Dim doc As NotesDocument
   Set db = session.CurrentDatabase
   Set view = db.GetView( "vrecuptotal" )

   Forall c In view.Columns
      If ( c.IsSorted And c.IsCategory ) Then
         Set column = c
         Exit Forall
      End If
   End Forall

   Set doc = view.GetDocumentByKey( "critere " )

   Dim i As Integer   
   i=0
   Do While Not ( doc Is Nothing )
      i = i + doc.ColumnValues( 1 )
      Set doc = view.GetNextDocument( doc )
   Loop
   Msgbox i
End Sub


msgbox m'affiche bien le total de la catégorie.... et c'est super rapide.
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Ahamay » 22 Déc 2009 à 11:25

Arf.... bon bin j'le remets dans ma musette.
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest


Retour vers Développement

cron