Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Vyazan
12 / 12 / 2
Регистрация: 19.03.2012
Сообщений: 170
1

Связать TreeView с базой данных Access / Delphi для начинающих

10.02.2014, 08:28. Просмотров 1551. Ответов 2
Метки нет (Все метки)

Здравствуйте, уважаемые! Есть база Access, программа подключается к ней. В базе две таблицы: с ноутбуками и телефонами. На форме присутствует еще дерево TreeView (во вложениях). Когда была одна таблица с ноутами, по onClick на компоненте TreeView, использовал SQL запрос на поиск в базе. Искал так. В переменную "s" помещался выделенный текст из TreeView и отправлялся запрос.
Delphi
1
2
3
4
5
6
7
8
9
10
11
if (s <> 'Компьютеры') and (s <> 'Компьютерная техника') and (s <> 'Ноутбуки') then
begin
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('SELECT * FROM Base_Nout WHERE Name LIKE ''%'+s+'%''');
  ADOQuery1.Active:=True;
end else
      begin
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('SELECT * FROM Base_Nout ORDER BY Name');
        ADOQuery1.Active:=True;
      end;
Но когда добавилась таблица с телефонами появилась проблема. Для отслеживания открытых таблиц добавил переменную "cat" - категория таблицы (1 - ноутбуки, 2 - телефоны). Если открыта таблица "Base_Nout" (ноутбуки), то что-бы открылась таблица "Base_Tel" (телефоны), приходится для начала тыкнуть в дереве на "Телефоны" (не на плюсик нажать, а именно выделить "Телефоны"), а потом уже на производителя, иначе поиск будет происходить в таблице с ноутбуками. Я понимаю, что такая связь дерева с базой - неправильный подход, но как по другому - не знаю. Помогите мне, пожалуйста, как-бы решить данную проблему. Спасибо.

Структура дерева:
http://www.cyberforum.ru/attachments/363621d1391817434
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2014, 08:28
Ответы с готовыми решениями:

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

Работа в delphi с базой данных access
Здравствуйте. Работаю в Delphi 10.2 с базой данных access. Возникла проблема. В делфи не корректно...

Приложение Delphi с базой данных Access
Вопрос следующий. Есть две таблицы: Предмет и преподаватель (таблицы связаны между собой полем &quot;код...

Работа с базой данных Access в Delphi 7
Всем привет! Нужно связать базу данных Access с Deplhi 7. Как связать одну таблицу с Delphi я...

Работа в Delphi 7 с базой данных из Access (.mdb)
Подскажите как выполнить задание, пишу курсовую работу, заданием было спроектировать ис оптового...

2
Скандербег
954 / 907 / 300
Регистрация: 07.08.2012
Сообщений: 2,517
10.02.2014, 09:33 2
У каждого элемента дерева, кроме тех которые находятся на верхнем уровне есть свойство Parent (в узлах верхнего уровня оно равно nil).
Если проверить что значение TreeView.Selected.Level > 0 и TreeView.Selected.Parent.Text = 'Телефоны',
то переключатся на таблицу с телефонами, если не так, то переключать на таблицу ноуты.
Можно проверять к какой таблице подключаться по свойству Tag элемента.
Для этого, правда, нужно каждому разделу присвоить свое значение Tag при формировании дерева.
Варианты существуют.
Если структуры таблиц не сильно отличаются, то можно и телефоны и ноуты хранить в одной, различая их по флагу в дополнительном поле.
1
Vyazan
12 / 12 / 2
Регистрация: 19.03.2012
Сообщений: 170
10.02.2014, 18:15  [ТС] 3
Большое спасибо. Попробую =)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2014, 18:15

БД Access связать с Delphi
Всем привет!!!! Помогите пожалуйста!!! Мне нужно создать БД в которой есть столбцы (ФИО, ГОД, ТЕМА...

Есть ли способ связать Grid базы данных с TreeView?
subj.

Как связать запрос access с delphi?
kakoi kod nujen


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru