Помогите с поиском по БД в Visual Basic 6.0
Объект Data1 при выполнении программы скрывается. Его заменяют 4 кнопки наверху.
Вот я не могу понять как устроить поиск. В коде кнопки я написал такой код:
При его выполнении пишут ошибку 3251. В интернете нашел другой вариант кода (на этом сайте):
Dim MyTable As Recordset
Set MyTable = Data1.Recordset
MyTable.Index = "AU_ID"
MyTable.Seek "=", 5
Ссылка на статью http://www.codenet.ru/progr/vbasic/vb_db/ раздел "Использование метода Seek для поиска записи."
Но он тоже не работает, при выполнении этого кода жалуется комп на запись Set MyTable = Data1.Recordset
Помогите пожалуйста разобраться. Лучшим вариантом было бы организовать поиск таким методом: Нажимаешь кнопочку Поиск, выскакивает inputbox, в него вводишь ИД записи и при успешном поиске эта запись открывалась на главной форме(верхний рисунок). Если не найдено то сообщить об осутствии. p.s. ещё нужно чтоб ИД не менялся от удаления предыдущих записей. Надеюсь на вашу помощь помогите плз :)
- Data1 - его значение проверьте. Возможно, что там ничего нет. от D129, 24 апреля 2012 года
Код:
Private Sub btnSearch_Click()
On Error Resume Next
Data1.Recordset.MoveFirst
Dim F As String
F = Trim(InputBox("Введите ИМЯ или ФАМИЛИЮ: "))
For i = 0 To 5
If txtName.Text = F Or txtSurname.Text = F Then
i = 10
Else
i = 1
On Error Resume Next
Data1.Recordset.MoveNext
End If
Next
End Sub
On Error Resume Next
Data1.Recordset.MoveFirst
Dim F As String
F = Trim(InputBox("Введите ИМЯ или ФАМИЛИЮ: "))
For i = 0 To 5
If txtName.Text = F Or txtSurname.Text = F Then
i = 10
Else
i = 1
On Error Resume Next
Data1.Recordset.MoveNext
End If
Next
End Sub
Не знаю на сколько гинеален мой код для поиска, но надеюсь нормальный код. :)
Цитата:
MyTable.Index = "AU_ID"
Index должно быть числовое значение.
Цитата:
Вот я не могу понять как устроить поиск.
Узнать Максильное количество полей, потом примерно так
Код:
For i% = 0 To Max
If inputbox = Поле(N) Then
' что-то нашел
End If
Next
If inputbox = Поле(N) Then
' что-то нашел
End If
Next
Цитата:
Ну вот ни кто помочь мне не смог.
НУ-НУ
Теория моего кода более правильна.
Цитата: UserNet2008
Цитата:
Ну вот ни кто помочь мне не смог.
НУ-НУ
Теория моего кода более правильна.
Но эдействие тоже. И практически один и тот же код. Ты узнаешь количество записей в базе и начинаешь искать по базу через цикл For...Next. А я сразу начинаю искать через цикл пока не достигнится последняя запись