Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/69: Рейтинг темы: голосов - 69, средняя оценка - 4.90
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142

Сделать выборку из picklist dbgrid для отбора в другой таблице на основе этой выборки

23.12.2013, 22:56. Показов 14039. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И снова я в запаре.. дым с ушей идет короче задача такая нужно сделать фильтрацию через комбобоксы дбгрида, например есть дбгрид где 3 столбца и в них должны выставляться значения для фильтрации, другого дбгрида (где записи основной таблицы), т.е. выбираю в 1-м поле поле сортировки, во 2-м поле действие, а в третьем поле значение по которому сортировать или выполнять условие.. для наглядности дополню скринами, тут вопрос как сделать в пиклисте эти условия отбора (запросы) как их привязать к пиклисту?
Миниатюры
Сделать выборку из picklist dbgrid для отбора в другой таблице на основе этой выборки  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2013, 22:56
Ответы с готовыми решениями:

Как вывести в DBGrid информацию только по выбранной строке в другой таблице DBGrid?
У меня есть 3 таблицы - Компании, Адреса и Квартиры. Компании содержит поля - Код компании и название Адреса содержит поля - Код...

Результат выборки передать GET запросом для изменения условий другой выборки
Есть такая таблица menu: Таким запросом вывожу на страницу: <?php include ("bd.php"); function display_menus($parent = 0) ...

Как сделать с этой выборки меню?
Добрый день. Подскажите пожалуйста как сделать с этой выборки меню, что-то нормальное. Сейчас все пункты категорий сливаются и не понять...

14
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
24.12.2013, 00:50  [ТС]
а ниже чтоб в таблице Клиенты в зависимости от фильтра все менялось.

Добавлено через 18 минут
короче, вот нюанс тут в чем как сделать такой запрос который бы брал выбранные мною значения(условия) из пиклиста?

Добавлено через 1 час 1 минуту
я тут подумал может поставить combobox и edit вместо dbgrid, если это облегчит задачу.. но даже так я не знаю как брать значение оттуда и подставлять в запрос ???
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.12.2013, 00:52
Вот это подставляешь в запрос
C++
1
DBGrid1->Columns->Items[i]->PickList->Text
1
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
24.12.2013, 18:20  [ТС]
спасибо, но такой нюанс если в дбгриде выбрано например условие: равно или содержит и т.п. как эти слова перевести в действия "=" "like" и вставить в sql запрос?

Добавлено через 3 часа 44 минуты
хочу из 3-го столбца выбранное значение(имя столбца) вставить значение в запрос sql но пока не выходит, наверно пишу бред(еще хочу чтобы по caption определяло имя столбца), вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(DBGrid12->SelectedIndex == 4){
int i;
//String S1 = DBGrid12->Columns->Items[2];
String S2 = DBGrid12->Columns->Items[2]->FieldName;
DataModule2->ADOQuery3->Close();          //
DataModule2->ADOQuery3->SQL->Clear();    //
DataModule2->ADOQuery3->Active=true;    //
DataModule2->ADOQuery3->Open();        //
DataModule2->ADOQuery3->SQL->Text="SELECT * FROM tblMain WHERE "+S2+"";
    DataModule2->ADOTable4->First();
    for (i=0;i<DataModule2->ADOTable4->RecordCount;i++){
    DBGrid12->Columns->Items[4]->PickList->Add(DataModule2->ADOQuery3->SQL->Text);
    //ADOQuery1->SQL->Text="SELECT * FROM "+ADOQuery2->Fields->FieldByName("Íàèìåíîâàíèå")->Text+" WHERE Êîä_òîâàðà LIKE '%"+a+"%'";
    DataModule2->ADOTable4->Next();
    }
щас ошибка при запуске: missing SQl property
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.12.2013, 18:49
Тебе надо чтобы в одном гриде выбирать потом вставлять в запрос и выводило результат в другом гриде?
0
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
24.12.2013, 20:29  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Тебе надо чтобы в одном гриде выбирать потом вставлять в запрос и выводило результат в другом гриде?
да все верно
0
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
25.12.2013, 01:58  [ТС]
возможно начал делать неверно подкорректируйте:
C++
1
2
3
4
5
DataModule2->ADOQuery3->Close();
 DataModule2->ADOQuery3->SQL->Clear();
 DataModule2->ADOQuery3->SQL->Add("SELECT * FROM tblMain WHERE "+DBGrid12->Columns->Items[2]->Field->Value+" "+DBGrid12->Columns->Items[3]->Field->Value+" '"+DBGrid12->Columns->Items[4]->Field->Value+"' ");
 DataModule2->ADOQuery3->Open();
 DataModule2->ADOTable4->Sort=""+DataModule2->ADOQuery3->SQL->Text+"";
и вот в результате вылетает окно..
Миниатюры
Сделать выборку из picklist dbgrid для отбора в другой таблице на основе этой выборки  
0
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
25.12.2013, 02:09  [ТС]
а если заполнить вот так то такая ошибка.. подскажите как правильно составить запрос ...
Миниатюры
Сделать выборку из picklist dbgrid для отбора в другой таблице на основе этой выборки  
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.12.2013, 02:14
А какой DBGrid откуда выводит?
0
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
25.12.2013, 12:47  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
А какой DBGrid откуда выводит?
C dbgrid12(это верхний) берутся значения для запроса, а в dbgrid4 (adotable4, нижний дбгрид) хочу сделать сортировку..

Добавлено через 6 минут
dbgrid12(это adotable12)
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.12.2013, 13:16
Цитата Сообщение от helsik Посмотреть сообщение
возможно начал делать неверно подкорректируйте:
C++
1
2
3
4
5
DataModule2->ADOQuery3->Close();
 DataModule2->ADOQuery3->SQL->Clear();
 DataModule2->ADOQuery3->SQL->Add("SELECT * FROM tblMain WHERE "+DBGrid12->Columns->Items[2]->Field->Value+" "+DBGrid12->Columns->Items[3]->Field->Value+" '"+DBGrid12->Columns->Items[4]->Field->Value+"' ");
 DataModule2->ADOQuery3->Open();
 DataModule2->ADOTable4->Sort=""+DataModule2->ADOQuery3->SQL->Text+"";
и вот в результате вылетает окно..
Запрос не правильный. Где после слова WHERE пречисление полей?

Добавлено через 1 минуту
Цитата Сообщение от Sasha Посмотреть сообщение
DataModule2->ADOTable4->Sort=""+DataModule2->ADOQuery3->SQL->Text+"";
А такая сортировка из мира фантастики так никто не сортирует
0
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
25.12.2013, 13:19  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
А такая сортировка из мира фантастики так никто не сортирует
а как мне вытянуть из sql сортировку?
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
25.12.2013, 13:23
Самое простое,что я тебе скажу,берешь...
1) создаешь временную таблицу,в которую вытягиваешь данные которые тебе нужно отобразить.
2) отображаешь данные уже с темповой таблицы,которая отсортирована,как нужно. при каждом обновлении Делать
SQL
1
 TRUNCATE TABLE имя_table
ну конечно же,сначало транкейтить,потом заполнять таблицу.
0
 Аватар для helsik
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
25.12.2013, 13:24  [ТС]
Цитата Сообщение от Sasha Посмотреть сообщение
Запрос не правильный. Где после слова WHERE пречисление полей?
"+DBGrid12->Columns->Items[2]->Field->Value+" это поле по которому сортировать, точно, но блин как определить каких полей не хватает для сортировки, ведь может быть выбрано любое поле... как сделать подстановку остальных полей?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.12.2013, 13:25
Цитата Сообщение от helsik Посмотреть сообщение
а как мне вытянуть из sql сортировку?
Вытягивать ничего не надо надо указывать сортировку в запросе на самом его создании
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2013, 13:25
Помогаю со студенческими работами здесь

Изменение записи в одной таблице на основе другой
На первом скриншоте суть работы формы такая. После выбора чека (1) в ADOTable1 выводятся данные о продаже. К ADOTable1 подключены 2...

Как сделать выборку из таблицы на основе данных текущего юзера?
Собственно, вот. Имею проектик в ASP.NET с базой данных и авторизацией, работающей через EntityFramework. Стала задача: в контроллере надо...

На основе БД Sales сделать 3 любые хранимые процедуры по любой таблице и 3 любых триггера также по любой таблице
Помогите пожалуйста! На основе БД Sales сделать 3 любые хранимые процедуры по любой таблице и 3 любых триггера также по любой таблице....

DBGRID Picklist
Здравствуйте! Сколько не ищу, не могу найти ответ на вопрос. У меня есть dbgrid с одной лишь таблицей, в которой несколько полей. В одном...

DBGrid PickList
Ребят, нужно что бы PickList заполнялся автоматически из заранее созданной базы. У меня получается добавить только 1 значение, которое...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru