Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 7

Access, запросы, поиск

09.10.2015, 00:37. Показов 1793. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте! Постараюсь описать суть.
Что имеется: БД Access, в базе 1 таблица "Magazin", имеются 2 поля, "Mag" и "Adress", на форме делфи 2 ComboBox, ADOConnection, ADOTable, ADOQuery, DataSource.
Что хочу сделать: в ComboBox1 будет список магазинов(например, Магнит, Окей и пр.), при выборе из этого списка выдает адреса магазинов в ComboBox2, т.е. выбрал Магнит(ComboBox1), то в ComboBox2 выпадает имеющие адреса этого магазина.
Коды выложить не могу, т.к. ничего не смог придумать, как сделать простой способ делать запросы или поиск, слышал про DBComboBox и DBLookupComboBox, но я толком не смог разобраться, т.к.первый выдает только 1 запись, а второй вообще неактивный. Помогите пожалуйста
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2015, 00:37
Ответы с готовыми решениями:

Запросы в access
ПОЖАЛУЙСТА ПОМОГИТЕ, есть база данных с таблицами Readers (SURNAME, NAME, CITY, AGE, DATE, UNIV_ID, STIPEND, Readers_ID), Libraries...

Access и запросы вставки
Подскажите пожалуйста, выполняю запрос на вставку: procedure TForm1.Button2Click(Sender: TObject); begin with SQLQuery1 do ...

SQL запросы к Access БД
У меня есть Access'овская база в которой находится 4 таблицы, по задумке строки в них выбираются случайно, с этим я более менее разобрался,...

3
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
09.10.2015, 11:17
Заменить ComboBox на DBLookupComboBox и прочитать о "Master-Detail"
0
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 7
09.10.2015, 20:10  [ТС]
ZfoxAK, честно говоря, не смог разобраться с этим локупом, как можно сделать так, чтобы при выборе магазина из ComboBox вывел данные улиц на DBLookupComboBox.
Вот сделал такой код при помощи ComboBox и всё работает
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
comboBox3.Clear;
comboBox3.Text:='Выберите адрес';
with Data do
begin
AdoTable1.TableName:='Mag';
with adotable1 do
begin
open;
while not EOF do
begin
if FieldByName('Spis').AsString=ComboBox1.Text  then  Combobox3.items.Add(FieldByName('Coment').AsString);
next;
end;
close;
end;
end;
end;
0
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
12.10.2015, 06:07
Ивините я не совсем правильно представил структуру вашей БД по этому не верное решение предложил.
вариант структуры БД которая обычно используется
Таблица Magazin
ID_Magazin
Name_Magazin

Вторая таблица адреса магазинов
ID_Addr
ID_Magazin - значение из таблицы Magazin
Addr

Если у вас БД является таблицей аля Эксел, то и способ немного другой.
Использование ADOTable не рассматриваю по многим причина которые здесь перечислять нет желания.
ADOConnection1 <-> ADOQuery1 <-> DataSource1 <-> DBLookupComboBox1
в ADOQuery1 помещается запрос примерно такой
SQL
1
SELECT DISTINCT Mag FROM Magazin
результатом запроса будет выдан набор данных всех магазинов в одном экземпляре который будет хранится в компоненте ADOQuery1
Теперь необходимо получить все адреса выбранного магазина для этого необходимо сделать новый запрос.
ADOConnection1 <-> ADOQuery2 <-> DataSource2 <-> DBLookupListBox1
в ADOQuery2 помещается след. запрос
SQL
1
SELECT Adress FROM Magazin WHERE Mag = :param1
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.DBLookupComboBox1CloseUp(Sender: TObject);
begin
ADOQuery2.close;
ADOQuery2.ParamCheck;
ADOQuery2.Parameters.ParamByName('param1').Value:=DBLookupComboBox1.ListSource.DataSet.FieldByName('Mag').Value;
ADOQuery2.open;
ADOQuery2.first;
Combobox.clear;
while not ADOQuery2.EOF do
begin
ComboBox1.Items.add(ADOQuery2.FieldByName('Adress').Value);
ADOQuery2.next;
end;
end;
примерно так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.10.2015, 06:07
Помогаю со студенческими работами здесь

Delphi access(ADO) 2 таблиы. Запросы
Здравствуйте! Помогите пожалуйста. Имеются 2 базы данных(access) с одинаковой структурой. как правильно составить запрос с условием...

Выполнить запросы Access в среде Delphi
Как через делфи заставить выполниться запросы которые сохранены в бд аксес? Или есть только выполнить запросы делфи к базе аксес? ...

Delphi 7, Access 2003, ADO отчеты, запросы
Ребят, нужна помощь по БД Access в Delphi 7, а именно: как сделать отчет в Delphi? Перерыл много форумов, сайтов, но все без толку. ...

Запросы в Access. Построение графика в Delphi по этим запросам
День добрый. Очень нужна ваша помощь. Я создала в Access запрос с двумя полями. И хочу подключить его к DBChart в Delphi. Проблема в том,...

SQL-запросы к БД (Поиск)
Доброго времени суток! Пытаюсь реализовать поиск по БД в Delphi, только вот неправильный результат всё время выскакивает var ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru