Поиск записи в VB6 через ADO

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

Поиск записи в VB6 через ADO

Сообщение dima81 » 06.09.2007 (Чт) 16:10

Есть такая таблица Sik

S Sname Status City

S1 Smith 20 London
S2 Jones 10 Paris
S3 Black 30 Paris
S4 Clark 20 Moscow

В Accessе можно так искать записи из этой таблицы:

Private Sub Form_Load()

Код: Выделить всё
Me.RecordSource = "Sik"
Text1.ControlSource = "S"
Text2.ControlSource = "SNAME"

End Sub

Private Sub CmdFind_Click()
Dim str As String
text6.SetFocus
str = text6.Text
Form.RecordSource = "SELECT S, SNAME, STATUS, CITY from Sik where S.SNAME Like '" & str & "*'"
Text1.ControlSource = "S"
Text2.ControlSource = "SNAME"
End Sub


Когда вводишь в текстовое поле text6 кокое-нибудь имя или часть имени, напр., Jo. И в текстовые поля выводится: в Text1 - S1, в Text2 - Jones

А как можно искать записи в VB6, если я через ADO подключаюсь к базе данной, в которой есть эта таблица (но мне нужно именно поиск по части имени)?

rs1.Open "SELECT S, SNAME, STATUS, CITY from Sik where S.SNAME Like '" & str & "*'"
Text1.Text = rs1.Fields("S")
Text2.Text = rs1.Fields("SNAME")
rs1.Close - не действует, в текстовых полях остаются первые записи
Может как-нибудь через Find? Подскажите, кто сталкивался.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.09.2007 (Чт) 16:15

Не звездочка, а процент.
Lasciate ogni speranza, voi ch'entrate.

dima81
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 26.08.2007 (Вс) 22:36

alibek

Сообщение dima81 » 06.09.2007 (Чт) 16:47

Alibek, помогло. Спасибо.

А может кто-то все-таки знает как искать записи через метод Find (именно по части имени)?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.09.2007 (Чт) 16:55

Выражение для Find в точности соответствует синтаксису WHERE. Ограничений немного, основное из них -- в выражении может быть только один столбец и не допускаются операторы BETWEEN и IN.
Lasciate ogni speranza, voi ch'entrate.

dima81
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 26.08.2007 (Вс) 22:36

alibek

Сообщение dima81 » 06.09.2007 (Чт) 17:01

alibek, ясно. спасибо


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 94

    TopList