![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 15
|
![]()
В Fast-е создаю отчет. Есть таблица: День недели|Время|Предмет|Кто проводит.(Если в один день несколько предметов, то в одной и другой строке пишется "понедельник"и т.д.)
На основе этой таблицы создаю отчет, но загвоздка в том, что в, например, в понедельник м.б. несколько предметов. Во вторник-один. И т.д. Как в FR сделать такую таблицу, чтобы первая колонка (день недели) динамически растягивалась на определенную длину, соответствующую нескольким строкам дальнейших столбцов???!!?!?!? ![]() И еще такой вопрос: на форме есть 3 DBLoockupcomboBox. Выпадающие списки у них берутся из одной таблицы, но по разным столбцам. (Таблица: Дисциплина|тема|занятие)В первом выбирается "Дисциплина", во втором "Тема", в третьем "Занятие". Т.е.Безымянный.JPG Как сделать фильтр на таблицу, чтобы при выборе дисциплины по нажатии на след. DBLoockupcomboBox(тема) выпадали только темы этой дисциплины?!?!? Пробовал Form3.ZanyatiyaTable.Filter:='[Название дисциплины]='+QuotedStr(DBLookupComboBox6.Text ); Form3.ZanyatiyaTable.Filter:='[Тема занятий]='+ QuotedStr(DBLookupComboBox4.Text); но работает как-то некоректно!!! ![]() |
![]() |
![]() |
![]() |
#2 | ||
Форумчанин
Регистрация: 04.10.2007
Сообщений: 106
|
![]() Цитата:
Цитата:
Т.е. для первого: - ...where ZanyatiyaTable.Название дисциплины=(like)[Название дисциплины]... для второго: - ... where ZanyatiyaTable.Название дисциплины=(like)[Название дисциплины] AND ZanyatiyaTable.Тема занятий=(like)[Тема занятий]... И так далее, повторяя вс предыдущие условия и наращивая в каждом по одному новому критерию отбора. Активация следующего комбобокса и его набора данных шла по клику предыдущего, вернее я использовал DBLoockupListBox и двойной клик для четкого волеизъявления пользователя, а то мало ли может он просто хотел посмотреть что в списке есть. Правда лист бокс занимает больше места. P.S. военный заказ? :) или дело добровольное?
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем Последний раз редактировалось Surgeon; 20.09.2011 в 19:46. |
||
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 15
|
![]()
Хм, да) Неправильно написал) Надо, чтобы сроки в первом столбце растягивались на несколько строк во втором, вот)
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 04.10.2007
Сообщений: 106
|
![]()
А стоит ли так делать? Если правильно понял над DBGrid распологаются компоненты управления фильтром, так? Там отображается выбранный тип занятий и предмет, а в грёд показывать только список тем и кто ведёт занятие. Иначе ИМХО нужны будут дополнительные компоненты из дополнительных библиотек, вроде в VCL ничего такого нет.
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 15
|
![]()
Surgeon, спасибо большое! Ваш совет про Where помог, справился) Вот только новая загвоздка: в таблице много одинаковых строк (дисциплина, тема), и список показывает их все.(Напр: тема1, тема1, тема1, тема2, ема2 и т.д.). Можно ли сделать так, чтобы в списке появлялись только разные по содержанию строки?
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 04.10.2007
Сообщений: 106
|
![]() Цитата:
Используется "like 'Занятие%' "? если так то можно "like 'Занятие1%' " и будут отображены все записи начинаюшиеся с "Занятие1".
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 15
|
![]()
Мне надо, чтобы 1 комбо показывал все дисциплины (здесь не сложно-они не повторяются), 2 комбо, ссылаясь на дисциплину выдавал темы, но только по этой дисциплине (это я сделал,но у меня выводится много одинаковых тем, так как в таблице есть одинаковые записи). Можно ли сделать, чтобы в списке 2 бокса темы не повторялись?
P.S. Заказ-добровольно-принудительный) |
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 04.10.2007
Сообщений: 106
|
![]() Цитата:
P.S. "Беги Лола, беги" (С). Не дай бог заказчик распробует и во вкус войдет... Не слезут же :( А пожелания будут всё мудреннее и мудреннее :(((
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 20.09.2011
Сообщений: 15
|
![]()
Безымянный.JPG
Принцип работы фильтра по таблице занятия(при нажатии на 2 бокс выплывают одинаковые темы*( ) |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 04.10.2007
Сообщений: 106
|
![]() Цитата:
Что-то не в порядке с структурой таблицы и выбором первичного ключа. При проектировании таблицы её приводят последовательно к первой, второй и как минимум третьей нормальной форме. При несоответствии требованиям нормальных структуру корректируют, результат - отсутствие дублирующихся записей.
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Fast Report | Равиль2303 | Компоненты Delphi | 2 | 31.01.2011 16:21 |
Fast Report и DBGrid!!! Все таки как??? | Нур | Общие вопросы Delphi | 3 | 28.01.2011 13:33 |
FAST REPORT | LIEN | Помощь студентам | 8 | 15.09.2009 15:04 |
Fast Report | andreyjn | Компоненты Delphi | 1 | 06.09.2009 20:16 |
fast report | Toxa | Общие вопросы Delphi | 0 | 04.12.2006 10:49 |