Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266

Создание выпадающего списка в ячейке

09.04.2014, 14:37. Показов 5281. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте. У меня 2 вопроса.
Есть БД созданная при помощи компонентов АДО, соединенная с Акцессом, база выводится в ДБГРИД, Поля созданны через АДОКвери. Вопрос такой - как сделать выпадающий список в ячейках поля id3, при этом чтоб в выпадающем списке были строки : явка, неявка, коммандировочные, больничный и т.д. И при нажатии на строку коммандировочные открывалось окно с новыми данными, при нажатии на строку больничный выходило другое окно с другими данными.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2014, 14:37
Ответы с готовыми решениями:

Создание выпадающего списка в DBGrid+ADOQuery
Здравствуйте. Есть база Access. В ней находится таблица, в которой одно поле является выпадающим списком (тип "мастер...

Создание выпадающего списка в поле таблицы (DBgrid) на Delphi
Здравствуйте! Новичок на этом форуме. Нужна помощь по дипломному проекту на Delphi. БД создала в Access. В ходе разработки такая проблема...

DBLookupComboBox кодировка выпадающего списка
Добрый день! Уже 2-й день рою интернет. не могу найти ответ вот на следующую задачку. DBLookupComboBox выводит данные с русскими...

20
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
09.04.2014, 14:52
Цитата Сообщение от nastena_r_v Посмотреть сообщение
Вопрос такой - как сделать выпадающий список в ячейках поля id3, при этом чтоб в выпадающем списке были строки : явка, неявка, коммандировочные, больничный и т.д.
Vcl.DBGrids.TColumn.PickList
1
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
09.04.2014, 15:13  [ТС]
northener, все поля созданы через SQL-запрос, так же они заданы в ADOQuery, Т.Е. DBGrid служит только для отображения.
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
09.04.2014, 15:30
Цитата Сообщение от nastena_r_v Посмотреть сообщение
northener, все поля созданы через SQL-запрос, так же они заданы в ADOQuery, Т.Е. DBGrid служит только для отображения.
Ну и что?
Или для чего тогда нужен выпадающий список именно в ячейке DBGrid?
1
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
09.04.2014, 15:32  [ТС]
northener, ну в ячейке dbgrid, потому что он отображает, а что, есть какие-то другие предложения???
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
09.04.2014, 15:48
Просто обычный отдельнолежащий комбобокс со списком явка, неявка, коммандировочные, больничный и т.д.
1
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
09.04.2014, 16:43  [ТС]
Не, понимаете, в итоге программа будет - табелем рабочего времени, и т.е. для указания типа явки мне надо будет выбирать между явкой, неявкой и т.д.
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
09.04.2014, 17:00
Ну и выбирай. В чем проблема?
1
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
09.04.2014, 17:05  [ТС]
Вроде получилось сделать выпадающий список, но теперь ошибка выходит.
Миниатюры
Создание выпадающего списка в ячейке  
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
09.04.2014, 17:25
Цитата Сообщение от nastena_r_v Посмотреть сообщение
но теперь ошибка выходит

Не по теме:

То что ошибка выходит уже хорошо. А то у большинства её "выбивает" что-то :)


Код показывай. Без кода сказать ничего нельзя.
0
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
11.04.2014, 09:51  [ТС]
northener, код скидывать это нелогично, потому что он большой, могу прикрепить программу, и при компиляции ошибку увидишь... Может все-таки будут предложения почему она выходит.
Вложения
Тип файла: rar копия.rar (2.90 Мб, 10 просмотров)
0
 Аватар для reiteriX
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
11.04.2014, 10:28
nastena_r_v,
Предлагаю такой вариант..

В запросе вместо * укажите названия столбцов.
Вложения
Тип файла: zip копия2.zip (3.96 Мб, 23 просмотров)
1
 Аватар для Trukhanov_VP
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
11.04.2014, 11:25
Есть стандартный компонент для работы с БД DBLookupComboBox. Добавьте его на форму и в ListSourse укажите ваш DataSource в KeyField выберите идентификатор, а в ListField выберите поле с данными.
2
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
11.04.2014, 11:47  [ТС]
Trukhanov_VP, спасибо за совет, в следующий раз буду иметь в виду, а сейчас сделала через PickList.
reiteriX, Вопрос, зачем Вы добавили ADOQuery2? И для чего он? У меня и так уже есть ADOQuery1. Или я чего-то не понимаю....
0
 Аватар для reiteriX
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
11.04.2014, 11:51
nastena_r_v, я для примера добавил, для наглядности) Перетащить в query1 не проблема, только столбцы тогда убрать от туда, это позволит выполнять не только один запрос.
1
 Аватар для Trukhanov_VP
38 / 38 / 12
Регистрация: 28.03.2013
Сообщений: 272
Записей в блоге: 2
11.04.2014, 12:39
nastena_r_v, не внимательно прочитал. Если речь идет о DBGrid то здесь могу посоветовать прекрасную библиотеку EhLib.
1. Добавляете DBGridEh на форму
2. Добавляете Columns
3. Находите св-во DropDownBox, там указываете ваш запрос в ListDataSource.

p.s. Намного удобнее
3
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
11.04.2014, 13:45  [ТС]
reiteriX, Хорошо попробую, спасибо большое за помощь. А почему ошибка то выходила?

Добавлено через 1 минуту
Trukhanov_VP, Спасибо, опробую =)
0
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
13.04.2014, 08:33  [ТС]
reiteriX, Еще вопрос, а почему, когда я меняю с ADOQuery2, на ADOQuery1, опять выходит ошибка, в чем заключается суть ADOQuery2? И для чего Вы его все-таки поставили, почему бы просто на ADOQuery1 процедуру не сделать? =)
Delphi
1
2
3
4
5
6
7
procedure TForm3.FormShow(Sender: TObject);
begin
  DataModule2.ADOQuery2.SQL.Clear;
  //Надо бы вместо * указать через запятую нормальные названия столбцов
  DataModule2.ADOQuery2.SQL.Add('SELECT * FROM ' + Form1.ComboBox1.Items.Strings[Form1.ComboBox1.ItemIndex]);
  DataModule2.ADOQuery2.Open;
end;
0
 Аватар для reiteriX
685 / 241 / 13
Регистрация: 02.04.2009
Сообщений: 692
14.04.2014, 09:09
Цитата Сообщение от nastena_r_v Посмотреть сообщение
опять выходит ошибка
Ага, а посмотрите разницу между query. Есть там одно свойство....

PS: я бы логику
Delphi
1
AdoQuery1idX.AsFloat := round(z / x*100);
реализовал запросом как-нибудь иначе)
1
 Аватар для nastena_r_v
47 / 47 / 1
Регистрация: 03.05.2012
Сообщений: 266
14.04.2014, 10:35  [ТС]
reiteriX, на сколько я поняла, поменяли свойство CursorType, co Static HA Keyset.
А в чем разница? Св-во Кейсет повышает скорость считывания данных? Или в нем есть другое преимущество?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.04.2014, 10:35
Помогаю со студенческими работами здесь

Добавление данных в таблицу из выпадающего списка
Есть таблица dbgrid, связанная с бд. есть форма, позволяющая добавлять/изменять записи в этой таблице. но не получается добавить данные из...

Показать GroupBox при выборе определенного значения из выпадающего списка
Подскажите, при выборе с выпадающего списка определённого значения,чтобы GroupBox стал visible, что-то не выходит.

Использование компонента и для привязки к БД и для выпадающего списка
Встал такой вопрос, при заполнение БД использую компоненты привязки к БД, а какой компонент использовать для КомбоБокса с привязкой к БД и...

Создание записи в ячейке DBgridEH при выполнении определённого действия
Доброго времени суток! Прошу помощи в составление алгоритма добавления записи в ячейку при выполнение определённого действия! На форме...

Поиск по ячейке одной таблицы и редактирование/создание поля в другой таблице
Пробовал и так: begin id:=datamodule1.ADOQuery1.FieldByName('Примечание_id').AsInteger; ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru