2009-02-17 18 views
2

Я нашел этот код, который проходит и выводит 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 

Благодарим за любую помощь заранее.

ответ

3

Попробуйте это, он накапливает столбцы в 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 

Согласно исходному образцу, я убежищем 't выводить что-нибудь (?), но я добавил комментарий, где вы должны это сделать.

+0

спасибо. Извините, я должен был быть более конкретным, потому что я имел в виду сумму двух столбцов. Хорошо, значит ли это, что rowval - это двухъядерный массив с обеими суммами внутри? Как у меня есть две целые переменные, равные каждой сумме? – Todd

+0

Я пытаюсь отправить по электронной почте каждую сумму столбца. Я попытался поставить Вызов rtitem.AppendText (rowval) , и агент не работает полностью. Любые мысли о том, почему это произойдет? Еще раз спасибо за помощь. – Todd

+0

В ответ на ваш первый, rowval инициализируется для каждой строки, после чего к нему добавлен colval. Где он говорит «output rowval here», здесь вам нужно обработать rowval для только что сделанной строки. – paxdiablo

Смежные вопросы