Почему не работет метод Seek

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Nazar
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 03.05.2004 (Пн) 21:07

Почему не работет метод Seek

Сообщение Nazar » 01.08.2006 (Вт) 11:16

1. Когда открываеш Recordset методом:
'Rec.Open "DataBase", Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Seek замечательно работет.
Когда открываеш Recordset методом:
StSQL = "SELECT * FROM DataBase WHERE Field1= " & Form1.Combo2 & " ORDER BY etm"
Rec.Open StrSQL, Conn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
на строке Rec.Index="PrimaryKey"
Пишет ошибку "Текущий проводник не поддерживает необходимый интерфейс для функции индекс."
В чем ошибка?

2. Можно ли сделать текущей запись найденную в Recordset следующим образом:
Rec.ActiveConnection.Execute "SELECT * FROM DataBase WHERE Field1= " & Form1.Combo2 & " AND Field2=" & Form1.Combo5 & ""

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 01.08.2006 (Вт) 13:25

1. Может "Primary Key"?
2. Нет. Текущая запись устанавливается с помощью AbsolutePosition, Bookmark, Move....
Лучший способ понять что-то самому — объяснить это другому.

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Re: Почему не работет метод Seek

Сообщение Gloom » 01.08.2006 (Вт) 13:34

1. Seek можно использовать только с таблицами целиком, запросы не прокатят.
2.
Код: Выделить всё
Rec.Filter = "Field1= " & Form1.Combo2 & " AND Field2=" & Form1.Combo5

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 01.08.2006 (Вт) 13:46

Seek можно использовать только с таблицами целиком, запросы не прокатят
Могу ошибиться, но разве этот метод работает не с набором записей? А если так, то какая разнца, таблица целиком или результат запроса?
А я все практикую лечение травами...

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 01.08.2006 (Вт) 14:24

Twister писал(а):Могу ошибиться, но разве этот метод работает не с набором записей?

Нет. Не случайно ведь для использования Seek нужен серверный курсор и adCmdTableDirect.
Например для акесных таблиц микрософт явно указывает:
You cannot use the Seek method on objects such as queries and linked tables. You can only use the Seek method on native Microsoft Jet tables.
А для SQL Server(хоть Seek и не поддерживается sqloledb) попытка открыть запрос типа "select * from ..." с опцией adCmdTableDirect и вовсе вызовет ошибку...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 17

    TopList  
cron