#excel #vb.net #for-loop #oledb
#excel #vb.net #for-цикл #oledb
Вопрос:
Я работаю над инструментом автоматического соответствия требованиям и столкнулся со следующей проблемой:
Я создаю таблицу Excel, которая в настоящее время выглядит следующим образом (используя фиктивные данные из-за данных компании):
но на самом деле должно выглядеть примерно так (не фактические данные):
информация извлекается из базы данных с помощью следующего запроса в вызываемой функции getRightsForPath()
:
"SELECT DUMPSEC.rights
FROM DUMPSEC
WHERE DUMPSEC.location ='" amp; sql2 amp; "'
AND DUMPSEC.members = '" amp; sql1 amp; "'"
и это цикл, который должен позаботиться о правах, добавляемых в нужную ячейку:
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") amp; ", " amp; groupOwnerOf("groupname") amp; ", " amp; rights("rights"))
Loop
Next
Row = 1
Ответ №1:
хорошо, я понял это сам, я забыл поместить все это в цикл и проверить, какие строки нужно выполнить (как показано в этом коде)
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