Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBLookupComboBox, Вопрос про запись значения в таблицу 
:(
    Опции темы
mambo
Дата 28.4.2004, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



Помогите, пожалуйста, новичку!
Хочу записать код руководителя из таблицы руководителей (Ruk) в таблицу подразделений (Pod), на форме вставки записи - DBLookupComboBox, где значения должностей из таблицы Ruk.
Так вот, делаю следующее
DM.Pod['PKodRuk'] := DBLookupComboBox1.KeyValue;
и в таблице Pod появляются записи по всем кодам руководителей, а не только по выбранному...
Как сделать правильно? butbut.gif
PM MAIL   Вверх
Cashey
Дата 28.4.2004, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Код
DM.Pod.FieldByName('PKodRuk').AsString := DBLookupComboBox1.Text



--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
mambo
Дата 28.4.2004, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



Все равно - записей столько, сколько значений у DBLookupComoBox wow.gif
PM MAIL   Вверх
x77
Дата 28.4.2004, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 1
Всего: 22



ничего не понял...

зачем вообще руками что-то указывать? у тебя TDbLookupComboBox есть. настрой в нём LookupField, KeyField, ResultField и т.д. и у тебя всё будет писаться само без всяких присвоений. А если ты пишешь руами - то зачем тебе вообще LookupCombo?


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
mambo
Дата 28.4.2004, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



Настроил правильно ListSource, ListField, KeyField, а в результате все так же прописываются в таблице записи, вместо того, чтобы появлялась одна.
PM MAIL   Вверх
jonik_Dk
Дата 28.4.2004, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 18.2.2004

Репутация: нет
Всего: 1



Можешь по другому :

Создай в Таблице Podr Lookup-поле (Редактор полей), которое будет ссылаться на таблицу Ruk. И в DBLookupComboBox просто пропишешь это аоле в свойстве FieldName, больше ничего настраивать не прийдется.

Но, в принципе если правильно настроил свойства ListSource, ListField, KeyField должно работать.
PM MAIL   Вверх
Cashey
Дата 28.4.2004, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Настраивать св-ва ListSource, ListField, KeyField, не совсем удобно, для этого курсор в таблице должен стоять на добавленной или редактируемой строке. И не будет отката назад.
А мой пример не может не работать. Убери из компонента связи, оставь заполнеными только св-ва KeyField и ListField , убедись, что у тебя открыта таблица и что использованны комманды Append, Insert или Edit. И, что у тебя присваивании происходит не в цикле.


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
mambo
Дата 29.4.2004, 02:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



Оставляю свойства KeyField и ListField, все равно результат тот же...
PM MAIL   Вверх
mambo
Дата 29.4.2004, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



С подстановочным полем тоже ничего не выходит.
PM MAIL   Вверх
Cashey
Дата 29.4.2004, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



привиди весь код процедуры, где у тя происходит присвоение


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
mambo
Дата 29.4.2004, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



procedure TForm6.Button1Click(Sender: TObject);
begin
DM.Pod.Append;
DM.Pod['PKod'] := Edit1.Text;
DM.Pod['PPod'] := Edit2.Text;

А тут разные варианты, которые использовал:

//DM.Pod.FieldByName('PKodRuk').AsString := DBLookupComboBox1.KeyValue;

//DM.Pod['PKodRuk'] := DBLookupComboBox1.KeyValue;

А вот после такого выходит ошибка (Circular data links are not allowed):
//DBLookupComboBox1.DataSource := DM.DataSource2;
//DBLookupComboBox1.DataField := 'PKod_Ruk';
//DBLookupComboBox1.ListSource := DM.DataSource1;
//DBLookupComboBox1.ListField := 'RDolj';
//DBLookupComboBox1.KeyField := 'RKod';

DM.Pod.Post;
DM.Pod_Adm.Active := False;
DM.Pod_Adm.Active := True;
Close;
end;
PM MAIL   Вверх
Cashey
Дата 29.4.2004, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Цитата(mambo @ 29.4.2004, 08:43)
А тут разные варианты, которые использовал:

//DM.Pod.FieldByName('PKodRuk').AsString := DBLookupComboBox1.KeyValue;

//DM.Pod['PKodRuk'] := DBLookupComboBox1.KeyValue;

Обрати внимание! Я же сказал не KeyValue, а
Код
DM.Pod.FieldByName('PKodRuk').AsString := DBLookupComboBox1.[b]Text[/b]



--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
mambo
Дата 29.4.2004, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



Все равно идет запись по всем руководителям... wow.gif
PM MAIL   Вверх
Cashey
Дата 29.4.2004, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Фигня это все. Так не бывает, что-то зевнул smile.gif
Значит так: убиваешь все, что у тя есть в св-вах DBLookupComboBox1: DataField, DataSource, ImeName. В св-вах DBLookupComboBox1.ListSource пишишь Source справочника, св-ва ListField и KeyField дублируешь именим поля справочника ('RDolj')

И дальше пишишь код:
Код
procedure TForm6.Button1Click(Sender: TObject);
begin
DM.Pod.AppendRecord([Edit1.Text,Edit2.Text,DBLookupComboBox1.Text]);
DM.Pod.Post;
end;


Имей ввиду, что Edit должны соответствовать порядковому номеру фактического поля в таблице, если у тебя первое поле типа AutoIncrement, то тогда первым параметром поставь nil


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
mambo
Дата 29.4.2004, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 28.4.2004

Репутация: нет
Всего: нет



'Pod: Dataset not in edit or insert mode' - такая фигня вылазит при запуске...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1137 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.