![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мастер-детаиЛ чтоб её! [D5]
Zak © (2002-04-08 09:56:00)Значит есть две таблы парадокс 1 и 2.
в первой (1) есть два поля, одно id - автоинкремент
второе текстовое.
в второй тоже два поля одно id_1 - лонгин,
второе текстовое.
в первой таблице идет перечень организаций, во втрой отделы организаций, т.е. во второй может быть несколько записей с одинковым значение id_1.
и Вот мне для печать мастер-детаил нужно эти две таблицы связать!
но для этого во втрой табле надо сделать индекс!!!
Но тут пробелма так как при добавлении ругается что типа
Index of out date. Что мне сделать чтоб спокойно можно было добавлять записи во вторую таблицу а потом распечатать без пробел? Может я не так таблицу сформировал?
Zak (2002-04-10 14:00:00) [1]Хм... я вот тоже думаю может послать всё.. и печатать только одну запись Мастер-детаил через фильтрацию?!
Спасибо за советы :)!
VAleksey (2002-04-10 07:09:00) [2]> Zak © idd - да. id_1 - да. Но ! если не поленишся и ручками напишешь фильтрацию детальной таблице (AfterScroll + OnFilterRecord) то индексов не надо.
VAleksey (2002-04-10 07:09:00) [3]Zak © (09.04.02 08:35)
И еще... чтоб работал DbiRegenIndexes никакого модуля добавлять не нужно или нужно?
--------------------------------------------------------------------------------
Uses BDE
Zak (2002-04-10 06:56:00) [4]Так мне как раз и надо чтоб МОЖНО было вводить одинаковые записи!
Хм... может просто добавить еще одно поле типа idd и сделать его автоинкремент+Первич Ключ :))) и затем соответствено id_1 сделать секондари... хм... надо попробыватть ::)
Anatoly Podgoretsky (2002-04-09 14:24:00) [5]Zak © (09.04.02 08:21)
Сделать его или первичным ключом или уникальным индексом или проверять на дублика при вводе
Zak (2002-04-09 08:35:00) [6]И еще... чтоб работал DbiRegenIndexes никакого модуля добавлять не нужно или нужно?
Zak (2002-04-09 08:21:00) [7]А как тогда обойти ситуацию когда в поле id_1 могут быть добавлены несколько записей с одинаковым значением???
VAleksey :)... так всё равно чтобы сделать индексы нужно первичный ключ... а тут у меня пробелма?!
В самой программе я то могу обойтись без ключей, но вот для печати информации Мастер+детаил нужно как то связать...! Тупик короче!
VAleksey (2002-04-09 07:54:00) [8]А.. ну тормоз я тормоз..
VAleksey (2002-04-08 14:48:00) [9]> Anatoly Podgoretsky ты это кому сказал ?
VAleksey (2002-04-08 13:10:00) [10]НЕТ Надо делать прямо сейчас ! И если успешно тогда не должна такая ошибка появлятся. Держи код.
While dm1.Database1.DataSetCount-1<>-1 do
begin
dm1.Database1.DataSets[dm1.Database1.DataSetCount-1].Close;
end;
ProgressBar1.Max:=18;
TbArr[1]:="Z_Staff.DB";//dm1.tbStaff;
TbArr[2]:="Z_Staff1.DB";//dm1.tbStaff1;
TbArr[3]:="Z_Staff2.DB";//dm1.tbStaff2;
TbArr[4]:="Z_Debet.DB";//dm1.tbZDebet;
TbArr[5]:="Z_Kredit.DB";//dm1.tbZKredit;
TbArr[6]:="S_Code_Deb.DB";//dm1.tbCodeDeb;
TbArr[7]:="S_Code_Kre.DB";//dm1.tbCodeKre;
TbArr[8]:="S_Alimony";//dm1.tbAlimony;
TbArr[9]:="S_SubDiv.DB";//dm1.tbSubDiv;
TbArr[10]:="S_Element.DB";//dm1.tbElement;
TbArr[11]:="Set_Param_List.DB";//dm1.tbParamList;
TbArr[12]:="Set_Param_Calc.DB";//dm1.tbParamCalc;
TbArr[13]:="S_Doc.DB";//dm1.tbDoc;
TbArr[14]:="S_Region.DB";//dm1.tbRegion;
TbArr[15]:="S_Country.DB";//dm1.tbCountry;
TbArr[16]:="S_Account.DB";//dm1.tbAccount;
TbArr[17]:="S_Categ";//dm1.tbCateg;
TbArr[18]:="S_Manth_Param.db";//dm1.tbMonthParam;
TbArr[19]:="Reports.db";
for i:=1 to 19 do
begin
Table1.TableName:=tbArr[i];
Table1.Exclusive:=true;
Table1.open;
Check(dbiRegenIndexes(Table1.Handle));
ProgressBar1.Position:=i;
Table1.close;
Table1.Exclusive:=false;
end;
lbMessage.Caption:="";
ProgressBar1.Position:=0;
end;
Поди разберешся. ТTable долtжн быть отдельным (специально для переиндексации)
Anatoly Podgoretsky (2002-04-08 13:10:00) [11]Почему конечно?
Для парадокс обязательно наличие первичного ключа, что бы дополнительные индексы могли быть обслуживаемые
Zak (2002-04-08 13:04:00) [12]Ну конечно Paradox 7.0
Переиндексацию... опять?! хм...
а через чё её делать? через DBiRegenIndexes?
или еще что есть?
И её делать после вволда новой информации?
VAleksey (2002-04-08 11:47:00) [13]Надо при такой ошибке переиндексацию делать сначала.
Anatoly Podgoretsky (2002-04-08 10:24:00) [14]Какую базу используешь тебе известно?