Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.86 MB
Время: 0.023 c
1-2504
ATLANTIDO
2002-04-19 21:36
2002.05.02
окрасить BitBtn


3-2494
spbnt
2002-04-11 14:49
2002.05.02
Журнал транзакций в ADO


7-2698
yuger
2002-02-05 09:35
2002.05.02
Програмный интерфейс к IExplorer


4-2714
isaveliev
2002-02-27 13:16
2002.05.02
Как отловить факт окончания печати документа


6-2642
cypher
2002-02-18 18:19
2002.05.02
Сетевые диски





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский