2016-10-06 3 views
0

Я работаю на автоматизированном инструмент сговорчивости и наткнулся на следующую проблему:VB.net первенствует заполняет только в одном пункте на строку

Я генерируя лист первенствовать, который в настоящее время выглядит следующим образом (с использованием манекена данные из-за данных компании):

enter image description here

, но на самом деле должен выглядеть следующим образом (не фактические данные):

enter image description here

информация извлечен из базы данных с помощью следующего запроса в функции под названием getRightsForPath():

"SELECT DUMPSEC.rights 
FROM DUMPSEC 
WHERE DUMPSEC.location ='" & sql2 & "' 
AND DUMPSEC.members = '" & sql1 & "'" 

и это цикл, который должен заботиться о правах, добавляемый в правой ячейке:

For i = 1 To groupCounter Step +1 
    Dim rights = getRightsForPath(sourceLocation, xlWorksheet.Cells(2, i + 1).Value, xlWorksheet.Cells(Row, 1).Value) 

     Do While rights.Read() 

      xlWorksheet.Cells(Row, i + 1) = rights("rights") 
      //MessageBox.Show(locations("location") & ", " & groupOwnerOf("groupname") & ", " & rights("rights")) 

     Loop 

Next 
Row += 1 

ответ

0

хорошо, понял это сам, я забыл поставить все это в цикле и проверять строки, которые будут сделаны (как показано в этом коде)

For Row = 3 To locationCount Step +1 
    For i = 2 To groupCounter + 1 Step +1 
     Dim rights = getRightsForPath(sourceLocation, xlWorksheet.Cells(2, i).Value, xlWorksheet.Cells(Row, 1).Value) 
     Do While rights.Read() 
      xlWorksheet.Cells(Row, i) = rights("rights") 
     Loop 
    Next 
Next 
Смежные вопросы