Page 1 sur 1
Notesdatabase.getview

Publié:
16 Mars 2010 à 11:56
par Michael DELIQUE
bonjour
j'ai Notesdatabase.getview qui me fait ce qu'il veux...
il me trouve certaines vues et pas d'autres
la seule chose qui pourrait expliquer cela c'est que les vues non trouvé contiennent des parentheses dans le leur nom et leur pseudo genre
ma vue (001) | mavue(001)
quelqu'un a déja vue ça ?

Publié:
16 Mars 2010 à 12:00
par stloje
T'as pas de doublon de synonyme?

Publié:
16 Mars 2010 à 12:21
par Michael DELIQUE
non j'ai regardé
par contre c'est une vue public devenant privé a la premiere utilisation, mais je n'ai jamais eu ce genre de pb avec
je pense plustot que notes perd ses petit avec les parenthese

Publié:
16 Mars 2010 à 12:49
par stloje
Tu as essayé de parcourir l'ensemble des vues et visualiser leur nom et leur synonyme en LS? Ca te permettrait de savoir si tu visualise les vues qui te manquent.

Publié:
16 Mars 2010 à 12:51
par Michael DELIQUE
c'est ce que je suis en train de faire

Publié:
16 Mars 2010 à 13:12
par Michael DELIQUE
ouaip ça marche en bouclant sur les vues
j'ai fait cette fonction
- Code : Tout sélectionner
Function ViewInit(wDB As NotesDatabase, wViewName As String) As NotesView
'permet d'nstancier une vue si elle est introuvable
Dim DBCible As NotesDatabase
Dim vrListViews As Variant
Dim vrListAlias As Variant
Dim vwSearch As NotesView
On Error Goto ErreurHandle
Set ViewInit = Nothing
If Trim(wViewName) = "" Then
Error 9999,"wViewName is empty"
Exit Function
End If
If Session Is Nothing Then
Set Session = New NotesSession
End If
If wDB Is Nothing Then
Set DBCible = Session.CurrentDatabase
Else
Set DBCible = wDB
End If
'tentative de connexion standard
Set ViewInit = DBCible.GetView(Trim(wViewName))
If Not ViewInit Is Nothing Then
Set DBCible = Nothing
Exit Function
End If
'sinon boucle sur l'ensemble des vues pour comparer les names et pseudos
Set ViewInit = Nothing
'recuepre la liste des vues
vrListViews = DBCible.Views
If TestVariant(vrListViews) = False Then
Set DBCible = Nothing
vrListViews = Null
Exit Function
End If
'parcours les vues
Forall ValueView In vrListViews
Set vwSearch = ValueView
If Not vwSearch Is Nothing Then
'reagrde si le nom est identique
If Trim(wViewName) = Trim(vwSearch.Name) Then
Set ViewInit = vwSearch
Exit Forall
Else
'sinon boucle sur chaque alias/pseudo
vrListAlias = vwSearch.Aliases
If TestVariant(vrListAlias) = True Then
Forall ValueAlias In vrListAlias
If Trim(Cstr(ValueAlias)) <> "" Then
If Trim(Cstr(ValueAlias)) = Trim(wViewName) Then
Set ViewInit = vwSearch
Exit Forall
End If
End If
End Forall
End If
vrListAlias = Null
End If
Set vwSearch = Nothing
End If
If Not ViewInit Is Nothing Then
Exit Forall
End If
End Forall
vrListAlias = Null
vrListViews = Null
Set DBCible = Nothing
Exit Function
ErreurHandle:
Msgbox "("+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
Set ViewInit = Nothing
Exit Function
End Function

Publié:
16 Mars 2010 à 13:45
par stloje
J'espère pour toi que tu n'as pas 200 vues à parcourir
Sinon, le traitement est rapide?

Publié:
16 Mars 2010 à 13:47
par Michael DELIQUE
ça va, de toute façon, j'ai pas trop le choix... ou alors il faut renommer les vues !

Publié:
09 Juin 2010 à 20:23
par roubech
t'es obligé de mettre des paranthèses aussi dans les alias ?

Publié:
09 Juin 2010 à 20:53
par Michael DELIQUE
non, mais j'ai fais avec les vues tels qu'elles étaient, un renommage étant impossible