trouver un champ dans xx masques

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

trouver un champ dans xx masques

Messagepar _ledude_ » 14 Jan 2004 à 15:52

Bonjour,existe t il un moyen de lister tous les champs contenu dans chaque masque d'une base.Ou bien peut on pour un nom de champ donné connaitre tous les masques dans lesquels on le trouve.En effet, dans une base je dois modifier un champ précis se trouvant dans plusieurs masques, et, le nombre de masques étant relativement important, je me demandais dans quelle mesure je pouvais éviter de tous les ouvrir voir s'ils contiennent le champ considéré...Si qqun a une idée, je suis preneur...Dude
_ledude_
 

Re: trouver un champ dans xx masques

Messagepar Oguruma59 » 14 Jan 2004 à 16:20

j'ignore si c'est toi qui a fait le dév, mais un champ partagé aurait été préférable à condition qu'il rempli toujour la même fonction dans chaque masquevoir objet Fields en LS (non documenté je crois)
Oguruma59
 

Re: trouver un champ dans xx masques

Messagepar _ledude_ » 14 Jan 2004 à 16:56

Justement :- ce n'est pas moi le créateur de cette base, j'en ai hérité en maintenance- les définitions de ce champs varient d'un masque à l'autreet c'est tout mon pb!!Je vais aller jeter un oeuil sur ce dont tu me parles.Sinon, tu ne sais pas s'il existe un utilitaire du style NotesPeek (http://www-10.lotus.com/ldd/NotesPeek) qui pourrait remplir cette fonction?J'ai cherché mais pas encore trouvé!!
_ledude_
 

Re: trouver un champ dans xx masques

Messagepar lemm » 15 Jan 2004 à 08:11

Salut.En se pougnant avec toutes les Fields de tous les Forms de ta base tu devrais t'en sortir en imbriquant deux "forall-end forall" ;-))j'ai vu ça dans l'aide : Example: Forms property This example displays the names of all the forms in the current database <- ça devrait le faire...Dim session As New NotesSessionDim db As New NotesSessionDim db as NotesDatabaseSet db = session.CurrentDatabaseForall form In db.Forms Messagebox form.NameEnd ForallExample: Fields property This script displays the names of all the fields on a form <-- si tu le mixe avec ça...Dim session As New NotesSessionDim db As NotesDatabaseSet db = session.CurrentDatabaseformNameIn = Lcase(Inputbox("Name of form?"))Forall form In db.Forms If Lcase(form.Name) = formNameIn Then If Isempty(form.Fields) Then Messagebox form.Name & " has no fields" Else fieldCount = 0 msgString = "" Forall field In form.Fields fieldCount = fieldCount + 1 msgString = msgString & Chr(10) & _ " " & field End Forall Messagebox form.Name & " has " & _ fieldCount & _ " field(s):" & Chr(10) & msgString End If Exit Sub End IfEnd ForallMessagebox "The form """ & formNameIn & """ does not exist"Peut-être ça répond à ton pb ?
lemm
 

Re: trouver un champ dans xx masques

Messagepar Oguruma59 » 15 Jan 2004 à 08:30

j'ai été un peu rapide hier... je t'ai fait un petit agent que tu pourras implémenter dans la basecelui-ci extrait tous les champs de la base masque par masque et il les place dans deux fichiers- un si tu souhaites l'exploiter sous excel, il au format csv avec séparateur virgule- un autre présenté d'une manière éditableles champs sont présentés dans l'ordre alpha pour te simplifier les recherches.. j'ai fait une petite routine de tri vite faità toi de jouervoici le synopsys qui t'aidera à implémenter cet agent dans la baseSynopsis de base de documents Lotus Notes - créé à 08:25:44 le 15/01/2004Informations d'agentNom : AllFieldsDernière modification : 14/01/2004 18:36:19Commentaire : [Sans]Agent partagé : OuiType : LotusScriptEtat : Activé(e)Déclencher : Lorsque vous le sélectionnez dans le menu Actions.S'applique à : Exécuter une fois (commandes @ autorisées)Code LotusScript :Option PublicSub Initialize Dim session As NotesSession Dim db As NotesDatabase Dim arraysorted As Variant On Error Goto errHandler Set session=New notessession Set db = session.CurrentDatabase Close Open "c:\mes documents\fields.txt" For Output As 1 Open "c:\mes documents\fieldcsv.txt" For Output As 2 Forall f In db.forms Print "masque en cours ";f.name If Not Isempty(f.Fields) Then If f.issubform Then Print #1, "Sous masque : "; Else Print #1, "Masque : "; End If Print #1, f.name arraysorted= sort(f.fields) Forall ff In arraysorted Print ff Print #1,Chr$(9);ff '// pour une utilisation dans excel Print #2,{"};f.name;{"};",";{"};ff;{"} End Forall Print #1,"" End If End Forall Close Msgbox "terminé" Exit Suberrhandler: Msgbox "erreur " & Err & " " & Error$ & " ligne " & Erl ,16,"AllFields" Resume finfin:End SubFunction Sort(array As Variant) As Variant '// allez un petit tri vite fait... '// variante du tri à bulle '// y a mieux comme méthode... mais bon j'ai fait vite ! Dim n As Integer Dim i As Integer Dim j As Integer Dim A As Variant Dim A1 As Variant n=Ubound(array)+1 For I=1 To (n-1) J=I Do While J>=1 If array(J)<array(J-1) Then A=array(J) A1=array(J-1) array(J)=A1 array(J-1)=A J=J-1 Else Exit Do End If Loop Next sort=arrayEnd Function
Oguruma59
 

Re: trouver un champ dans xx masques

Messagepar _ledude_ » 15 Jan 2004 à 08:57

Merci bcp, vais mettre ça en place.
_ledude_
 

Re: trouver un champ dans xx masques

Messagepar _ledude_ » 15 Jan 2004 à 08:57

Merci bcp, vais mettre ça en place de suite
_ledude_
 

Re: trouver un champ dans xx masques

Messagepar Oguruma59 » 15 Jan 2004 à 10:23

tiens moi informé
Oguruma59
 


Retour vers Développement

cron