Консультация № 175943
09.01.2010, 12:01
0.00 руб.
0 9 1
Здравствуйте Уважаемые эксперты.
Помогите пожалуйста разобраться и выявить ошибку.
Пишу программу на Borland C++ Builder 6 для работы с базой данных.
Не выходит связать две таблицы по Master fields.
Сообщает об ошибке что аргументы имеют неправильный тип, вступают в конфликт друг с другом или еще чтото.
Я даю ссылку на архив. Там сама база данных и проект.
Заранее благодарен.


Приложение:
http://rapidshare.com/files/332530756/1.zip.html

Обсуждение

Неизвестный
09.01.2010, 12:41
общий
Dimon4ik:
Добрый день! А в самом Access'e почему нельзя связать таблицы? (заодно ключевое поле к таблице заказов надо бы организовать).
Неизвестный
09.01.2010, 13:34
общий
А связи Access Borland С++ видит? Я прост ов Access сделал связь один ко многим. А таблицы работают самостоятельно в программе.
Неизвестный
09.01.2010, 13:48
общий
Вот так я в Access связал:
Неизвестный
09.01.2010, 15:25
общий
Dimon4ik:
Я создал две других таблицы в Вашей базе. Связь по ним работает.
1.mdb (332.0 кб) Правда, в Delphi-7, но сообщение об ошибке выдавало такое же.
Неизвестный
09.01.2010, 16:59
общий
lamed:
Server Error
404 - File or directory not found.
The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.
Неизвестный
09.01.2010, 19:37
общий
Dimon4ik:
Пробовал переписать, то же самое, что-то с сервером. Давайте адрес электронной почты - пошлю туда.
Неизвестный
09.01.2010, 23:34
общий
Dimon4ik:
Добрый вечер! Исправьте имя поля Код товара хотя бы на КодТовара. Ошибка не проявляется. Проверял в Delphi 7.
Неизвестный
09.01.2010, 23:47
общий
lamed:
Да, именно в этом и было дело. Офорляйте ответ.
давно
Академик
320937
2216
10.01.2010, 11:58
общий
это ответ
Здравствуйте, Dimon4ik.

Предлагаю два варианта ответа:
1. Изменить название поля Код Товара на КодТовара (предпочтительно)
2. Если база «чужая» и названия менять нельзя, приведу ответ Selya с DelphiKingdom
Когда устанавливаете связи MasterSource и MasterFields сделайте таблицу Active=false. Связь будет создана, а так же автоматом заполнится свойство IndexFieldNames. Вот его то и надо обнулить и после этого только сделать таблицу Active=true. Тогда описанная выше ошибка не возникнет.


Источник Королевство Delphi. Оба ответа проверены на Delphi7.
С уважением
5
Отличный ответ! Благодарю за помощь.
Форма ответа