Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/58: Рейтинг темы: голосов - 58, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 14.04.2006
Сообщений: 5

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

25.04.2006, 09:02. Показов 11806. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи программисты, помогите плиз, как сделать поиск в vb6 по базе данных, где критерий поиска задаётся из строки.
Например, по телефонному справочнику. Чтоб я вводил Ива, а он мне выдавал все такие фамилии типа Иванов, Иванченко, Иварян и т.д.
Visual Basic
1
Data1.RecordSource = "SELECT * FROM Телефоны WHERE [Фамилия] _ LIKE 'Ива*'"
или как здесь задавать вместо Ива* из строки ввода
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.04.2006, 09:02
Ответы с готовыми решениями:

Поиск по базе данных access
Здравствуйте. Как сделать поиск по базе данных access, подключенной к датагридвью по разным полям? Например один тексбокс для поиска...

Поиск по готовой базе данных, сделанной на Microsoft Access
нужно создать программу способную делать поиск по готовой базе данных , сделанной на Microsoft Access, не знаю как связать базу данных с...

Быстрый поиск по базе в Access
Имеется ленточная форма и отдельное поле для ввода. Как сделать так, чтобы когда вводим в это поле слово, то текущая запись изменялась в...

7
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 3
25.04.2006, 09:02
Систаксис запроса указан правильно. Единственное что за знак "_" ?

При всех остальных выполненных условиях, запрос должен работать ....
0
0 / 0 / 0
Регистрация: 14.04.2006
Сообщений: 5
25.04.2006, 09:02  [ТС]
Не, "_" это у меня просто не влезло - это как продолжение строчки...
Мне надо, чтоб можно было задавать это Ива* из программы непосредственно, как переменную.
Подскажите плз как это сделать этим методом, или укажите другой
буду сильно благодарен...
0
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 3
25.04.2006, 09:02
Ну так задавайте это где-то в Edit-е в программе ... а на момент выполнения запроса просто подставляйте в нужное место и добавляйте знак '*'
0
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 38
31.08.2012, 07:54
Тоже проблемка с телефонным справочником) Не приходилось с бд вообще работать.. Чтоб тему новую не создавать тут отпишу вот..
Собственно мне нужно задать программе имя фамилию, и чтоб она выдала всю строку целеком которую найдет. Ну то есть, вот в таблице: номер, имя, фамилия, отчество, телефон, адрес
нужно вырвать всю строчку эту где есть например Вася Пупкин, его телефон и адрес..
Нашёл где-то вот такой примерчик:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim db As DAO.Database 'Объявляем базу данных
Dim rs As DAO.Recordset 'Объявляем рекордсет
Dim sSQL As String 'Переменная, где будет размещён SQL запрос
 
Set db = DAO.OpenDatabase("D:\db1.mdb")
sSQL = "SELECT * FROM orders;"
Set rs = db.OpenRecordset(sSQL)
 
With rs
    .MoveFirst 'Перемещаемся к первой записи
    Do While Not .EOF 'Выполнять пока есть записи
     a = .Fields(0)  'Достаем значение текущей записи для поля номер 0
     b = .Fields(1)  'Достаем значение текущей записи для поля номер 1
     c = .Fields(2)  'Достаем значение текущей записи для поля номер 2
     d = .Fields(3)  'Достаем значение текущей записи для поля номер 3
    
       .MoveNext 'Перемещаемся к следующей записи
    Loop
 End With
ну тут допустим если b и c = тому что в textbox'ах (имя фамилия) то в другой текстбокс выводим a+b+c+d. Вроде работает но вот если бд весит 400 мб то что то виснет все. Есть ли какой вариант поиска в бд более подходящий мне ? и как вообще лучше искать.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.08.2012, 08:13
А не надо доставать всю базу!
В запросе добавь условие отбора WHERE
0
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 38
31.08.2012, 09:05
А как составить запрос? что-то я запутался
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.08.2012, 09:17
кусок из моей программы где формируется строка запроса в зависимости от установленнх галочек:


'Обор данных из таблицы запросом по двум(или одному) условиям
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim S_S 'строка условий отбора
Dim D, L 'значения диаметра и длины
 
'считывание данных с комбобоксов
Диаметры.SetFocus: D = Диаметры.Text
Длинны.SetFocus: L = Длинны.Text
'назначение текущей базы
Set dbs = CurrentDb
 
'если установлен флаг диаметры
If Флажок0.Value = -1 And D <> "" Then
'пишем в строку запроса условие
S_S = " WHERE Метизы.Diameter ='" & D & "'"
End If
'если установлен флаг длина
If Флажок2.Value = -1 And L <> "" Then
'в зависимости от содержания строки запроса пишем или дописываем условия
    S_S = IIf(S_S = "", " WHERE Метизы.Length ='" & L & "'", S_S & " And  Метизы.Length ='" & L & "'")
End If
 
'назначаем списку рекордсет запроса к таблице Метизы с условиием(условиями) отбора
Set Me.Результат_фильтра.Recordset = dbs.OpenRecordset("SELECT Метизы.Name,Метизы.Stall from Метизы " & S_S)
Добавлено через 4 минуты
нетрудно понять, что вся строка запроса примет вид:
Visual Basic
1
"SELECT Метизы.Name,Метизы.Stall from Метизы " WHERE Метизы.Diameter ='" & D & "'" And  Метизы.Length ='" & L & "'")
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.08.2012, 09:17
Помогаю со студенческими работами здесь

Как сотворить поиск записи по базе Access???
Подскажите, кто знает как сотворить поиск записи по базе Access?

Поиск данных в базе access
Всем доброго всемени суток . Хочу проект перенести из Эксель в полноценное приложение.)) пользуюсь vs express. Базы данных уже...

Поиск по базе данных Access
Хочу сделать поиск по базе с помощью метода Locate. procedure TForm1.MyLocate (s:string); begin ...

Реализовать поиск и выбор данных в форме в базе данных Access
Здравствуйте! Подскажите пожалуйста,как реализовать поиск и выбор данных в форме в базе данных Access. Заданы таблицы товар,тип товара,...

Создать поиск в базе данных Access
Уважаемые программисты помогите создать поиск в базе данных Access. Ниже прилагаю базу Поиск должен осуществлятся по имени, фамилии и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru