question sur le @dblookup dans une colonne

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

question sur le @dblookup dans une colonne

Messagepar cuatan » 27 Oct 2009 à 11:47

bonjour a tous , j'ai une question surement tres bête mais je souhaiterai une confirmation.

je m'évertue a faire un fonction @Dblookup dans une formule de colonne

hors dans l'aide de notes (V6.5) , dans la page du @dblookup il est ecrit :

"Utilisation
@DbColumn ne fonctionne pas pour les formules de colonnes ou de sélection, ni pour les agents de messagerie."

est ce une rreur de frappe (@dbcolumn/@dblookup) dans l'aide ou non ? Dans ce cas , le @dbcolumn ne fonctionne pas dans les colonne mais je @dblookup si -> et la je sais pas pourquoi ma fonction ne marche pas...
ou bien le @dblookup est pas utilisable dans un formule de colonne et la j'aurai besoin de votre aide pour savoir si il est possible de mettre a jour une valeur de colonne en dynamique par rapport a une autre vue

merci pour vos réponses !!
Dernière édition par cuatan le 03 Nov 2009 à 16:08, édité 1 fois.
Avatar de l’utilisateur
cuatan
Posteur néophyte
Posteur néophyte
 
Message(s) : 91
Inscrit(e) le : 12 Jan 2005 à 12:45
Localisation : Antibes

Messagepar mike76 » 27 Oct 2009 à 11:50

salut,

le dblookup ne fonctionne pas dans les colonnes de vues
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar cuatan » 27 Oct 2009 à 11:51

merci, au moins comme ca c'est clair... et il y aurai une autre astuce pour repondre a ce besoin ?
Avatar de l’utilisateur
cuatan
Posteur néophyte
Posteur néophyte
 
Message(s) : 91
Inscrit(e) le : 12 Jan 2005 à 12:45
Localisation : Antibes

Messagepar cuatan » 27 Oct 2009 à 15:17

Bon j'en deduis , que mettre à jour des données calculées dans la colonne d'une vue en dynamique sur une recherche sur une autre vue , n'est donc pas possible ....

va falloir que je passe par un champ calculé dans un doc a afficher...

mais pas évident pour les mises a jour auto...

Si une âme perdue tombe sur ce post et qu'un idée lui vient a l'esprit.. merci!!
Avatar de l’utilisateur
cuatan
Posteur néophyte
Posteur néophyte
 
Message(s) : 91
Inscrit(e) le : 12 Jan 2005 à 12:45
Localisation : Antibes

Messagepar Ahamay » 27 Oct 2009 à 15:29

Hello....

Pas mieux que Mike.... @dbcolumn / @dblookup ne fonctionnent pas dans les formule de colonne ou selection de vues....

Par contre effectivement en passant par un champ calculé/caché dans ton form tu contournes ce probleme.

Pour les Mise à jour, je vois pas ou est le soucis.
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 cuatan » 27 Oct 2009 à 15:37

et bien en fait il faudra que l'ouvre les doc afin de les réactualisé afin que les champs calculés soient mis ajour .

Il s'avere que l'autre vue sur laquelle je me base n'a rien a voir avec les documents de la premiere vue là. Donc les données "calculées" ne seront pas forcement a jour dans la vue consultées, tant que les doc n'aurons pas éte re-calculés

merci tout de même
Avatar de l’utilisateur
cuatan
Posteur néophyte
Posteur néophyte
 
Message(s) : 91
Inscrit(e) le : 12 Jan 2005 à 12:45
Localisation : Antibes

Messagepar mike76 » 27 Oct 2009 à 15:43

c'est à toi de gérer la mise à jour des items dans les documents, pas le choix
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar cuatan » 27 Oct 2009 à 15:51

merci Mike.

ça laisse supposé un principe un tant soi peu automatique connu et efficace?
Avatar de l’utilisateur
cuatan
Posteur néophyte
Posteur néophyte
 
Message(s) : 91
Inscrit(e) le : 12 Jan 2005 à 12:45
Localisation : Antibes

Messagepar Ahamay » 27 Oct 2009 à 16:58

cuatan a écrit:et bien en fait il faudra que l'ouvre les doc afin de les réactualisé afin que les champs calculés soient mis ajour .



Tu vas pas te taper tous les doc 1 par 1 juste pour mettre a jour on champ calculé ?


essaye avec ça ;)


Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument

Dim DbName As String
Set db = session.CurrentDatabase
Set view = db.GetView("AllDoc")

Call view.Refresh

Set doc = view.GetFirstDocument

i = 0
While Not ( doc Is Nothing )

success = doc.ComputeWithForm( False, False)
'If success Then
Call doc.Save( True, True )
i = i + 1
'End If

Msgbox i &"Docs traités"

Set doc = view.GetNextDocument( doc )

Wend
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 mike76 » 27 Oct 2009 à 17:10

j'aurais ajouté avant la boucle :
Code : Tout sélectionner
view.autoUpdate = False


et après le boucle :
Code : Tout sélectionner
view.autoUpdate = True
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar roubech » 27 Oct 2009 à 19:24

s'il y a beaucoup de calcul dans la masque en questin et qu'il n'y a qu'un champ à recalculer, il est préférable de ne calculer que ce champ, car le ComputeWithForm peut-être consommateur
Sinon, peut-être mettre à jour le champ quand la valeur correspondante est mise à jour dans l'autre doc ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Damien Serve » 02 Nov 2009 à 10:29

C'est un des cas qui nécessiterait l'utilisation de DB2 et des QueryViews, à moins qu'en V8 il y ait possibilité de faire de telles vues 'composites' ? (Je me suis arrêté à la v7).
Bon bien-sûr c'est une solution qui coûte cher (impacte sur l'architecture, coût de mise en place, en admin quotidienne...) mais si le besoin est récurrent et évite la multiplication des traitements, pourquoi pas... je suis d'ailleurs train d'étudier le sujet pour ma boîte.
Damien Serve
Premier posts
Premier posts
 
Message(s) : 30
Inscrit(e) le : 08 Jan 2008 à 12:40
Localisation : Grenoble

Messagepar LSong » 02 Nov 2009 à 10:36

tu peu aussi changer la forme avant le comput withform

doc.Form = "FormeSimplifier"
call doc.computwithform (true, false)
doc.Form = "FormeDOrigine"

hop tu fait ce que tu as besoin uniquement
tu peu aussi faire un évaluate ...
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Michael DELIQUE » 02 Nov 2009 à 10:40

salut

je confirme le computewithform est treees long et treeees gourmand en ressource, c'est une solution à utilisé à dose homeopathique quand t'on pas d'autre solution

Exemple 2h30 de traitement avec un computewithform, 10mn sans en recalculant les champs necessaires

et dans ce cas la solution de LSong est tres pertinente
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 cuatan » 03 Nov 2009 à 16:08

ok merci pour tout je me suis donc débrouillé avec ma solution de champs calculé et de recalcul des docs avec au final un tout simple @Command( [ToolsRefreshAllDocs] ) qui etait plus rapide que le computewithform pour mon besoin n'ayant pas tant de docs que ca.

mais je garde sous le coude la proposition de LSong qui en effet pourrait aider dans un cas au j'ai beaucoup plus de docs ...encore merci pour votre aide
Avatar de l’utilisateur
cuatan
Posteur néophyte
Posteur néophyte
 
Message(s) : 91
Inscrit(e) le : 12 Jan 2005 à 12:45
Localisation : Antibes


Retour vers Développement

cron