Не редактируется Lookup-поле
Так вот. Создаю поле выбора по всем правилам. В гриде оно отображается как выпадающее меню - это меня устраивает.
Но при выборе из выпадающего списка по какой то причине значение в ячейке не меняется. То есть к примеру первая таблица групп, а вторая студентов. В грид выводится таблица студентов, а имя группы выбирается лукапом из первой таблицы. При изменении группы для какого то студента ничего не изменяется.
Подскажите, что можно предпринять?
Так вот. Создаю поле выбора по всем правилам. В гриде оно отображается как выпадающее меню - это меня устраивает.
Но при выборе из выпадающего списка по какой то причине значение в ячейке не меняется. То есть к примеру первая таблица групп, а вторая студентов. В грид выводится таблица студентов, а имя группы выбирается лукапом из первой таблицы. При изменении группы для какого то студента ничего не изменяется.
Подскажите, что можно предпринять?
Сверься с примером во вложении :)
Дело в том, что я использую MySQL и компоненты my_dac (в принципе они идентичны стандартным)
А пример не идет :( так как не стоит интербейс
Дело в том, что я использую MySQL и компоненты my_dac (в принципе они идентичны стандартным)
А пример не идет :( так как не стоит интербейс
Откуда InterBase взялся?? Так просто - модное слово? :) Там MS Access используется!! Просто ConnectionString измени!!
Ну я таких компонентов не знаю!! Так что - хочешь использовать их - разбирайся сам!! :(
Интересно другое
Что все связи в примере выполнены точь в точь как у меня:
Таблица групп содержит поля id_group и name
Таблица студентов id_student, id_group и name
...
Все поля в MyTable2 статические
Добавлено поле ccs String(60)
Field type->Lookup
KeyFields->id_group
Dataset -> MyTable1
Lookup keys -> id_group
Result field -> name
При выполнении в таблицу значения заносятся нормально
В столбце группы - группы выводяться как надо
Выпадающий список открывается
Но при выборе елементов из него никакие изменения не происходят
...кажется что то забыл?
- Name: Группа
- Type: String
- Size: 15
- Field type: Lookup
- Key fields: Группы_Код
- Dataset: Группы
- Lookup Keys: Код
- Result Field: Наименование
Вот все параметры для поля. Проверь еще раз.
И проверь свойство ReadOnly дб установлено в false у таблицы Студенты.
- Name: Группа
- Type: String
- Size: 15
- Field type: Lookup
- Key fields: Группы_Код
- Dataset: Группы
- Lookup Keys: Код
- Result Field: Наименование
Вот все параметры для поля. Проверь еще раз.
И проверь свойство ReadOnly дб установлено в false у таблицы Студенты.
У меня все так и есть
ReadOnly везде стоит false
Уже перечитал кучу статей и тем в книгах - делаю я правильно
В чем может быть проблема ума не приложу
Имеется MyTable1, связанная с таблицей групп и MyTable2, связанная с таблицей студентов
..
..из сообщения
в MySQL внешние ключи делать нельзя; то я нечетко написал
а вот насчет пробелмы - может какой то обработчик повесить на изменение ячейки?
А mydac:
http://www.crlab.com/mydac/
Реализует все то же, сходство 100% + без гемороя :)
(мм... почти =) )
Видимо придется писать редактирование и создание через дополнительное окошко :(
Подобные советы - в пень. CrLab DAC - нормальный движок, пользоваться надо уметь.
Сначала ответь на вопрос: другие поля в этом запросе редактируются? Есть подозрение, что забыл указать KeyFields, поэтому MyDAC не может сгенерировать update. Проверь CanModify у этого запроса во время выполнения (во время дизайна оно не определено).
сем спасибо, тема закрыта!
Сначала ответь на вопрос: другие поля в этом запросе редактируются? Есть подозрение, что забыл указать KeyFields, поэтому MyDAC не может сгенерировать update. Проверь CanModify у этого запроса во время выполнения (во время дизайна оно не определено).
Заметь: я сказал "Предлагаю использовать стандартные компоненты", а не "Откажись от использования своих левых компонентов и используй стандартные".
Может предложение и неуместное - тебе видней, раз ты с ними (компонентами) знаком, но понижения репутации уж точно не заслуживающее!! К тому же я пытался помочь человеку, а не так просто!! Да ладно..
Дано:
- Triaffer попросил помочь с неработающим полем подстановки (как выяснилось позже, по компонентам MyDAC)
- koltaviy попробовал помочь, проблему решить не удалось, и тогда он сказал (цитата): "Предлагаю использовать стандартные компоненты. Может в твоих проблема?? Чем они хороши-то??"
- прочитав тему, я понизил ему репутацию
Благими намерениями вымощена дорога в Ад.
Вопрошавший где-то достал, может даже купил компоненты MyDAC, поставил их, довёл до работоспособного состояния. Пробуя решить задачу, применил имеющиеся знания, но что-то не заладилось. Как и полагается, он проверил возможные ошибки (ReadOnly и т. п.), и не добившись результата, обратился на форум, задал нормальный вопрос. Что он получает?
Пример - это хорошо, но пример не заработал. После проделанного выше, недоумённый вопрос: "Чем они хороши-то??" сквозит пренебрежением, а с моей точки зрения считается просто уничижением (читай - оскорблением) проделанного выше труда и желания познать новое.
Самореализовываясь на форуме ответами страждущим, важно не переступать грани и не скатываться до "умных советов" - отписок или медвежьих услуг.
Насчет того, что движок хороший, спорить не буду. Но у него тоже есть свои минусы. Точнее (на мой взгляд) один большой минус - компоненты CoreLab платные. Что будет делать автор топика, когда закончится триальный период? (мне этот вопрос обойти пока не удалось, а покупать их мне не с руки).
Есть компоненты dbExpress. Тоже неплохая штука. Но в этом случае возможны непредвиденные танцы с бубном вокруг libmysql.dll. Причем размещение этой библиотеки в надлежащих папках не всегда решает проблему.
И у стандартных компонентов свои минусы есть конечно же...Например нужно ставить драйвер MySQL ODBC.
Так что насколько был неправ koltaviy - это автору время покажет... ну и дальнейшая работа с базами данных в билдере, естественно.
Дано:
- Triaffer попросил помочь с неработающим полем подстановки (как выяснилось позже, по компонентам MyDAC)
- koltaviy попробовал помочь, проблему решить не удалось, и тогда он сказал (цитата): "Предлагаю использовать стандартные компоненты. Может в твоих проблема?? Чем они хороши-то??"
- прочитав тему, я понизил ему репутацию
Благими намерениями вымощена дорога в Ад.
Вопрошавший где-то достал, может даже купил компоненты MyDAC, поставил их, довёл до работоспособного состояния. Пробуя решить задачу, применил имеющиеся знания, но что-то не заладилось. Как и полагается, он проверил возможные ошибки (ReadOnly и т. п.), и не добившись результата, обратился на форум, задал нормальный вопрос. Что он получает?
Пример - это хорошо, но пример не заработал. После проделанного выше, недоумённый вопрос: "Чем они хороши-то??" сквозит пренебрежением, а с моей точки зрения считается просто уничижением (читай - оскорблением) проделанного выше труда и желания познать новое.
Самореализовываясь на форуме ответами страждущим, важно не переступать грани и не скатываться до "умных советов" - отписок или медвежьих услуг.
Была бы тема в Отдохнем - можно было бы продолжить флуд!! Скажу только, что меры предпринятые тобой по отношению к человеку, который искренне хотел помочь (можно определить по многочисленным моим постам выше, включая конкретный пример) неадекватны создавшейся ситуации.. Каждый сам себе на уме.. Вот и все!!
Тему вообще, ИМХО, можно удалить - так как, как оказалось, изначально проблем и не было, - человек и так знал, как организовать Lookup поле.. Так что и ни моя помощь из нескольких постов, и ни твоя из одного поста и одного удара по репутации - никому пользы не принесла.
Думаю, тему можно в топку!!