• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Поиск по базе данных Access

  • Автор темы Guest_
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_

Товарищи программисты, помогите плиз, как сделать поиск в vb6 по базе данных, где критерий поиска задаётся из строки.
Например, по телефонному справочнику. Чтоб я вводил Ива, а он мне выдавал все такие фамилии типа Иванов, Иванченко, Иварян и т.д.

Data1.RecordSource = "SELECT * FROM Телефоны WHERE [Фамилия] _ LIKE 'Ива*'"

или как здесь задавать вместо Ива* из строки ввода
 
B

Barmutik

Систаксис запроса указан правильно. Единственное что за знак "_" ?

При всех остальных выполненных условиях, запрос должен работать ....
 
G

Guest_

Не, "_" это у меня просто не влезло - это как продолжение строчки...
Мне надо, чтоб можно было задавать это Ива* из программы непосредственно, как переменную.
Подскажите плз как это сделать этим методом, или укажите другой :lol:
буду сильно благодарен... :)
 
B

Barmutik

Ну так задfвайте это где-то в Edit-е в программе ... а на момент выполнения запроса просто подставляйте в нужное место и добавляйте знак '*'
 
X

Xeonic

Извините, а можно поподробнее ,я в vb новичек....
 
B

Barmutik

Ну у вас есть форма где пользователель вводит требуемые ему параметры поиска. Вы их оттуда вычитываете и на основании их формируете ему строку запроса .. с помощью которую потом получаете данные...
 
X

Xeonic

Извините Barmutik, что к вам в аську ломился, просто был в отчаянье(завтра сдавать уже надо)...
А насчёт кода кое-как допёр(при помощи MSDN), так что привожу его далее(может кому понадобится)


Private Sub Command1_Click()
Dim nam As Variant
Dim x As Variant
x = "SELECT * FROM Телефоны WHERE [Фамилия] LIKE '#$%*'"
nam = Text1.Text
Data1.RecordSource = Replace(x, "#$%", nam)
Data1.Refresh
End Sub

корявенько конечно, но может кому пригодится...
 
B

Barmutik

Можно было написать немного проще:

Код:
....
Data1.RecordSource = "SELECT * FROM Телефоны WHERE [Фамилия] LIKE '" + Text1.Text + "*'"
Data1.Refresh
...

А насчёт Аськи .. я отходил просто .. не было на месте... так что вот только увидел Ваш запрос...
 
N

Nadin

Здраввуйте програММисты!
При разработке приложения возникает Вдруг после вроде обычных манипуляций ошибка
Error accessing file.Network connection may been lost
И почти готовое приложение перестаёт работать!
Полный крах!!! Помогите кто знает! Заранее благодарна! :(
 
N

Nadin

Здраввуйте програММисты!
При разработке приложения возникает Вдруг после вроде обычных манипуляций ошибка
Error accessing file.Network connection may been lost
И почти готовое приложение перестаёт работать!
Полный крах!!! Помогите кто знает! Заранее благодарна! :(
 
B

Barmutik

Ну вполне возможно что локальная сеть сглюканула .. в чём проблема? Переоткрывайте базу и переустанаваливайте соединение ...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!