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

combobox

18.04.2013, 16:37. Показов 788. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На форме есть dbgrid и две вкладки PageControl: добавление и изменение записи. На первой - вводятся данные в некоторые edit и из combobox выбирается одно из значений (В свойстве Items 6 значений: 1, 2, 3, 4, 5, 6.) и добавляется запись. На второй вкладке есть те же эдиты и в них при щелчке мыши на одной из записей таблицы появляются соответствующие данные, а вот в combobox ничего не появляется. Подскажите как сделать, чтобы в combobox тоже менялись значения в зависимости от выбранной записи (т. е. появлялось либо 1, либо 2, ..., либо 6)
Надеюсь понятно объяснила.
Вот код (нужный combobox это cbb2):
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
34
35
36
37
38
39
40
procedure TForm3.dbcmbxhid1Change(Sender: TObject);
var s1, s2, s3, s4, s5, s6, s7: string;
begin
  s1:= Unit2.DataModule2.qry_sp.Fields[1].AsString;
  dbdth2.Text:=s1;
  s2:= Unit2.DataModule2.qry_sp.Fields[2].AsString;
  mmo3.Text:=s2;
  s3:= Unit2.DataModule2.qry_sp.Fields[3].AsString;
  dbdth4.Text:=s3;
  s4:= Unit2.DataModule2.qry_sp.Fields[4].AsString;
  mmo4.Text:=s4;
  s5:= Unit2.DataModule2.qry_sp.Fields[5].AsString;
  dbdth7.Text:=s5;
  s6:= Unit2.DataModule2.qry_sp.Fields[6].AsString;
  dbdth8.Text:=s6;
  s7:= Unit2.DataModule2.qry_sp.Fields[7].AsString;
  cbb2.Text:=s7;
 
end;
 
procedure TForm3.btn3Click(Sender: TObject);
begin
   with Unit2.DataModule2.qry  do
   begin
     Close;
     SQL.Clear;
     SQL.Add('exec update_sp :id, :name , :address , :phone , :passport_data, :INN, :strah_svid, :category');
     Parameters.ParamByName('id').Value := dbcmbxhid1.Text;
     Parameters.ParamByName('name').Value := dbdth2.Text;
     Parameters.ParamByName('address').Value := mmo3.Text;
     Parameters.ParamByName('phone').Value := dbdth4.Text;
     Parameters.ParamByName('passport_data').Value := mmo4.Text;
     Parameters.ParamByName('INN').Value := dbdth7.Text;
     Parameters.ParamByName('strah_svid').Value := dbdth8.Text;
     Parameters.ParamByName('category').Value := cbb2.Text;
     Execsql;
     Unit2.DataModule2.qry_sp.Active:=False;
     Unit2.DataModule2.qry_sp.Active:=true;
   end;
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2013, 16:37
Ответы с готовыми решениями:

combobox, запись из него в БД и вывод списка из БД в combobox
Уважаемые форумчане подскажите как сделать так что б в таблицу predmet (2 поля id_predmet-счетчик,...

Combobox
Всем привет. Столкнулась с такой проблемой: Мне необходимо сделать, чтоб при выборе статуса в...

ComboBox
у меня проблемка возникла с выводом столбца NAME_SP_E таблицы EDUCAT в ComboBox procedure...

Combobox
Вот такая проблема. Имеется таблица в БД, далее в форме используется Combobox для отображения...

3
0 / 0 / 1
Регистрация: 17.04.2013
Сообщений: 9
18.04.2013, 16:56 2
наверное эдиты твои типа TDBEdit,
тогда вроде этот
Цитата Сообщение от Яна44 Посмотреть сообщение
нужный combobox
должен быть типа TDBComboBox.
0
2 / 2 / 1
Регистрация: 23.01.2013
Сообщений: 52
18.04.2013, 18:37  [ТС] 3
Цитата Сообщение от typeMiha Посмотреть сообщение
наверное эдиты твои типа TDBEdit,
тогда вроде этот

должен быть типа TDBComboBox.
Спасибо, помогло!

Добавлено через 51 минуту
Цитата Сообщение от Яна44 Посмотреть сообщение
Спасибо, помогло!
Но теперь другая проблема: в нужном comboboxе (теперь dbcbb2) меняются цифры в зависимости от записи, но если раскрыть список и выбрать другую цифру (например было 1, хотим поменять на 2, раскрываем список и выбираем 2, но остается все равно 1) можно написать руками цифры от 1 до 6, другие символы не пишутся. но хочется все таки, чтобы цифра менялась при выборе из списка другой. Возможно ли это? Подскажите пожалуйста как сделать? Свойство Style = csDropDown, при других не работает то, что мне нужно было в самом начале.
0
0 / 0 / 1
Регистрация: 17.04.2013
Сообщений: 9
19.04.2013, 09:18 4
Мое предположение:
Покуда dbcbb2 предполагает связь с таблицей данных, то и
изменения надо делать в таблице , типа
Delphi
1
2
3
  ADOQuery.Edit ;
  ADOQuery['Fcbb2'] := 2;
  ADOQuery.Post;
и прикрутиь это действие в событии выбора строки нужного комбобокса.
вроде вот так.

-------
где "Fcbb2" - поле в таблице значения которого попадают в dbcbb2
0
19.04.2013, 09:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2013, 09:18
Помогаю со студенческими работами здесь

Combobox + like
Приветствую. Есть большая таблица имен больше 2 тыс записей. на форме имеестся скажем combobox в...

ComboBox
Здравствуйте! Я работаю с базой данных на Delphi и мне нужно чтобы при нажатии Combobox я из...

Combobox и БД
procedure TForm1.ComboBox2Change(Sender: TObject); begin Combobox3.Clear; ...

ComboBox и БД
Как в комбобокс добавить все строки из Grid или сразу из БД. Из той таблицы из которой хочу взять...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru