Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.05.31;
Скачать: [xml.tar.bz2];

Вниз

Фильтрация по поисковому полю   Найти похожие ветки 

 
Новичок   (2009-04-14 23:34) [0]

Возникла такая проблема, есть две таблицы Access: Оборудование и Помещения.

Структура:
1. Оборудование: Код - счётчик; Наименование - текстовый; Наименование - текстовый; Дата_выпуска - текстовый; Дата_приобретения - текстовый; Приобретено - текстовый; Количество - числовой; Место_нахождения - числовой; Номер_кабинета - числовой.
2. Помещения: Код - счётчик; Наименование_помещения - текстовый; Длина - текстовый; Ширина - текстовый; Высота - текстовый; Фамилия_ЗК - числовой; Имя_ЗК - числовой; Отчество_ЗК - числовой.

Эти две таблицы подсоединены в Delphi через TAdoTable и отображаются на DBGridах.
В таблице Оборудование создано новое поисковое поле для "Место нахождения". и оно теперь выбирается из выпадающего списка, в зависимости от того, что было введено в таблице Помещения.
Проблема в следующем: нужно чтобы при нажатии на любую строку таблицы Помещения происходила фильтрация в таблице Оборудования по полю "Место нахождения", то есть оставались только те строки в таблице Оборудование в которых значение нового поискового поля равно значению поля Наименование_помещения в таблице Помещения.

Решил сделать следующее: создать в таблице Оборудование новое поле Номер_кабинета и теперь нужно чтобы при изменении поискового поля Место нахождения в таблице Оборудование полю Номер_кабинета таблицы Оборудование присваивалось значение поля Код таблицы помещения. Потом я мог бы сравнивать значение поля Номер_кабинета т. Оборудование и значение поля Код т. Помещения и на их основе производить фильтрацию для отображения только нужных мне данных.
Подскажите, как можно реализовать это: "чтобы при изменении поискового поля Место нахождения в таблице Оборудование полю Номер_кабинета таблицы Оборудование присваивалось значение поля Код таблицы помещения."


 
MsGuns ©   (2009-04-15 00:05) [1]

1)Изучаем SQL и забываем про "фильтрацию" как атавизьм
2)Изучаем ADO и забываем про ADOTable как атавизьм
3)Изучаем правила форума и учимся задавать вопросы кратко, ясно и избыточно, чтобы у мастеров появлялся интерес на них отвечать
4)Аминь.


 
Новичок   (2009-04-15 00:10) [2]


> 3)Изучаем правила форума и учимся задавать вопросы кратко,
>  ясно и избыточно, чтобы у мастеров появлялся интерес на
> них отвечать


если задавать вопросы кратко, то будут просить более полно описать проблему, чтобы можно было понять о чём идёт речь, лучше сразу это сделать...


 
MsGuns ©   (2009-04-15 00:13) [3]

Первые 2 пункта прочитал ?


 
MsGuns ©   (2009-04-15 00:16) [4]

У чела, знающего сиквель хотя бы в общих чертах, подобные вопросы не возникают.
У чела, хотя бы в основных чертах имеющего понятие о ПРОГРАММИРОВАНИИ, подобные вопросы не возникают
У чела, знакомого с Delphi хотя бы на уровне новичка, подобные вопросы не возникают

Короче - в библиотеку !


 
Новичок   (2009-04-15 00:22) [5]

Да..., и сколько можно писать тем, кто не понимает о чём идёт речь и не может помочь в решении проблемы, так как не знает, как это сделать, очередной спам на сайте...


 
Игорь Шевченко ©   (2009-04-15 00:27) [6]

Я понимаю, о чем идет речь, но не вижу проблемы. Проблема может быть выражена следующим образом, я сделал то-то и то-то (фрагмент кода приветствуется), у меня не получается так, как я хочу, по моим предположениям от того-то и того-то.

А когда вопрос стоит "я хочу сделать так-то и так-то, как мне сделать", это не проблема, а нежелание напрягаться.

Ну и нам неохота напрягаться, уж извини


 
Новичок   (2009-04-15 00:33) [7]


> это не проблема, а нежелание напрягаться

как раз таки это проблема, ибо в книжке "Библия Delphi" я не нашёл ответа на свой вопрос, так же как не нашёл ответа на него в Интернете. Потому и пишу здесь...


 
Новичок   (2009-04-15 01:11) [8]

Написал тот код, который мне нужен, но он не работает по событию OnChange виртуального поискового поля, выдаёт ошибку о переполнении буфера: Project School.exe raised exception class EStackOverflow with message "Stack overflow". Process stopped. Use Step or Run to continue.

Вот код, который я вставлял:
DataModule1.OborTable.Fields[9].Value:=DataModule1.PomTable.Fields[0].Value;
Поле Fields[9] это как раз и есть поле Номер_кабинета т. Оборудование, поле Fields[0] это значение поля Код т. Помещения. Отчего происходит ошибка? Как это исправить?
Если тот же код выполнять событии OnChange другого поля, то всё работает, но мне нужно чтобы значение менялось именно по изменении значения виртуального поискового поля. Как это можно осуществить?


 
Игорь Шевченко ©   (2009-04-15 01:22) [9]

Новичок   (15.04.09 00:33) [7]

Кроме книжки Библия Delphi (это не Фленов случаем?) существуют и другие книжки, существует папка Demos, существует Help, существует масса других источников.

Но первый вопрос остался, что уже сделано и что конкретно не получается ?


 
Германн ©   (2009-04-15 01:23) [10]


> Новичок   (15.04.09 00:33) [7]
>
>
> > это не проблема, а нежелание напрягаться
>
> как раз таки это проблема, ибо в книжке "Библия Delphi"
> я не нашёл ответа на свой вопрос, так же как не нашёл ответа
> на него в Интернете. Потому и пишу здесь...

Поиск ответа на "такой" свой вопрос в гугле или в "дешевых справочниках по Дельфи" и есть нежелание напрягаться (в первую очередь нежелание учить основы).

Про "фрагмент кода" приведённый в [8] даже смешно что-то говорить.


 
Германн ©   (2009-04-15 01:30) [11]


> Игорь Шевченко ©   (15.04.09 01:22) [9]

:)


 
Игорь Шевченко ©   (2009-04-15 01:31) [12]


> Проблема в следующем: нужно чтобы при нажатии на любую строку
> таблицы Помещения происходила фильтрация в таблице Оборудования
> по полю "Место нахождения", то есть оставались только те
> строки в таблице Оборудование в которых значение нового
> поискового поля равно значению поля Наименование_помещения
> в таблице Помещения.


Это называется Master-Detail, не знаю, как в Библии Delphi, а в папке demos этот пример как раз разжеван, в подкаталоге Db\Mastapp


 
Германн ©   (2009-04-15 01:55) [13]


> MsGuns ©   (15.04.09 00:05) [1]
>
> 1)Изучаем SQL и забываем про "фильтрацию" как атавизьм
> 2)Изучаем ADO и забываем про ADOTable как атавизьм

1. Меняем пункты местами.
2. Убираем мягкий знак из слова атавизм.
3. Забываем про пример из папки Demos, приведённый в [12].
:)


 
Anatoly Podgoretsky ©   (2009-04-15 07:43) [14]

> Германн  (15.04.2009 1:55:13)  [13]

Все в сад


 
MsGuns ©   (2009-04-15 09:05) [15]

>Германн ©   (15.04.09 01:55) [13]

Я знаю как пишется слово "атавизм". Ты сомневаешься ?
:)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.05.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
15-1237743773
Коммуноцентрист1
2009-03-22 20:42
2009.05.31
Зачм так положены трубы?


15-1238188551
Petr V. Abramov
2009-03-28 00:15
2009.05.31
Африк Симон Все пройдет, Мария


2-1239697601
_Андрей
2009-04-14 12:26
2009.05.31
IdFTP & CreateThread


2-1239883561
zdm
2009-04-16 16:06
2009.05.31
ComboBox запретить ввод но давать выводить св-во Текст.


8-1194545729
NaRuTo
2007-11-08 21:15
2009.05.31
Как сделать так чтобы моя диаграмма скакала под бит музыки.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский