Мне нужна сумма двух столбцов в представлении - PullRequest
2 голосов
/ 17 февраля 2009

Я нашел этот код, который проходит и печатает CSV для обоих столбцов. Я позже проанализирую и посчитаю две колонки. Я хочу посчитать это здесь вместо того, чтобы печатать и считать позже. Я слонялся без дела, но не мог понять.

Dim entry As NotesViewEntry
Dim vc As NotesViewEntryCollection
Dim rowstring As String
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim view As NotesView
Set view = db.GetView( nameofview )
Set vc = view.AllEntries
Set entry = vc.GetFirstEntry()

While Not entry Is Nothing 
    rowstring = ""
    Forall colval In entry.ColumnValues
        If rowstring = "" Then
            rowstring = colval
        Else
            rowstring = rowstring + +","  + colval
        End If          
    End Forall
Wend

Спасибо за любую помощь заранее.

1 Ответ

3 голосов
/ 17 февраля 2009

Попробуйте, это накапливает столбцы в rowval путем преобразования строки colval в числовое значение. Вы можете также легко использовать double / CDbl (), если они с плавающей точкой. Это предполагает, что под «подсчетом двух столбцов» вы подразумеваете их суммирование и вывод суммы. Если вы имеете в виду буквально считать, то оставьте его как Integer и измените строку

rowval = rowval + CInt(colval)

до

rowval = rowval + 1

Вот оно:

Dim entry As NotesViewEntry
Dim vc As NotesViewEntryCollection
Dim rowval As Integer                       ' or Double '
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim view As NotesView
Set view = db.GetView( nameofview )
Set vc = view.AllEntries
Set entry = vc.GetFirstEntry()

While Not entry Is Nothing 
    rowval = 0
    Forall colval In entry.ColumnValues
        rowval = rowval + CInt(colval)      ' Or CDbl() '
    End Forall
    ' Output rowval here. '
    Set entry=vc.GetNextEntry (entry)
Wend

Согласно вашему исходному примеру, я ничего не выводил (?), Но я оставил комментарий, где вы должны это сделать.

...