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

Связь двух комбобоксов

26.05.2013, 01:20. Показов 1017. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скажите пожалуйста, как связать два комбобокса. Допустим есть таблица (код, имя). Если в 1-ом комбобоксе выбрать определенный код, то во втором комбобоксе появится соответствующее имя этому коду.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2013, 01:20
Ответы с готовыми решениями:

Связь двух комбобоксов
`не получается составить условие есть 2 комбо: в 1 цифра 1-2 во 2 пусто нужно что бы если выбрана цифра 2 во втором комбо...

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

Заполнение ячейки эксель путем двух комбобоксов
Есть форма с данными (ФИО, номер занятия и оценка) нужно чтобы при выборе определенного ФИО и номера занятия значение вписывалось в ячейку,...

4
12 / 10 / 7
Регистрация: 08.02.2013
Сообщений: 254
26.05.2013, 05:42
Сперва свяжи таблицы. А потом пропиши этот код в oncreat. Он заполнит 1 комбобокс.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
with ibqUsers do
      begin
        SQL.Text := 'select * from list_users order by type, fio';
        Open;
        // делаем комбобокс нередактируемым списком
        cbUsers.Style := csDropDownList;
        // запускаем цикл по всем записям, пока они не кончатся
        while not Eof do
        begin
          // заполняем список комбобокс фамилиями
          cbUsers.Items.Add(FieldByName('fio').AsString);
          // следующая запись в БД
          Next;
        end;
А вот этот кусок вставь в 1-й комбобокс в onchange.

Delphi
1
2
3
4
procedure TfAutorization.cbUsersChange(Sender: TObject);
begin
  // выбираем запись в БД соответсвующую номеру в комбобоксе
  ibqUsers.RecNo := cbUsers.ItemIndex + 1;
Ну и 2-ой комбобокс заполняешь по 1 коду.
0
2 / 2 / 1
Регистрация: 23.01.2013
Сообщений: 52
26.05.2013, 17:17  [ТС]
Kamero, Можете объяснить подробнее, а то не очень понятно. Какие таблицы нужно связать? У меня одна таблица nedvigimost (id, name). На форме два компонента combobox. Первый отображает id, второй - name. Допустим в первом комбобоксе выбираем id=3, тогда во втором должно появиться name, соответствующее id=3.
Заполнила комбобоксы:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
procedure TForm6.FormShow(Sender: TObject);
begin
with Unit2.DataModule2.qry  do
 begin
   Close;
   SQL.Clear;
   SQL.Add('select id from nedvigimost');
   Open;
   cbb2.Items.Clear;
   First;
   while not EOF do
    begin
        cbb2.Items.Add(FieldByName('id').AsString);
        Next;
    end;
    cbb2.ItemIndex:=0;
 end;
 
 with Unit2.DataModule2.qry  do
 begin
   Close;
   SQL.Clear;
   SQL.Add('select name from nedvigimost');
   Open;
   cbb6.Items.Clear;
   First;
   while not EOF do
    begin
        cbb6.Items.Add(FieldByName('name').AsString);
        Next;
    end;
 end;
end;
Что нужно вставить в 1-й комбобокс в onchange?И что такое ibqUsers в вашем случае?
Пишу:
Delphi
1
2
3
4
procedure TForm6.cbb2Change(Sender: TObject);
begin
   Unit2.DataModule2.qry.RecNo := cbb6.ItemIndex + 1;
end;
Выскакивает ошибка:Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.

Добавлено через 3 часа 30 минут
Может кто-нибудь другой поможет?
0
12 / 10 / 7
Регистрация: 08.02.2013
Сообщений: 254
26.05.2013, 19:59
Ну тогда теперь просто 2-му комбобоксу присвой значение первого комбобокса.
IntemIndex
0
2 / 2 / 1
Регистрация: 23.01.2013
Сообщений: 52
26.05.2013, 20:59  [ТС]
Kamero, спасибо, теперь работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2013, 20:59
Помогаю со студенческими работами здесь

Связь двух таблиц
Здравствуйте! Вопрос простейший - нужно связать элементы двух таблиц: reviews - основная таблица, отсюда берутся все данные projects...

Связь двух таблиц в БД
Добрый день, требуется ваша помощь. Заранее спасибо. Есть datagridview где я выбираю к примеру Продавца, дальше нажимаю на кнопку,...

Связь двух форм
Здравствуйте. Создаю учебную базу абоненты, есть две формы "абоненты" и "личные данные" созданные на основе таблиц. Необходимо связать...

Связь двух таблиц
Доброго времени суток. Столкнулся с такой проблемой. Есть 2 таблицы: одна называется Заказ, вторая Скидки. Связаны по полю ID_скидки. Мне...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru