Одномерный Динамичный Массив

camelot91

New member
06.06.2013
4
0
#1
Помогите начинающему программисту, как переделать этот код, что бы он выполнял тоже самое но через массив. Что бы все это заносилось в массив. Будьте благосклонны господа.
Код:
Dim sview As NotesView
Dim db As NotesDatabase
Dim sess As NotesSession
Dim sdoc As NotesDocument
Dim rdoc As NotesDocument
Dim line1 As String ,lineAll As String 
Dim mydoc As Variant
Dim ws As NotesUIWorkspace

Sub Click_FormClist(rDoc As NotesDocument, ruidoc As NotesUIDocument)

Set ws = New NotesUIWorkspace '!!!!!!!!!!!!!!!
Set sess = New NotesSession
Dim qdoc As NotesDocument

If Not ruidoc.EditMode Then
ruidoc.EditMode =True 
End If


Set db = sess.CurrentDatabase '!!!!!!!!!!!!!!!!!!!!

Set sview = db.GetView("Dolgi")
If sview Is Nothing Then 
MessageBox "Нет нужного представления"
Exit Sub
End If

Set sdoc = sview.GetFirstDocument
line1 = ""
lineAll = ""

Do While Not sdoc Is Nothing 
line1 = line1 & sdoc.GetItemValue("ToDate")(0) & " " & line1 & sdoc.GetItemValue("Year")(0) & "-" & sdoc.GetItemValue("RegNum")(0) & sdoc.GetItemValue("Lit")(0) & " " & sdoc.GetItemValue("ToName")(0) & Chr(10)
lineAll = lineAll & line1
line1 = ""
Set sdoc = sview.GetNextDocument(sdoc)
Loop

Print lineAll
Call rDoc.ReplaceItemValue("clist",lineAll) 

End Sub
 

savl

Lotus team
28.10.2011
2 136
105
#2
lineAll массивом сделать что ли?
поле clist множественные значения может содержать?
 

camelot91

New member
06.06.2013
4
0
#3
lineAll массивом сделать что ли?
поле clist множественные значения может содержать?
Мне надо убрать поле clist, а то что в него заносится перенести в массив и уже из него передать на отчет в вордовский документ. Вообщем сделать тоже самое что и в коде, только массивом.
 

savl

Lotus team
28.10.2011
2 136
105
#4
Кажись так, надо изменить объявление переменных и блок цикла
Код:
Dim line1 As String 
Dim lineAll() As Variant
dim i as long

' твой код

line1 = ""
i=0
Do While Not sdoc Is Nothing 
line1 = line1 & sdoc.GetItemValue("ToDate")(0) & " " & line1 & sdoc.GetItemValue("Year")(0) & "-" & sdoc.GetItemValue("RegNum")(0) & sdoc.GetItemValue("Lit")(0) & " " & sdoc.GetItemValue("ToName")(0) & Chr(10)

ReDim Preserve lineAll(0 To i) As Variant
lineAll(UBound(lineAll))= line1 

line1 = ""
i =i+1
Set sdoc = sview.GetNextDocument(sdoc)
Loop