8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
1 | |
Field ' ' cannot be modified02.02.2015, 19:45. Показов 3828. Ответов 23
Метки нет (Все метки)
Всем доброго времени суток.
у меня есть 3 таблицы paradox 7: 1 таблица - 1.png 2 таблица - 2.png 3 таблица схожа с первой. в Delphi я создаю связь между этими таблицами. связываю поле главной таблицы 2 "idklientov" с полем подчиненной таблицы 1 "KeyPok" и связываю поле главной таблицы 2 "idtovara" с полем подчиненной таблицы 3 "key". Проблема в том что при каких либо изменений (Добавление, Удаление, Изменения) в dbgrid таблицы 1 и 3 вылетает ошибка "Field "Поля" cannot be modified", но дело в том, что я не трогаю ключевые поля, искал решения проблемы в интернете, без успешно. Опишите подробней в чем проблема и как её решить. Я знаю что проблема в том что изменяется ключевое поле, но я его не трогаю вообще.
0
|
02.02.2015, 19:45 | |
Ответы с готовыми решениями:
23
Ошибка field '.' cannot be modified Field cannot be modified Ошибка "A field initializer cannot reference the non-static field, method, or property" Условие выборки select * from table, table1 where table.field like table1.field+'%' |
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
02.02.2015, 21:20 | 2 |
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
02.02.2015, 21:26 [ТС] | 3 |
northener, это имелось ввиду, что вместо "поля" будет KeyPok если редактируем таблицу 1 или Key если редактируем таблицу 3
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
02.02.2015, 22:19 | 4 |
Тогда показывай как редактируешь.
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
02.02.2015, 22:33 [ТС] | 5 |
northener, при помощи dbgrid, код не использую, использовал компоненты table и datasourse и так же пробовал заполнять таблицы программно тот же эффект.
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
02.02.2015, 22:44 | 6 |
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
02.02.2015, 22:47 [ТС] | 7 |
да в dbgrid он виден, я так же пробовал убирать его при помощи visible в table
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
02.02.2015, 22:52 | 8 |
Не так убирал. Свойство visible тут не поможет. Список полей показываемых в гриде можно сформировать одним из двух способов:
1. Составить список колонок (свойство Columns) в гриде. Найдешь в Инспекторе объектов 2. Список полей ( свойство Fields) набора данных связанных с гридом. Его редактор появляется после двойного щелчка ЛКМ по значку Table в дизайнере формы.
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
02.02.2015, 22:56 [ТС] | 9 |
northener, Если вы говорите о том что бы удалить его из списка в table, то нарушится связь таблиц т.к. по этому полю я связываюсь с таблицей 2
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
02.02.2015, 23:20 | 10 |
Я говорю о списке полей показываемых в гриде в данный момент времени. О покушении на структуру самой таблицы(таблиц) речи никакой не идет.
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
02.02.2015, 23:28 [ТС] | 11 |
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
02.02.2015, 23:37 | 12 |
Я имел ввиду вот это Creating Persistent Columns
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
02.02.2015, 23:44 [ТС] | 13 |
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
02.02.2015, 23:48 | 14 |
А не задействованы ли какие-либо события TTable?
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
02.02.2015, 23:54 [ТС] | 15 |
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
02.02.2015, 23:57 | 16 |
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
03.02.2015, 00:18 [ТС] | 17 |
таакс.
у меня есть 3 таблицы, их описал я в начале. суть заключается в том что, у меня есть склад товаров и покупатели, таблица 1 это покупатели, таблица 3 это товары и таблица 2 это покупки, мне нужно организовать такую связь что бы хранить информацию о продаж, так как один покупатель (клиент) может приобрести любое количество разных товаров, и для того что бы, эти все товары хранить я создал таблицу 2, где есть поля: idKlienta и Idtovara они числового типа и эти поля таблицы 2 я связал, поля idklienta таблицы 2 с полем KeyPok таблицы 1, KeyPok автоинкрементное поле и ключевое, так же я связал поля idtovara таблицы 2 с полем Key таблицы 3, Key автоинкрементное поле и ключевое, это я написал на тот случай, если у меня БД неправильная. Связал я их так Table1 это таблица 1 Table2 это таблица 2 Table3 это таблица 3 у Table1 в свойстве masterSource указал datasource2 то есть таблицу 2, а в свойстве MasterFields указал поля idklienta и в итоге у меня появилась связь KeyPok->idklienta, аналогично сделал с table3 только указал поля Key->IdTovara
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
03.02.2015, 00:44 | 18 |
Имхо, во время редактирования Таблицы 1 нужно разрывать её связь с таблицей 3. И аналогично для таблицы 2.
0
|
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
|
|
03.02.2015, 01:00 [ТС] | 19 |
Разве это правильный выход из ситуации? разрывать их связь для заполнения и вообще это правильно так делать? ведь ошибки такой не должно быть, связал вроде правильно.
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
03.02.2015, 01:19 | 20 |
Ну смотри что получается. Если открыта мастер таблица (Таблица 3), то в ней активна некая запись. С некоторым значением idklienta. В соответствии со связью Master-Detail в таблице 1 обязана быть выбрана запись с KeyPok=idklienta. Но при, допустим, добавлении новой записи в Таблицу 1 текущая запись в ней меняется на вновь добавленную. А у нее другое значение KeyPok.
Добавлено через 6 минут Т.е. Связь Master-Detail нужна только при работе с мастер таблицей. P.S. Могу и ошибаться. Никогда не использовал такую связь таким образом.
0
|
03.02.2015, 01:19 | |
03.02.2015, 01:19 | |
Помогаю со студенческими работами здесь
20
@modified If-Modified-Since Last-Modified last modified Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |