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

Открыть несколько таблиц в DBGrid

31.01.2016, 22:10. Показов 5080. Ответов 20

Студворк — интернет-сервис помощи студентам
Ребят, вопрос таков: на форме имеется DBGrid, DataSource, ADOConnection, ADOQuery и RadioGroup. В БД имеется две таблицы (MS Access). Возможно ли и если да, то как открыть нужную таблицу (например, tab1 и tab2), нажав одну из кнопок в RadioGroup (1 - tab1, 2 - tab2)? Многое перерыл уже в интернете... Глухо как-то. Подскажите, пожалуйста. Если при данном способе нельзя это сделать, то каким способом это сделать можно?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2016, 22:10
Ответы с готовыми решениями:

Несколько таблиц в одном DBGrid
БД ACSESS, ADOQuery,DBGrid. Есть 2 таблицы с разным кол-вом полей. Как вывести обе в один DBGrid? т.е. есть 1 таблица Банк (поля:ФИО,...

Несколько таблиц в одном DBGrid
Здравствуйте! Как отображать в дбгриде разные таблицы? То есть есть база данных со справочниками, на форме комбобокс с названием таблицы,...

Вывод в DBGrid из 3х таблиц?
День добрый! Подскажите использую Delphi 6.0 + IB 6.0. Нужно вывести в DBGrid информацию и 3-х таблиц (Наименование, Тип, id). Пробовал...

20
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
31.01.2016, 22:36
у какого-то из этих компонентов есть свойство TableName - в зависимости от RadioGroup.ItemIndex меняйте таблицу и все

но есть и второй способ - SQL запросом получать таблицу и выводить ее
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 12
31.01.2016, 22:45  [ТС]
qwertehok, я и сам знаю, что можно SQL-ем сделать. Вопрос тот же - как? Не знаю как прописать ни тем, ни другим способом. Если есть возможность, набросайте пример по выше указанным данным. Уже неделю дергаюсь с этим
0
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
31.01.2016, 23:09
Archibald26, вы свойство TableName нашли?

Цитата Сообщение от Archibald26 Посмотреть сообщение
Если есть возможность, набросайте пример
в этой ветке почти все вопросы по SQL
поищите сами, это же простейший SELECT
0
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
01.02.2016, 00:52
Цитата Сообщение от qwertehok Посмотреть сообщение
у какого-то из этих компонентов есть свойство TableName
Хм. У какого бы оно могло бы быть?

Добавлено через 2 минуты
Цитата Сообщение от Archibald26 Посмотреть сообщение
Многое перерыл уже в интернете... Глухо как-то.
Так учиться было надо, а не танцевать!
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 12
01.02.2016, 13:50  [ТС]
Так никто и не учится, я новичок
0
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
01.02.2016, 13:54
Archibald26, вы свою задачу выполнили?
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 12
01.02.2016, 14:06  [ТС]
qwertehok, если бы сделал - отписался, а так нет. Не понимаю, хоть застрелите, как составить запрос на открытие другой таблицы через SQL методом Select Оо
0
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
01.02.2016, 14:13
Archibald26, покажите что вы сделали
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 12
01.02.2016, 14:31  [ТС]
qwertehok, чушь делал: "if rg1.ItemIndex=1 then qry1.SQL.Text:='Select *from tab1'" и еще пытался извращаться со свойствами sql. и qry., пытаясь найти там что-то похоже на open (а-ля show). Глупости говорю, знаю
0
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
01.02.2016, 14:47
Лучший ответ Сообщение было отмечено Archibald26 как решение

Решение

Archibald26,
Delphi
1
2
3
4
5
6
7
8
9
case rg1.ItemIndex of
  0: t:='tab1';
  1: t:='tab2';
end;
 
adoconnection.connection:=false;
adoquery.active:=false;
adoquery.sql.text:='select * from'+quotedstr(t);
adoquery.active:=true;
как-то так.
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 12
01.02.2016, 15:09  [ТС]
qwertehok, надо же t объявить? Оо
Delphi
1
2
3
4
5
6
7
8
9
10
11
var t: string; // !!!
begin
case rg1.ItemIndex of
  0: t:='tab1';
  1: t:='tab2';
end;
Form1.con1:=False;
Form1.qry1.Active:=false;
Form1.qry1.SQL.Text:='select * from'+quotedstr(t);
Form1.qry1.Active:=true;
end;
Добавлено через 6 минут
А также я не вижу свойства "connection" у adocon
0
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
01.02.2016, 15:11
Archibald26, мне за вас еще и переменные объявлять?
вроде оно называется Connected

вы принцип поняли?
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 12
01.02.2016, 15:19  [ТС]
qwertehok, за меня не нужно, я же просто спросил. А про ''connected'':
Delphi
1
2
3
4
5
6
7
8
9
10
var t: string;
begin
case rg1.ItemIndex of
  0: t:='tab1';
  1: t:='tab2';
end;
Form1.con1.connected:=False;
Form1.qry1.Active:=false;
Form1.qry1.SQL.Text:='select * from'+quotedstr(t);
Form1.qry1.Active:=true;
Миниатюры
Открыть несколько таблиц в DBGrid  
0
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
01.02.2016, 15:28
вместо from' надо написать from '

поставить пробел между from и кавычкой
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 12
01.02.2016, 15:37  [ТС]
qwertehok, ничего не изменилось. Может быть я еще что-то неверно делаю или подключаю таблицы..
Собственно qry -> properties -> SQL -> Select *from tab1, tab2 - вроде как верно?
0
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
01.02.2016, 15:39
Цитата Сообщение от Archibald26 Посмотреть сообщение
вроде как верно?
нет
не надо ничего никуда писать
все действия происходят во время выполнения программы

Добавлено через 20 секунд
нужно только DBGrid привязать куда нужно
0
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
01.02.2016, 15:39
Delphi
1
Form1.qry1.SQL.Text:='select * from '+t;
1
5980 / 4555 / 1095
Регистрация: 29.08.2013
Сообщений: 28,183
Записей в блоге: 3
01.02.2016, 15:42
да, точно, в кавычки таблицу не надо (((
1
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 12
01.02.2016, 15:44  [ТС]
northener, рабоооооооооооооооооооотает

Добавлено через 1 минуту
qwertehok и northener, огромнейшее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.02.2016, 15:44
Помогаю со студенческими работами здесь

Добавить в DBGrid поля из 2х таблиц
Здравствуйте, на просторах инета нашел такой запрос для открытия нескольких таблиц в DBGrid SELECT Klient.ФИО, Klient.Серия и номер...

Данные из таблиц не отображаются в DbGrid-е
пропали данные из нескольких таблиц, они не отображаются в dbgrid, помогите их вернуть:)

Экспорт таблиц DBGrid в Word
У меня имеется две таблицы dbgrid. 2-ой dbgrid зависит от 1-ого dbgrid. Как сделать цикл создания таблиц в Word. Например если в 1 dbgrid...

Выборка из трёх таблиц DBGrid
Добрый день, не могу понять почему у меня не работает второй JOIN ... Если делаю так то работает, но это объединение двух таблиц, а...

Добавление в DBGrid полей из 3 таблиц
Помогите плиз нужно в делфи вывести в DBGRID поля из 3 таблиц, Sql я написал а вот как дальше сделать незнаю. select...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru