Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
3-61491
$hade
2002-12-02 13:32
2002.12.19
IB 6.5 license


6-61727
Ag2002
2002-10-23 16:33
2002.12.19
Сетевой файл


14-61780
Grande
2002-11-27 10:11
2002.12.19
Кому-нибудь нужна книга по Delphi5?


1-61701
TCrash
2002-12-09 00:29
2002.12.19
}{итрая функция


4-61887
kostik78ua
2002-11-06 09:29
2002.12.19
процессы запущенной проги





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