Page 1 sur 1

Renomer un groupe

MessagePublié: 01 Mars 2011 à 12:08
par totoausoldes
hello,

=> http://forum.dominoarea.org/renomer-un- ... 26127.html

j'ai collé ce code dans un agent que j'ai appelé "group_rename", déjà j'ai une erreur sur la ligne "Set wDBNAB = DBOpenNAB(nmServer.Abbreviated) " alors j'ai supprimé cette ligne et j'ai pu enregistrer. Par contre quand je sélectionne un groupe que je voudrais renommer, je passe par le menu action et là rien ne se passe ...

MessagePublié: 01 Mars 2011 à 12:44
par abertisch
totoausoldes a écrit:hello,

j'ai collé ce code dans un agent que j'ai appelé "group_rename", déjà j'ai une erreur sur la ligne "Set wDBNAB = DBOpenNAB(nmServer.Abbreviated) " alors j'ai supprimé cette ligne et j'ai pu enregistrer. Par contre quand je sélectionne un groupe que je voudrais renommer, je passe par le menu action et là rien ne se passe ...


Salut,

Logique car la fonction "DBOpenNAB" n'est pas donnée dans le code.

Mais si tu renseignes ta variable "wDBNAB" par ta base names.nsf, tu n'auras plus de problème. :wink:

MessagePublié: 01 Mars 2011 à 13:22
par totoausoldes
Comment puis je renseigner cette variable et où puis je le faire ?

MessagePublié: 01 Mars 2011 à 13:40
par Michael DELIQUE
salut

wDBNAB n'est pas une variable mais un objet qui représente la database du names.nsf.


voila la fonction manquante

Code : Tout sélectionner
Public Function DBOpenNAB(wOnThisServer As String,nbFirstPAB As Boolean) As Notesdatabase
   'renvois un variable de type NotesDatabase contenant le carnet d'adresse public
   
   'Déclaration des Variables   
   Dim DBNAB As NotesDatabase
   
   On Error Goto ErreurHandle
   
   If session Is Nothing Or DB Is Nothing Then
      Set session = New notesSession
      Set DB = Session.CurrentDatabase
   End If
   
   Select Case Ucase(Trim(wOnThisServer))
   Case ""
      Set DBNAB = DBOpen(DB.Server,"names.nsf","")      
   Case "LOCAL"
      Set DBNAB = DBOpen("","names.nsf","")      
   Case Else
      Set DBNAB = DBOpen(Trim(wOnThisServer),"names.nsf","")      
   End Select   
   
   If DBNAB.IsPublicAddressBook = True Then
      Set DBOpenNAB = DBNAB
   Else
      Set DBOpenNAB = Nothing
   End If
   
   If DBNAB Is Nothing Then
      If nbFirstPAB = True Then
         Set DBOpenNAB = DBOpenNABPublic()
      End If
   End If
   
   
   Set DBNAB = Nothing
   Exit Function
ErreurHandle:
   Msgbox "("+Structure_Log+" : "+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Set DBNAB = Nothing
   Set DBOpenNAB = Nothing
   Exit Function
End Function


tu trouvera la fonction dbopen ici => http://forum.dominoarea.org/connexion-a ... 10712.html

MessagePublié: 01 Mars 2011 à 13:44
par abertisch
Et bien tu peux le faire lorsque tu utilises la fonction "GroupeRename" dans ton agent.

Mais j'image que tu n'as jamais fait de lotuscript ? Sinon tu ne poserais pas la question :lol:


Dans Initialize de ton agent tu fais quelque chose comme ça :

Code : Tout sélectionner
Dim Session As New NotesSession()
Dim dbNames As New NotesDatabase(Session.CurrentDatabase.Server(), "names.nsf")
   
Call GroupeRename(dbNames, "ton serveur", "ton groupe", "ton nouveau groupe", True)

MessagePublié: 01 Mars 2011 à 14:11
par totoausoldes
Effectivement je n'ai jamais fais de LotusScript .. l'interface du designer n'est pas des plus simple (surtout quand le client ne plante pas) .. merci pour vos réponses je vais voir ce que j'arrive à faire, j'ai l'impression que j'ai besoin de tout un tas de fonctions alors j'ai collé le code de "dbopen", mais elle a apparement besoin de la foncton "DBExists_Ls" pour pouvoir fonctionner ..

MessagePublié: 01 Mars 2011 à 14:24
par Michael DELIQUE
tu la trouvera dans les tips...

MessagePublié: 01 Mars 2011 à 14:31
par totoausoldes
Oui j'ai suivi le lien en bas pour la trouver, par contre être il possible de créer un agent par fonction pour pouvoir les réutiliser ou je dois à chaque fois les reprendre toutes dans un agent unique ?

Sinon j'ai bien créé les fonctions "BBExists_LS" et "DBOpen" sans problèmes, par contre quand je crée "DBOpenNAB" j'ai une erreur sur la ligne "Set DBOpenNAB = DBOpenNABPublic()"

MessagePublié: 01 Mars 2011 à 15:00
par Michael DELIQUE
tu peux le virer la ligne si tu veux, la foncton permet de ce connecter au premier nab public qu'elle trouve

MessagePublié: 01 Mars 2011 à 15:09
par totoausoldes
ok merci bien