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

Две таблицы в одном DBGrid

29.02.2012, 22:50. Показов 8882. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Есть DBGrid и две таблицы. Таблицы один содержит информацию по компьютерам (комплектующие), вторая содержит информацию о состоянии ремонта. Необходимо данные из таблицы 1 (перечень комплектующих) отобразить в таблице 2 + столбцы в таблице 2. Т.е. например SQL запрос для базы

SQL
1
'SELECT * FROM Comp, LogC WHERE  Comp.CompId = 21 ';[/
Запрос работает как надо, получаем две таблицы в одной, а вот как теперь это все вывести в 1 грид.

Delphi
1
2
3
4
5
6
7
Form7.ADOQuery1.Active:=False;
Form7.ADOQuery1.SQL.Clear;
Form7.ADOQuery1.SQL.Text:='SELECT * FROM Comp, LogC WHERE  Comp.CompId = 21 ';
//Form7.ADOQuery1.Active:=TRUE;
Form7.ADOQuery1.ExecSql;
Form7.ADOTABLE1.Close;
Form7.ADOTABLE1.Open;
Выводит только одну таблицу. Насколько я понимаю надо брать два ADOTable и каждому присваивать по таблице или есть какой то другой вариант?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.02.2012, 22:50
Ответы с готовыми решениями:

Как связать две таблицы DBGrid
Здравствуйте, подскажите пожалуйста как сделать чтобы в первое таблице за место 1 было слово массаж из второй таблицы. Чтобы за место...

Две таблицы в одном DBGrid
Можно ли при помаши одного DBGrid отображать 2 таблицы по средством кнопок RadioButton, либо через свойство Visible по двум DBGrid если кто...

Две таблицы в одном отчете
Здравствуйте! Подскажите, пожалуйста. Мне нужно в одном отчете напечатать 2 таблицы. В одной таблице работники 1-й смены, в другой - 2-й...

13
 Аватар для reiteriX
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
29.02.2012, 23:44
Цитата Сообщение от Ierehon Посмотреть сообщение
'SELECT * FROM Comp, LogC WHERE Comp.CompId = 21 ';
может:
SQL
1
SELECT Comp.*,LogC.* FROM Comp, LogC WHERE Comp.CompId = 21 ;
?
0
45 / 44 / 2
Регистрация: 06.02.2012
Сообщений: 147
01.03.2012, 12:43
добавь руками столбцы в грид с указанием поля в датасоурсе
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.03.2012, 12:53
Ierehon, ну вообще всегда такое делалось запросом(одним единственным) с указанием нужных полей из нужных таблиц... не понимаю, в чем собственно проблема?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
01.03.2012, 13:25
Ваш код нужно немного подстрогать. Вот тка например:

Delphi
1
2
3
4
5
6
 with ADOQuery1 do
   begin
     if Active  then Cl;ose;
     SQL.Text:='SELECT * FROM Comp, LogC WHERE  Comp.CompId = 21 ';
     Open;
   end;
Заметьте, тэйбла нети вообще.

Правда, в результате Вы получите нередактируемый датасет. Для редактирования (если нужно по техзаданию) нужно добавить в проект форму для редактирования (добавления), которую следует октывать модально. При этом сама правка выполняется отдельным запросом, после чего форма закрывается, а набор данных на осн.форме переоткрывается для отображения только сто измененных данных.

Ну а если все же надо редактировать именно в таблице, тогда кверик не нужен, а следует испольовать фльтрацию
2
0 / 0 / 2
Регистрация: 29.06.2011
Сообщений: 130
01.03.2012, 17:38  [ТС]
Цитата Сообщение от reiteriX Посмотреть сообщение
может:
Код SQL
1
SELECT Comp.*,LogC.* FROM Comp, LogC WHERE Comp.CompId = 21 ;
?
У меня MSSQL 2008 нормально воспринимает приведенный мной запрос, но и этот тоже нормально идет.

Цитата Сообщение от steel_tiger Посмотреть сообщение
добавь руками столбцы в грид с указанием поля в датасоурсе
У меня через 1 grin проходит 3 таблицы + три на журнал, столбцов многовато будет.


Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
Ierehon, ну вообще всегда такое делалось запросом(одним единственным) с указанием нужных полей из нужных таблиц... не понимаю, в чем собственно проблема?
В данном случае нужно вывести 1 таблицу полностью. а от второй только три столбца добавить. Приведенный мной запрос делает это, я не могу понять как это запихать в динамически формируемый грид для трех таких операций. в каждой из которых участвуют по 2 таблицы.

Добавлено через 1 час 57 минут
Все, вопрос решил. Все рабочее просто присвоение было кривое, надо было на ADOQuery1 определять DataSource. Всем кто откликнулся спасибо.
0
0 / 0 / 0
Регистрация: 14.10.2016
Сообщений: 1
28.10.2016, 17:04
не получится,я пробовал не получается

Добавлено через 34 секунды
у меня вообще то 3 таблицы нужно в 1 bdgrid

Добавлено через 1 минуту
не получится
0
W
 Аватар для kavasaka
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
31.10.2016, 09:56
какие 2, 3 ?? sql запрос возвращает одну таблицу
0
31.10.2016, 11:53

Не по теме:

lima959595, все получится не расстраивайся:)

0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
03.08.2017, 15:36
у меня так открывается
adoquery1.SQL.Add('select*from Таблица1, Таблица2');
0
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,366
Записей в блоге: 3
03.08.2017, 17:57
Firuz, это, конечно, очень здорово, что у Вас что-то там открывается, но (если выпустить из виду то, что это совсем неверно), зачем что-то отвечать в теме годичной давности?
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
11.08.2017, 12:05
интересно ?
0
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,366
Записей в блоге: 3
11.08.2017, 16:02
Цитата Сообщение от Firuz Посмотреть сообщение
интересно ?
Абсолютно НЕТ. И еще раз повторю: Незачем отвечать (и тем более флудить) в теме годичной давности!!!
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
23.10.2017, 16:25
ЭТО ТЕБЕ НЕ ЗАЧЕМ А МНЕ ПО ДУШЕ И ТАКИМ КАК Я !)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2017, 16:25
Помогаю со студенческими работами здесь

Две таблицы в одном репорте
Нужно сделать отчёт заказы в Crystal Report. Чтобы было две таблицы: запчасти и работы. Если полей в какой-то из таблиц нет, то таблицу...

Вывести две таблицы в одном запросе
помогите нужно вывести 2 таблицы в одном запросе . к примеру таблица а и б .. помоги сформировать запрос Добавлено через 11 минут ...

Соединить две таблицы в одном запросе
Первый запрос: SELECT * FROM sd_flats_short as f LEFT JOIN (SELECT product_id, category, count(id) as comments FROM sd_comments GROUP...

Две таблицы из разных БД в одном запросе
Вообщем как это можно организовать??? Не хотелось просто что бы одинаковые поля были в двух таблицах.

Как сделать две таблицы в одном виджете?
Есть DockWidget на нем Widget на котором слой, в котором две таблицы.. :) мне надо чтобы эти таблицы хорошо выглядели, и чтобы перемещая...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru