Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

Подскажите пожалуйста с набором данных   Найти похожие ветки 

 
ewald ©   (2002-11-28 17:58) [0]

Есть две таблицы главная и подчиненная (paradox). С главной - проблем нет, а вот с подчиненной - при внесении новых записей все нормально, но при перезапуске программы изчезают последние записи, хотя после каждого внесения пишу Table2.Post; Table2.Refresh;
И самое интересное, что при попытке записать новую запись выдается ошибка "Key violation".
Что может быть?
Спасибо заранее.


 
Victor_Cr ©   (2002-11-28 18:07) [1]

Мда... Объяни подробнее. Как они связаны, по каким полям, ключевые поля Table2, куски кода который работает с занесением изменений и т.д.


 
ewald ©   (2002-11-28 18:23) [2]

На таблицах записываются данные счета. На главной все реквизиты на подчиненной - товары. Связаны они по номеру счета, который в гл. таблице автоинкремент и установлен КЕУ. В подчиненной таблице КЕУ установлен на поле No, которое тоже автоинкремент. Все данные вносятся из Edit"ов, например Table2Name.value:=Edit1.text и т.д. После всех внесений (работает нормально) пишу Table2.Post; Table2.Refresh;
Но самое интересное, что изчезнувших полей в Table2 нету точно, но при попытке стереть счет из главной таблицы выдается ошибка, что процедура невозможна, так как в подчиненной таблице есть записи, хотя я их нигде не вижу. Открывал базу и с Database desktop и с Exel.


 
MsGuns ©   (2002-11-28 20:37) [3]

Класс ! Две таблицы с ОДНИМ-ЕДИНСТВЕННЫМ КЛЮЧЕМ - автоинкрементом ! И как же прикажете их друг с другом связывать ?
В подчиненной таблице должен быть еще один ключ - типа I и он должен быть ПЕРВЫМ, по которому и надо связывать эту таблу с мастером. В гриде детала это поле вообще не надо показывать.

После Post вообще-то надо давать FlushBuffers, а Refresh по кнопке или по таймеру.


 
ewald ©   (2002-11-29 10:56) [4]

Сделал, но тогда выкидывает ошибку Key Violation


 
MsGuns ©   (2002-11-29 12:20) [5]

Приведи структуры обеих таблиц (достаточно только верхушек с ключами) и как связываешь (установленные значения св-в MasterSource и MasterFields в обеих TTable


 
ewald ©   (2002-11-29 13:37) [6]

Главная sss.db: 1.PR_NO + key*
Подчиненная ssd.db 1. NO_PP + key*
2. PR_NO I
Связаны они по полям PR_NO. В LookUp второй таблицы указана первая с полем PR_NO.
В Table2.MasterSource указано DSource1, в MasterFields - PR_NO.
В Table1 эти поля пустые.


 
MsGuns ©   (2002-11-29 13:46) [7]

Зачем LookUp из второй таблы в первую я все равно не понял.
По поводу связки, если первое поле детала (NO_PP) типа AutoInc, то все должно работать безо всяких виолетов. Хотя я использую несколько другую схему (для парадокса, ИМХО, более эффективную).
Для твоего примера

sss 1.PR_NO - Autoinc (PK)

ssd 1.PR_NO - I (PK) - связка с sss
2.NO_PP - AutoInc (PK) - собственный "ошейник" для деталов



Страницы: 1 вся ветка

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-61704
PrettyFly
2002-12-06 16:43
2002.12.19
Непредвиденный BreakPoint :(


3-61426
Андрей Л.
2002-11-29 08:17
2002.12.19
Запись в БД


1-61520
Бук
2002-12-09 12:07
2002.12.19
курсор и слово.


3-61435
AMS
2002-11-29 15:16
2002.12.19
XML и ADO! Нужна помощь!


1-61694
Пользователь
2002-12-04 20:41
2002.12.19
Ребята нужна помощь с RichEdit Срочно!