Форум: "Базы";
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];
ВнизМастер-детаиЛ чтоб её! Найти похожие ветки
← →
Zak (2002-04-08 09:56) [0]Значит есть две таблы парадокс 1 и 2.
в первой (1) есть два поля, одно id - автоинкремент
второе текстовое.
в второй тоже два поля одно id_1 - лонгин,
второе текстовое.
в первой таблице идет перечень организаций, во втрой отделы организаций, т.е. во второй может быть несколько записей с одинковым значение id_1.
и Вот мне для печать мастер-детаил нужно эти две таблицы связать!
но для этого во втрой табле надо сделать индекс!!!
Но тут пробелма так как при добавлении ругается что типа
Index of out date. Что мне сделать чтоб спокойно можно было добавлять записи во вторую таблицу а потом распечатать без пробел? Может я не так таблицу сформировал?
← →
Anatoly Podgoretsky (2002-04-08 10:24) [1]Какую базу используешь тебе известно?
← →
VAleksey (2002-04-08 11:47) [2]Надо при такой ошибке переиндексацию делать сначала.
← →
Zak (2002-04-08 13:04) [3]Ну конечно Paradox 7.0
Переиндексацию... опять?! хм...
а через чё её делать? через DBiRegenIndexes?
или еще что есть?
И её делать после вволда новой информации?
← →
VAleksey (2002-04-08 13:10) [4]НЕТ Надо делать прямо сейчас ! И если успешно тогда не должна такая ошибка появлятся. Держи код.
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) [5]Почему конечно?
Для парадокс обязательно наличие первичного ключа, что бы дополнительные индексы могли быть обслуживаемые
← →
VAleksey (2002-04-08 14:48) [6]> Anatoly Podgoretsky ты это кому сказал ?
← →
VAleksey (2002-04-09 07:54) [7]А.. ну тормоз я тормоз..
← →
Zak (2002-04-09 08:21) [8]А как тогда обойти ситуацию когда в поле id_1 могут быть добавлены несколько записей с одинаковым значением???
VAleksey :)... так всё равно чтобы сделать индексы нужно первичный ключ... а тут у меня пробелма?!
В самой программе я то могу обойтись без ключей, но вот для печати информации Мастер+детаил нужно как то связать...! Тупик короче!
← →
Zak (2002-04-09 08:35) [9]И еще... чтоб работал DbiRegenIndexes никакого модуля добавлять не нужно или нужно?
← →
Anatoly Podgoretsky (2002-04-09 14:24) [10]Zak © (09.04.02 08:21)
Сделать его или первичным ключом или уникальным индексом или проверять на дублика при вводе
← →
Zak (2002-04-10 06:56) [11]Так мне как раз и надо чтоб МОЖНО было вводить одинаковые записи!
Хм... может просто добавить еще одно поле типа idd и сделать его автоинкремент+Первич Ключ :))) и затем соответствено id_1 сделать секондари... хм... надо попробыватть ::)
← →
VAleksey (2002-04-10 07:09) [12]> Zak © idd - да. id_1 - да. Но ! если не поленишся и ручками напишешь фильтрацию детальной таблице (AfterScroll + OnFilterRecord) то индексов не надо.
← →
VAleksey (2002-04-10 07:09) [13]Zak © (09.04.02 08:35)
И еще... чтоб работал DbiRegenIndexes никакого модуля добавлять не нужно или нужно?
--------------------------------------------------------------------------------
Uses BDE
← →
Zak (2002-04-10 14:00) [14]Хм... я вот тоже думаю может послать всё.. и печатать только одну запись Мастер-детаил через фильтрацию?!
Спасибо за советы :)!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c