powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Переход на определенную запись
16 сообщений из 16, страница 1 из 1
Переход на определенную запись
    #36317299
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Необходимо в наборе данных осуществить переход на i-ую запись(Access2007)

rsSklad = ConnSklad.Execute("Select * from [Лист1$] WHERE [Артикул]<>'' ORDER BY [Артикул],[Бренд]")
rsSklad.MoveFirst
Do While Not rsSklad.EOF
i=i+1
rsSklad.MoveNext
if ..... then rsSklad.???
Loop

Думал Move подойдет, но он смещает вперед на i-ое количество записей.
Спасибо.
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36317814
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вопрос-то где?

Вы хотите перейти за i-тую запись?

Или вы хотите перейти на запись, в котором какое-то поле содержит какое-то значение? Тогда укажите, какое поле и какое значение? И вообще, нужны ли вам все остальные записи, или может достаточно включить нужное условие в SELECT?
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36317906
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если вы хотите найти определенную запись в рекордсете, необязательно перебирать все записи, есть метод .Find
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36317930
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Public Sub AbsolutePositionX() 
Dim rstEmployees As ADODB.Recordset 
Dim strCnn As String 
Dim strMessage As String
' Open a recordset for the Employee table 
' using a client cursor. 
strCnn = "driver={SQL Server};server=srv;" & _ 
"uid=sa;pwd=;database=pubs" 
Set rstEmployees = New ADODB.Recordset
' Use client cursor to enable AbsolutePosition property. 
rstEmployees.CursorLocation = adUseClient 
rstEmployees.Open "employee", strCnn, , , adCmdTable 
' Enumerate Recordset. 
Do While Not rstEmployees.EOF
' Display current record information. 
strMessage = "Employee: " & rstEmployees!lName & vbCr & _ 
"(record " & rstEmployees.AbsolutePosition & _ 
" of " & rstEmployees.RecordCount & ")" 
If MsgBox(strMessage, vbOKCancel) = vbCancel Then Exit Do 
rstEmployees.MoveNext 
Loop 
rstEmployees.Close 
End Sub
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36318127
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...мне нужно , чтобы в определенный момент программа могла обратиться к какой-то i-той записи, где i-это номер строки в наборе данных.
Как это сделать?
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36318133
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbsolutePosition ?
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36318173
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexx_SQL...мне нужно , чтобы в определенный момент программа могла обратиться к какой-то i-той записи, где i-это номер строки в наборе данных.
Как это сделать?

.MoveFirst
.Move i
(или .Move i-1, если вы считаете, что первая строка у вас именно первая, а не нулевая)

AbsolutePosition не подойдет - это свойство доступно только по чтению
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36318224
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати

Lexx_SQLДумал Move подойдет, но он смещает вперед на i-ое количество записей.

Move смещает в любую сторону:

msdnMove Method (ADO)

Moves the position of the current record in a Recordset object.

recordset.Move NumRecords, Start

Parameters

NumRecords

A signed Long expression that specifies the number of records that the current record position moves.
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36318435
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProAbsolutePosition не подойдет - это свойство доступно только по чтению

Почему не подойдет? Очень даже то что нужно
ТС нужно именно в этой системе координат. И навигация будет удобной:
Код: plaintext
.Move i - .AbsolutePosition
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36318440
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ГорбоносПочему не подойдет? Очень даже то что нужно
.Move i - .AbsolutePosition
Логично.
Только топикстартер куда-то подевался
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36322471
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...мне нужно , чтобы в определенный момент программа могла обратиться к какой-то i-той записи, где i-это номер строки в наборе данных.
Как это сделать?
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36322509
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexx_SQL...мне нужно , чтобы в определенный момент программа могла обратиться к какой-то i-той записи, где i-это номер строки в наборе данных.
Как это сделать?Если бы речь шла про старый досовский FoxPro, то меня бы такой вопрос не удивил, но когда речь идёт про SQL, вопрос кажется странным.
Там порядок не имеет значения, нужно обращаться к конкретной записи по определенному условию, хотя бы по значению ключевого поля с помощь Where или наподобие того.
Возможно у вас какой-то особый случай.
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36322655
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написано то вроде понятно, не могу понять , почему у меня делает смещение movi i только вперед
Уже поставил вид курсора
rsSklad.CursorType = adOpenDynamic ...и все равно.
Пытаюсь сделать
rsSklad.Move 3, 0
Выдает ошибку "Текущий объект не поддерживает закладки.Это связано с ограничением поставщика или выбранным видом курсора"
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36322659
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexx_SQL...мне нужно , чтобы в определенный момент программа могла обратиться к какой-то i-той записи, где i-это номер строки в наборе данных.
Как это сделать?

Не надо повторять вопрос, на который вам дали ответ, если вы хотите, чтобы с вами общались дальше.
Если что-то неясно в ответах - задавайте уточняющие вопросы.
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36322668
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexx_SQL
rsSklad.CursorType = adOpenDynamic

А если попробовать KeySet?
...
Рейтинг: 0 / 0
Переход на определенную запись
    #36322698
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все..нашел
с ключо rsSklad.CursorType = adOpenKeyset работает
Всем спасибо.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Переход на определенную запись
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]