quarta-feira, 4 de agosto de 2010

ltera um campo caso exista um determinado valor (ValorA), substituindo pelo novo valor (ValorN)

Sub AlteraCampo(docD As NotesDocument, Campo,ValorA,ValorN,Tipo As String)
' ===> Objetivo:
' ===> Altera um campo caso exista um determinado valor (ValorA),
' substituindo pelo novo valor (ValorN)

' Parâmetros
' docD = Documento
' Campo = Nome do Campo que deseja recriar
' ValorA= Valor que deseja excluir no "Campo"
' ValorN= Valor que deseja incluir no "Campo"
' Tipo = Tipo do Campo, podendo ser AUTHORS (Autor),
' READERS (Leitor) ou sem especificação


' verificando se existe o campo
If docD.HasItem(Campo) Then

' setando o campo
Set item = docD.GetFirstItem(Campo)

' se encontrou o valorA, coloca o novo valorN
If item.Contains( ValorA ) Then
Dim vet() As String
j = 0
x = 0
' recriando os valores do campos carregando no vetor
Forall v In item.values
' coloca somente os valores # do ValorA
If (v <> ValorA) And (v <> "") Then
Redim Preserve vet(x)
vet(x) = v
x = x + 1
End If
End Forall

Redim Preserve vet(x)
' colocando o novo valorN no vetor
vet(x) = ValorN

' Remove o campo
Call item.Remove

' Cria o campo
' Se Tipo Autor
If Tipo = "Autor" Then
Set Item = New NotesItem(docD, Campo, vet, AUTHORS)
End If

' Se Tipo Leitor
If Tipo = "Leitor" Then
Set Item = New NotesItem(docD, Campo, vet, READERS)
End If

' Sem Tipo
If Tipo = "" Then
Set Item = New NotesItem(docD, Campo, vet)
End If

item.IsSummary = True

End If
End If
End Sub

Nenhum comentário:

Postar um comentário