Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.11.2021
Сообщений: 15
Builder 6

Как перевести курсор таблицы ADOTable на нужную запись в зависимости от выбранного пункта в ListBox-e? Оч нужно

01.12.2021, 01:01. Показов 1913. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть таблица ADOTable. Ее второе поле означает вид деятельности, я извлекаю эти поля и вставляю их текст как пункты ListBox-а. Как мне теперь в зависимости от выбранного пункта в ListBox-e, как определить какая это запись?

В общем есть таблица Acess. В ней 2 таблицы - первая - виды деятельности, вторая - собственно конкретная деятельность. Им соответствуют 2 ListBox-a. В первом должны быть значения из таблицы 1(я это уже сделал) - виды деятельности, а во втором - когда я выбираю конкретное поле из ListBox1, должны появляться соответствующие записи из второй таблицы.

C++
1
2
3
4
5
for(int i = 1; i <=ADOTable2->RecordCount; i++)
{
ListBox1->Items->Add(ADOTable2->Fields->Fields[1]->AsString);
ADOTable2->Next();
}
- Код добавления значений полей из первой таблицы
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2021, 01:01
Ответы с готовыми решениями:

Выполнять действия в зависимости от выбранного пункта RadioButton
Всем привет. Есть кнопка необходимо по ее нажатию выполнять различные действия в зависимости от выбранного пункта RadioButton?

Изменить данные в зависимости от выбранного пункта меню
Всем доброго времени суток! Сразу оговорюсь, что web-программированием раньше не занимался, но когда-то приходится начинать. ...

Присвоить значение переменной в зависимости от выбранного пункта ComboBox
Искал по форуму, нашёл похожую тему, но код оттуда выдаёт ошибку В целом: нужно при выборе из списка combobox итема a задать значение...

1
Модератор
 Аватар для D1973
9929 / 6466 / 2457
Регистрация: 21.01.2014
Сообщений: 27,420
Записей в блоге: 3
01.12.2021, 05:08
Лучший ответ Сообщение было отмечено Netterrr как решение

Решение

Цитата Сообщение от Netterrr Посмотреть сообщение
я извлекаю эти поля и вставляю их текст как пункты ListBox-а. Как мне теперь в зависимости от выбранного пункта в ListBox-e, как определить какая это запись?
Да никак. Если Вы вносите в ЛистБокс список полей, то при чем тут совсем другая сущность - записи? Ересь какая-то... Тем большая, что код абсолютно не соответствует текстовому описанию - в коде-то Вы как раз добавляете в список все записи определенного поля.

И вот еще нюанс. Нормальные приложения работают напрямую с таблицами очень в редких, можно сказать, единичных случаях. Во всех остальных - используются запросы и, соответственно, компоненты TADOQuery, TADODataSet.
А, кстати, а что будет, если не вываливать на пользователя все поля таблицы БД, а попытаться показывать только нужные, сделать более привлекательный интерфейс своей программы (сейчас он просто ужасен, в этом я уверен на 99%)? Не знаете? Тогда я Вас скажу - или Вы получите в списке совсем не то, что хотели, или, в случае несовпадения типов данных, просто AV. Все потому, что порядок следования полей определяется или явным указанием этого следования в SQL-запросе, либо, в случае TADOTable, какими-то подковерными махинациями самого компонента (там, в итоге, все тоже сводится к SQL-запросу, вот только текст такого запроса Вы не видите и повлиять на ситуацию никак не можете, вот в чем беда). В итоге, Ваше Fields[1] может оказаться сроду не тем полем, на которое Вы рассчитывали. Но ведь решение-то самое что ни на есть элементарное и приближенное к жизни: обращаться к полю по имени. Имя поля - вещь в рамках одной таблицы уникальная, разногласий возникнуть не может от слова "совсем".

Цитата Сообщение от Netterrr Посмотреть сообщение
когда я выбираю конкретное поле из ListBox1, должны появляться соответствующие записи из второй таблицы.
Запись таблицы БД - это совокупность данных разного типа из набора полей, преобразовать весь этот разношерстный набор в строку можно, конечно, и даже добавить эту строку (неизвестно, какой длины) в список, но вот зачем? У меня складывается такое ощущение, что Вы просто не можете свою мысль донести, т.к. сами не понимаете толком, чего хотите. Поэтому прикрепляйте архив своего проекта вместе с базой и внятно, подробно опишите, какими данными должен быть заполнен второй КомбоБокс...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2021, 05:08
Помогаю со студенческими работами здесь

Заполнение контекстного меню TreeView в зависимости от выбранного пункта
Коллеги, добрый день! Имеется приложение на .NET 4.5, на главной форме есть TreeView с контекстным меню, необходимо заполнять пункты...

Передать в константу значение в зависимости от выбранного пользователем пункта
Необходимо, чтобы в зависимости от выбранного пользователем материала функция возвращала значение из файла. Есть код: double...

Работа того или иного кода в зависимости от выбранного пункта меню
Как сделать для программы меню типа такого? #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; #include&lt;stdlib.h&gt; ...

Как при открытии формы установит список (listbox) на нужную запись?
Доброго времени суток, уважаемые гуру! Есть ленточная форма Поиск, в которой при DblClick по полю FIO открывается другая форма Form2. В...

Html: в блоке Select значение addr.SelectedIndex всегда остается 0, вне зависимости от выбранного пункта
Доброго времени суток уважаемые форумчане! Вопрос банален до невозможности, но сам не понимаю в чем дело. Прошу помочь разобраться. ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru