2013-05-23 1 views
0

Я пытаюсь получить список номеров сотрудников из нашей базы данных, чтобы я мог проходить через них, чтобы найти информацию, указанную номером сотрудника. Они не являются последовательными, поэтому счетчик не работает. Я понятия не имею, как получить все эти данные и использовать их, не помещая их в электронную таблицу.Вытягивание столбца значений из SQL и помещение их в массив VBA

Любая помощь была бы принята с благодарностью. Не стесняйтесь спрашивать, есть ли у вас дополнительные вопросы.

+1

'выберите employee_number из your_table группы по employee_number порядка employee_number;' – bernie

+0

, но тогда, как бы я итерация по этим данным? –

+0

http://stackoverflow.com/questions/3955061/vba-adodb-excel-read-data-from-recordset –

ответ

1

Я думаю, что это должно сработать, чтобы поместить поле в массив.

Option Compare Database 

Sub field_to_array() 

    Dim db As Database 
    Dim rs As Recordset 
    Dim eID As Field 
    Dim myArray() As String 
    Dim i As Integer 
    Dim rcount As Integer 


    Set db = CurrentDb() 
    Set rs = db.OpenRecordset("MyTable") 
    Set eID = rs.Fields("employee_id") 

    rcount = rs.RecordCount 
    i = 1 

    ReDim myArray(1 To rcount) 

    For i = 1 To rcount 
     myArray(i) = name 
     rs.MoveNext 
    Next 

    rs.Close 

End Sub 

Function call_col_array() 
    field_to_array 
End Function 
+0

Я не понимаю, почему у вас есть как Sub, так и функция, вызывающая sub? –

+0

'Option Compare Database' используется только с Access, а не с Excel. –

+0

Я думал, что вам нужна функция, чтобы вызвать Sub позже, я довольно новичок в VBA. Если он не нужен, я думаю, его нужно удалить. Я поместил в базу сравнения параметров, потому что думал, что это для Access, а не для Excel. – mollys

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

  • Нет связанных вопросов^_^