Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Acсess и Делфи.


Сергей А. ©   (2005-11-29 21:30:00) 

Я не занимался БД поскольку раньше такой задачи не было, но сейчас возникла потребность решить некоторые задачи с помощью Delphi. Предистория такая! На работе я сделал в Аксесе файл в котором содержится 12 таблиц (по количеству месяцев) и определенные запросы. Я работаю непосредственно в таблицах. Скажем сейчас ноябрь, поэтому всю текущую информацию я записываю в соответствующую таблицу. Таблицы однотипны. В них около 20 полей: дата заказа, имя клиента, комплектация заказа, дата готовности и.т.д. Мне бы очень хотелось управлять этой таблицей из Делфи приложения. Под управлением я понимаю добавление новых записей, проведение сортировки, фильтрации (скажем нажав на кнопку оставить только определенных клиентов или цеха фабрики, которые выполняют заказ), подготовки отчетов для печати. Кроме того, очень важно, чтобы в определенных полях появлилсь значки в зависимости от содержания определенного поля. Например, у меня есть поле "тип клиента". Необходимо отследить если в поле "имя клиента" указан к примеру, ЧП Пупкин, то в поле "тип клиента" надо написать "VIP" и выделить эту ячейку скажем красным цветом.

Вопрос в связи с этим вот какой! Во-первых, можно ли выполнить все, что я до этого описывал с помощью Делфи на базе уже имеющегося Аксесовского файла. Если можно, то просьба указать какие компоненты нужно использовать и вообще в какую сторону "копать"?

Заранее благодарен.


Дева   (2005-11-30 02:52:00) [1]

С вопросом 1 не сталкивалась, если надо было просто руками меняла размер столбцев,
на вопрос 2 есть свойство Filter и Filtered
В Filter пишешь условия вильтрации (Field1 = DDD) и ставишь Filtered = true;
Если хочешь, чтобы фильтрация происходила из каких-то условий, которые задаешь например в Edit1, то можно

ADOQuery1.Filter:=Edit1.Text+' Like '''+Edit2.Text+'''';
ADOQuery1.Filtered:=true;


Virgo_Style   (2005-11-30 00:30:00) [2]

Сергей А.   (30.11.05 0:16) [2]

2a. TDataSet.Filter, TDataSet.Filtred или DataSet.OnFilterRecord
2b. двойной клик по DBGrid (сначала выставить Connected и Active = true)


Сергей А.   (2005-11-30 00:16:00) [3]

У меня опять же 2 вопроса!
1 Вопрос.
В Аксесе сделанные мной таблицы имеют нормальный вид. Например, ширина столбца поля "код заказа" самая маленькая, а поле "примечание" самое большое. Потом там где у меня цифры в таблице, запятая идет после 2 знака, а в TDBGrid ширина столбцов одинаковая и после запятой идет куча знаков. Как сделать так, чтобы TDBGrid отображал таблицу также как и в Аксесе или как настроить TDBGrid?
2 Вопрос.
Когда я загрузил в TDBGrid Аксесовскую таблицу, то возникла необходимость установить фильтр. Причем понятно, что можно сделать запрос и этот запрос проведет нужную фильтрацию, но мне бы хотелось провести фильтрацию в рамках TDBGrid. Можно ли программно через TDBGrid провести фильтрование или скажем скрыть определенные поля?

Заранее благодарен.


Дева   (2005-11-29 22:16:00) [4]

ADO + JET
ADOTable - TableName просто выбираешь из списка свои готовые запросы
ADOQuery - там можно запрос SELECT * FROM Запрос1


Наверх

Титульная страница Поиск, карта сайта Написать письмо