Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не редактируется Lookup-поле

7.4K
14 мая 2007 года
Triaffer
49 / / 30.07.2006
Может кто сталкивался с lookup при разработке приложений с БД.
Так вот. Создаю поле выбора по всем правилам. В гриде оно отображается как выпадающее меню - это меня устраивает.
Но при выборе из выпадающего списка по какой то причине значение в ячейке не меняется. То есть к примеру первая таблица групп, а вторая студентов. В грид выводится таблица студентов, а имя группы выбирается лукапом из первой таблицы. При изменении группы для какого то студента ничего не изменяется.
Подскажите, что можно предпринять?
263
14 мая 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Triaffer
Может кто сталкивался с lookup при разработке приложений с БД.
Так вот. Создаю поле выбора по всем правилам. В гриде оно отображается как выпадающее меню - это меня устраивает.
Но при выборе из выпадающего списка по какой то причине значение в ячейке не меняется. То есть к примеру первая таблица групп, а вторая студентов. В грид выводится таблица студентов, а имя группы выбирается лукапом из первой таблицы. При изменении группы для какого то студента ничего не изменяется.
Подскажите, что можно предпринять?


Сверься с примером во вложении :)

7.4K
14 мая 2007 года
Triaffer
49 / / 30.07.2006
Не могли бы вы объяснить суть :)
Дело в том, что я использую MySQL и компоненты my_dac (в принципе они идентичны стандартным)
А пример не идет :( так как не стоит интербейс
263
14 мая 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Triaffer
Не могли бы вы объяснить суть :)
Дело в том, что я использую MySQL и компоненты my_dac (в принципе они идентичны стандартным)
А пример не идет :( так как не стоит интербейс


Откуда InterBase взялся?? Так просто - модное слово? :) Там MS Access используется!! Просто ConnectionString измени!!
Ну я таких компонентов не знаю!! Так что - хочешь использовать их - разбирайся сам!! :(

7.4K
14 мая 2007 года
Triaffer
49 / / 30.07.2006
К базе я так и не подключился

Интересно другое
Что все связи в примере выполнены точь в точь как у меня:

Таблица групп содержит поля 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

При выполнении в таблицу значения заносятся нормально
В столбце группы - группы выводяться как надо
Выпадающий список открывается
Но при выборе елементов из него никакие изменения не происходят

...кажется что то забыл?
263
14 мая 2007 года
koltaviy
816 / / 16.12.2004
Параметры Lookup поля для таблицы Студенты:
- Name: Группа
- Type: String
- Size: 15
- Field type: Lookup
- Key fields: Группы_Код
- Dataset: Группы
- Lookup Keys: Код
- Result Field: Наименование

Вот все параметры для поля. Проверь еще раз.
И проверь свойство ReadOnly дб установлено в false у таблицы Студенты.
7.4K
14 мая 2007 года
Triaffer
49 / / 30.07.2006
Цитата: koltaviy
Параметры Lookup поля для таблицы Студенты:
- Name: Группа
- Type: String
- Size: 15
- Field type: Lookup
- Key fields: Группы_Код
- Dataset: Группы
- Lookup Keys: Код
- Result Field: Наименование

Вот все параметры для поля. Проверь еще раз.
И проверь свойство ReadOnly дб установлено в false у таблицы Студенты.



У меня все так и есть
ReadOnly везде стоит false
Уже перечитал кучу статей и тем в книгах - делаю я правильно
В чем может быть проблема ума не приложу

263
14 мая 2007 года
koltaviy
816 / / 16.12.2004
Ну не знаю!! Вот это убери:
Цитата: Triaffer

Имеется MyTable1, связанная с таблицей групп и MyTable2, связанная с таблицей студентов
..

7.4K
14 мая 2007 года
Triaffer
49 / / 30.07.2006
:D убрал!
..из сообщения
в MySQL внешние ключи делать нельзя; то я нечетко написал

а вот насчет пробелмы - может какой то обработчик повесить на изменение ячейки?
263
14 мая 2007 года
koltaviy
816 / / 16.12.2004
Предлагаю использовать стандартные компоненты. Может в твоих проблема?? Чем они хороши-то??
7.4K
14 мая 2007 года
Triaffer
49 / / 30.07.2006
Стандартные компоненты может и хороши, но в mysql их трудно привязать
А mydac:
http://www.crlab.com/mydac/
Реализует все то же, сходство 100% + без гемороя :)
(мм... почти =) )

Видимо придется писать редактирование и создание через дополнительное окошко :(
10
14 мая 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: koltaviy
Предлагаю использовать стандартные компоненты.


Подобные советы - в пень. CrLab DAC - нормальный движок, пользоваться надо уметь.

Цитата: Triaffer
Видимо придется писать редактирование и создание через дополнительное окошко :(


Сначала ответь на вопрос: другие поля в этом запросе редактируются? Есть подозрение, что забыл указать KeyFields, поэтому MyDAC не может сгенерировать update. Проверь CanModify у этого запроса во время выполнения (во время дизайна оно не определено).

7.4K
14 мая 2007 года
Triaffer
49 / / 30.07.2006
Вопрос решился сам собой... после того, как я создал таблицы заново
сем спасибо, тема закрыта!
263
14 мая 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Freeman
Подобные советы - в пень. CrLab DAC - нормальный движок, пользоваться надо уметь.


Сначала ответь на вопрос: другие поля в этом запросе редактируются? Есть подозрение, что забыл указать KeyFields, поэтому MyDAC не может сгенерировать update. Проверь CanModify у этого запроса во время выполнения (во время дизайна оно не определено).


Заметь: я сказал "Предлагаю использовать стандартные компоненты", а не "Откажись от использования своих левых компонентов и используй стандартные".
Может предложение и неуместное - тебе видней, раз ты с ними (компонентами) знаком, но понижения репутации уж точно не заслуживающее!! К тому же я пытался помочь человеку, а не так просто!! Да ладно..

10
14 мая 2007 года
Freeman
3.2K / / 06.03.2004
Сейчас пойдёт флуд типа "разборка", прямого отношения к теме не имеющий. Прошу модераторов учесть.

Дано:
    Triaffer попросил помочь с неработающим полем подстановки (как выяснилось позже, по компонентам MyDAC)
  • koltaviy попробовал помочь, проблему решить не удалось, и тогда он сказал (цитата): "Предлагаю использовать стандартные компоненты. Может в твоих проблема?? Чем они хороши-то??"
  • прочитав тему, я понизил ему репутацию

Цитата: koltaviy
Заметь: я сказал "Предлагаю использовать стандартные компоненты"


Благими намерениями вымощена дорога в Ад.

Вопрошавший где-то достал, может даже купил компоненты MyDAC, поставил их, довёл до работоспособного состояния. Пробуя решить задачу, применил имеющиеся знания, но что-то не заладилось. Как и полагается, он проверил возможные ошибки (ReadOnly и т. п.), и не добившись результата, обратился на форум, задал нормальный вопрос. Что он получает?

Пример - это хорошо, но пример не заработал. После проделанного выше, недоумённый вопрос: "Чем они хороши-то??" сквозит пренебрежением, а с моей точки зрения считается просто уничижением (читай - оскорблением) проделанного выше труда и желания познать новое.

Цитата: koltaviy
К тому же я пытался помочь человеку, а не так просто!! Да ладно..


Самореализовываясь на форуме ответами страждущим, важно не переступать грани и не скатываться до "умных советов" - отписок или медвежьих услуг.

7.8K
14 мая 2007 года
Hrew
185 / / 23.04.2007
Цитата: Freeman
Подобные советы - в пень. CrLab DAC - нормальный движок, пользоваться надо уметь.


Насчет того, что движок хороший, спорить не буду. Но у него тоже есть свои минусы. Точнее (на мой взгляд) один большой минус - компоненты CoreLab платные. Что будет делать автор топика, когда закончится триальный период? (мне этот вопрос обойти пока не удалось, а покупать их мне не с руки).
Есть компоненты dbExpress. Тоже неплохая штука. Но в этом случае возможны непредвиденные танцы с бубном вокруг libmysql.dll. Причем размещение этой библиотеки в надлежащих папках не всегда решает проблему.
И у стандартных компонентов свои минусы есть конечно же...Например нужно ставить драйвер MySQL ODBC.
Так что насколько был неправ koltaviy - это автору время покажет... ну и дальнейшая работа с базами данных в билдере, естественно.

263
15 мая 2007 года
koltaviy
816 / / 16.12.2004
Цитата: Freeman
Сейчас пойдёт флуд типа "разборка", прямого отношения к теме не имеющий. Прошу модераторов учесть.

Дано:
  • Triaffer попросил помочь с неработающим полем подстановки (как выяснилось позже, по компонентам MyDAC)
  • koltaviy попробовал помочь, проблему решить не удалось, и тогда он сказал (цитата): "Предлагаю использовать стандартные компоненты. Может в твоих проблема?? Чем они хороши-то??"
  • прочитав тему, я понизил ему репутацию

Благими намерениями вымощена дорога в Ад.

Вопрошавший где-то достал, может даже купил компоненты MyDAC, поставил их, довёл до работоспособного состояния. Пробуя решить задачу, применил имеющиеся знания, но что-то не заладилось. Как и полагается, он проверил возможные ошибки (ReadOnly и т. п.), и не добившись результата, обратился на форум, задал нормальный вопрос. Что он получает?

Пример - это хорошо, но пример не заработал. После проделанного выше, недоумённый вопрос: "Чем они хороши-то??" сквозит пренебрежением, а с моей точки зрения считается просто уничижением (читай - оскорблением) проделанного выше труда и желания познать новое.


Самореализовываясь на форуме ответами страждущим, важно не переступать грани и не скатываться до "умных советов" - отписок или медвежьих услуг.


Была бы тема в Отдохнем - можно было бы продолжить флуд!! Скажу только, что меры предпринятые тобой по отношению к человеку, который искренне хотел помочь (можно определить по многочисленным моим постам выше, включая конкретный пример) неадекватны создавшейся ситуации.. Каждый сам себе на уме.. Вот и все!!
Тему вообще, ИМХО, можно удалить - так как, как оказалось, изначально проблем и не было, - человек и так знал, как организовать Lookup поле.. Так что и ни моя помощь из нескольких постов, и ни твоя из одного поста и одного удара по репутации - никому пользы не принесла.
Думаю, тему можно в топку!!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог