maikl |
Отправлено: 13.01.2004, 06:31 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
У меня БД, записи в нее заносятся приблизительно следующим образом :
День недели №_пары Предмет Кабинет
_____________________________________________
Назв. дня
№_пары Предмет №_каб.
Так вот я делаю фильтрацию в БД по предмету и кабинету, в зависимости от того что выбрано, как сделать что бы название дня недели осталось, т.е данная запись где я записываю день недели оставалась при фильтрации всегда. Просто там тогда он выведет все предметы которые удовлетворяют условию, а на какой день они должны читаться неизвестно. Заранее спасибо.
|
|
Admin |
Отправлено: 13.01.2004, 15:01 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
CODE |
Table1->Filtered = false;
// предмету и кабинету
Table1->Filter = "predmet='черчение' and cabinet=105";
Table1->Filtered = true;
|
|
|
maikl |
Отправлено: 14.01.2004, 15:05 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Спасибо но мне немного по другому надо, я в ComboBox вначале загружаю данные из таблицы при событии OnCreate формы
:
DataModule3->Table2->First();
CBPrep->Clear();
while(!DataModule3->Table2->Eof)
{
CBPrep->Items->Add(DataModule3->Table2FIO_prep->AsString);
DataModule3->Table2->Next();
Так же у меня на форме компонент RadioGroup:
В котором находятся пункты по которым делаю фильтрацию, по кнопке обновить я делаю обновление данных, в общем по ходу работы программа выдает ошибку почему то, видимо это связано с тем что у меня есть связанные Lookup поля. Код по которому я провожу фильтрацию такой :
void __fastcall TForm5::glExtSpeedButton1Click(TObject *Sender)
{
DataModule3->Table7->IndexName = "Prep";
if (RGF->ItemIndex == 0)
{
DataModule3->Table7->Filter = "Prep_ID='"+CBPrep->Text+"'";
DataModule3->Table7->Filtered = true;
}
}
Сдесь у меня Prep_ID это результирующее поле из Loolup поля, потом есть еще в Table 2 поле Prep из которого беруться значения. В общем не знаю, или есть способ попроще сделать, или я делаю какую то ошибку. А ошибка в результате всего этого вот такая :
"Project Project1.exe raised exception class EAccessViolation with message 'Access violation at adress 4032BCD4 in module 'dbrtl60.bpl'. Read of adress 0000009D'. Process Stoped. Use step or RUN to continue". |
|
maikl |
Отправлено: 15.01.2004, 03:58 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Я еще забыл написать что если в ComboBox добавлять записи не из базы, а просто записать их в свойстве Items то все работает. |
|