Page 1 sur 1

ouvrir une base sur un autre serveur

MessagePublié: 11 Déc 2003 à 16:07
par Nathou
Bonjour a tous!Voici mon code qui rappatrie le contenu de la colonne numero1 de la vue ATBD dans la base NAME.nsf qui se trouve sur le meme serveur que la base qui effectue cette operation :@DbColumn("":"NoCache";@Subset(@DbName;1):"FOLDER/NAME.nsf";"ATBD";1)Ma base ayant change de serveur... comment est ce que je peux indiquer (meme en dur) le nom de l'autre serveur? Au secours!!!!@+Nathou[%sig%]

Re: ouvrir une base sur un autre serveur

MessagePublié: 11 Déc 2003 à 16:16
par Raziel
Salut,Le plus simple (en maintenant et évolution) serai de passer par un document de paramétrage dans lequel tu indiquerai le nom de serveur hébergeant le Carnet d'adresse

Re: ouvrir une base sur un autre serveur

MessagePublié: 11 Déc 2003 à 16:22
par Nathou
Ouille Ouille Je suis un tout petit peu debutante... comment on fait tout ca????[%sig%]

Re: ouvrir une base sur un autre serveur

MessagePublié: 11 Déc 2003 à 17:11
par Nathou
Et pour l'ecrire en dur qu'elle serait la syntaxe a utiliser ? simple cotes? double cotes? slash? etc.....Merci d'avance!!![%sig%]

Re: ouvrir une base sur un autre serveur

MessagePublié: 11 Déc 2003 à 17:15
par polbusse
@DbColumn("":"NoCache";"nomduserveur":"FOLDER/NAME.nsf";"ATBD";1)

Re: ouvrir une base sur un autre serveur

MessagePublié: 12 Déc 2003 à 16:20
par AdminExpert
Ceci fait appel au documents "profil" et y a des fonction @ qui permettent d'y accèder ou passer par du LSje te donne la suite a+

Re: ouvrir une base sur un autre serveur

MessagePublié: 12 Déc 2003 à 16:36
par AdminExpert
je laisserai un post sur la réalisation de documents profil pour ceux qui ne connaissent pas troplaissez moi un peu de temps pour la frappe...

Re: ouvrir une base sur un autre serveur

MessagePublié: 12 Déc 2003 à 17:02
par CED76
C très bien expliqué dans l'aide designer....

Re: ouvrir une base sur un autre serveur

MessagePublié: 12 Déc 2003 à 22:25
par AdminExpert
Je sais mais si les exemples ci-dessous peuvent aider.....Pour ceux qui sont déjà avertis à ce genre de programmation, il n'y a pas de Pb mais il faut penser à ceux qui débutent et bien souvent il y a des pages de trucs et astuces pour moins que cela.A ceux qui veulent en profiter...1/ créer un masque "profil" permettant de saisir les paramètresexemple - Nom du serveur : p0Serveur- Nom de la base : p0Basedans ce masque y mettre deux boutons (Annuler, OK)* AnnulerFIELD SaveOptions:="0"; REM "quand on fait echap ça évite d'avoir la boîte de dialogue d'enregistrement";@Command([FileCloseWindow])* OK@Command([FileSave])2/ donner un nom au masquepar habitude je donne un alias aux masques que j'utilise et je préfixe les alias profil par la lettre p0.mes noms de champs commencent par l'alias du masque.==> cette technique me permet de repérer mes champs facilement quand mon application comportent plusieurs masques, on sait directement à quel masque appartient un champs quand la liste des champs est présentée dans la conception d'une vue, à la lecture des formules et des LS c'est aussi plus simple.Je mets toujours ces préfixes en minuscule. Pour chaque préfixe je prends deux caractères, exemple pour un masque client je prends "cl"...(voici au passage quelques bonnes règles de programmation)dans les propriétés du masque ne le pas faire figurer dans le menu création et da ns les recherchesil ne doit pas être le masque par défaut4/ accès au masque en modification :- accès par formules @@Command([EditProfile];"p0");On y accède soit via un agent, soit un bouton de vue, soit via une action de navigateur, soit... (votre choix)- LS :Dim w As NotesUIWorkspaceSet w=New NotesUIWorkspaceCall w.EditProfile("p0")5/ accès aux champsPour lire un champs/récupérer la valeur d'un champ- formules @P1:=@GetProfileField("p0" ; "p0Serveur");P1:=@GetProfileField("p0" ; "p0Base");- LS :Dim s As notessessionDim db As notesdatabaseDim profil As notesdocumentSet s=New notessessionSet db=s.currentdatabaseSet profil = db.GetProfileDocument( "p0" ) msgbox "nom du serveur " & profil.p0Serveur(0) & " nom de la base " & profil.p0Base(0)6/ mise à jour des champs- formules @@SetProfileField("p0" ; "p0Serveur" ; "ACSRV/CORPORATE" );@SetProfileField("p0" ; "p0Serveur" ; "TECHNIC.NSF" );- LS :Dim s As notessessionDim db As notesdatabaseDim profil As notesdocumentSet s=New notessessionSet db=s.currentdatabaseSet profil = db.GetProfileDocument( "p0" )profil.p0Serveur="ACSRV/CORPORATE"profil.p0Base="TECHNIC.NSF"call profil.save(true,false)Bien maintenant... vous savez tout ou presque tout sur la gestion des documents "profil". Cette notion est apparue avec la version 4 de Lotus Notes. Toutefois on peut se passer de cette technique et utiliser des documents de type standard. On y accède par le biais des vues et d'un mot clé. Pour cela on utilise le @DBLookup ou la méthode View.GetDocumentByKey(cle).Exemple :- Création d'un document comme celui ci-dessus ; celui-ci contient un autre champ texte p0Clef ; ce dernier aura pour valeur "p0" ; cette valeur est arbitraire mais elle doit être fixée au départ car elle sera utilisée comme cléf.- Création d'une vue pseudo VP0colonne 1 : p0Clefcollonne 2 : p0ServeurColonne 3 : p0BaseTri sur la colonne 1- il sera nécessaire de créer le document avec au minimum la clé p0Clef renseignée- la modification du document se fera via l'accès à une vue ; celle sera protégée par un accès via un navigateur (si besoin)en formules @ :srv:=@DBlookup("":"Nocache";"":"":"VP0";"p0";1);base:=@DBlookup("":"Nocache";"":"":"VP0";"p0";2);pour contrôler le bon déroulement du @DBLookup on utilisera @IsError(srv) ou @IsError(base)en LS :Dim s As notessessionDim db As notesdatabaseDim view as notesviewDim profil As notesdocumentSet s=New notessessionSet db=s.currentdatabaseSet view=db.getview("VP0")Set profil = view.GetDocumentByKey( "p0" )Rem *** vérification de la présence du document ***if not (profil is nothing) then profil.p0Serveur="ACSRV/CORPORATE" profil.p0Base="TECHNIC.NSF" call profil.save(true,false)end ifcette méthode permet de récupérer en LS la gestion de documents paramètres établis pour les versions antérieures à la V4...