Доступ к результатам в DAO.RecordSet - PullRequest
0 голосов
/ 13 июля 2011

Я использую этот SQL-запрос

SELECT TOP 11 StockPrices.Close FROM StockPrices WHERE StockPrices.Date >=#2009-03-23# AND StockPrices.ID=1 ORDER by StockPrices.Date;

в VBA для извлечения и хранения данных и хранения в наборе записей

SQLQuery = "SELECT TOP 11 StockPrices.Close FROM StockPrices WHERE StockPrices.Date >=#" & tempDate & "# AND StockPrices.ID=" & tempId & " ORDER by StockPrices.Date;"
Set rst2 = db.OpenRecordset(SQLQuery)
Pd = rst2.Fields(0)
Pd1 = rst2.Fields(1)
Pd5 = rst2.Fields(5)
Pd11 = rst2.Fields(10)
rst2.Close

Пока Pd запрашивается отлично, но яне может получить доступ к остальным данным.Как я понимаю, здесь есть только одно поле, то есть закрытие, которое отображается как поля (0), я хочу получить доступ к другим данным в этом же поле.

Позвольте мне привести примерзапрашиваемый результат вышеупомянутого запроса SQL выглядит следующим образом:

3940
2544
5544
5633
1257
9855
3267
3141
2731
6931

SO Я хочу первые, вторые, пятые и десятые данные в списке, которые должны храниться в Pd, Pd1, Pd5 иPd11.

Любая помощь, как это сделать?

Сохам

Ответы [ 2 ]

1 голос
/ 13 июля 2011

С помощью Pd1 = rst2.Fields(1) вы получаете доступ ко второму столбцу текущей строки. Если вы хотите получить доступ ко второму ряду, вам нужно использовать rst2.MoveNext. Приведенный ниже код сохранит все результаты в массив results(). Вы можете получить доступ к пятому результату с помощью results(4).

Dim i as Integer
Dim results(11) as Integer
i = 0
Do while Not rst2.EOF
    results(i) = rs2.fields(0)
    i = i + 1
    rst2.MoveNext
Loop

Для перемещения на несколько шагов вы можете использовать rst2.Move 4, т. Е. Для перемещения на четыре шага. Лучший способ - получить только нужные вам строки (1,5 и 11).

0 голосов
/ 13 июля 2011

Я не очень знаком с Access, но вы пытались сохранить выходные данные в массиве, а затем сослаться на значения массива?

Ура, Visakh

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...