Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Delphi: Проблемы с Lookup-полями |
Автор: Solominka 11.4.2011, 16:42 | ||||
В общем, перенос из предыдущей темы. СУБД Paradox7 Связь такая: DBGrid -> DataSource -> Query -> UpdateSQL. Мне нужно, чтобы в первой таблице в поле Pole2 отображалось содержимое поля Poles из второй таблицы как лукап-поле (раскрывающийся список). Делаю всё как написано в большинстве статей по этому поводу, но выдаёт такую ошибку: Exception EDatabaseError in module Project1.exe at 000751BD. Lookup information for field 'Pole2' is incomplete. Исходник можно найти ниже. cat512, я скачала ваш вариант, поменяла путь к базам на свой и у меня всё та же самая ошибка.
А как я их введу, если оно не запускается толком =_=
Что это и где это взять? >__> |
Автор: cat512 11.4.2011, 16:46 | ||||
Ну я как то же ввёл!
c:\Program Files\Borland\Delphi7\Demos\ - в этом каталоге находятся все дэмки, поставляеммые разработчиками, пользователю c:\Program Files\Borland\Delphi7\Demos\Db\CtrlGrid\ - здесь лежит пример с lookup полем |
Автор: Solominka 11.4.2011, 16:47 | ||||
Так вот я и спрашиваю, КАК. ![]() Я делала следующее: сначала заполняла справочник, а потом пыталась сделать Лукап-поле. Но это мне не помогло, ошибка та же.
Спасибо, я посмотрю сейчас. |
Автор: Akella 11.4.2011, 16:47 |
Советую взять какую-нибудь книгу для начинающих по Delphi и базам данных и прочитать, как настроить Lookup поля. Да и в тырнете хватает инфы. На форуме тоже был ответ. Поиск тебя спасёт. |
Автор: Solominka 11.4.2011, 16:54 | ||||
Я искала, честно. И я бы не стала здесь писать, если бы нашла - мне как бы тоже не в кайф тратить кучу времени, - как своего, так и чужого. Я делаю всё, как написано - но у меня ошибка и даже пример cat512 у меня не работает. Я бы и сама с радостью решила бы свои проблемы и никого бы не мучила - если бы могла.
Лукап-поля там не нашла, как ни искала =_= Увы. И в таблицу даже изменений внести нельзя... Да и вообще пример больно мутный и сложный какой-то... |
Автор: cat512 11.4.2011, 17:06 | ||||||
Барышня, с таким подходом, вы ничему не научитесь!
Ну где логика??? Сначала сделать записи в подчинёной табличке, а потом ссылаться на неё пустыми значениями ключевого-поля
Пути не надо было менять
А датамодуль открыть не судьба? Поле IndustryLongName (tblMasters) |
Автор: Solominka 11.4.2011, 17:21 | ||||||
С каким "таким"? =__=
А ничего, что у меня диска G как бы нет в системе?
Знать бы ещё, что это такое и как выглядит - было бы вообще замечательно. Большая просьба - если что-то пишите - пишите пожалуйста досконально и полностью. Можете считать меня полным неувязком и чайником - это ваше право. |
Автор: cat512 11.4.2011, 18:04 | ||||||
У меня сложилось впечатление, что ты, не хочешь приложить минимум усилий, для решения проблемы. Тебе указали пример, где можно посмотреть lookup - поля, а ты не сделала минимум телодвижений, в эту сторону. Поэтому я так и написал. А разжёвывать элементарные вещи, тебе здесь никто не будет. Надо учиться добывать информацию самой.
![]()
Ну для того что бы что-то знать, надо хотя-бы книжки почитывать. Не знаешь что такое датамодуль? или как его открыть? Ну так наверное, нужно сперва почитать об этом, а потом хвататься за примеры |
Автор: Solominka 11.4.2011, 18:22 | ||||||||
Я сделала - но лукап поля в этом примере так и не нашла. Либо вы выражаетесь так, что я не верно понимаю то, о чём вы говорите, ибо я - нуб. Я умею добывать информацию и гуглом пользуюсь ежедневно. Но проследить какие-либо закономерности между своим примером и примерами которые мне удалось найти - я не могу. Если бы смогла - не мучила бы никого и сама бы не мучилась. =_= Я уже который день бьюсь с проблемой лукап-полей, для вас это наверное смешно, а у меня уже дела до слёз дошли. И вообще, причём тут путь к БД? Он может быть каким угодно, не так ли?
Я нашла в примере это поле и оно явно не типа лукап. Кроме того, в примере вообще одна таблица, хотя для того, что нужно МНЕ - нужно как минимум две.
Именно это мне и надо. Просто никогда ещё не доводилось лезть в такие дебри.
Ничем из этого никогда в жизни не занималась. |
Автор: superVad 11.4.2011, 20:11 | ||
Solominka Такое дело - у тебя Query1 открывается раньше чем Form2.Query1. Поставь им обоим Active в False. А в FormShow сделай так.
И в Form2.Query1 уже должны быть данные. Т.е. удали лукапы, введи данные и создай лукапы. |
Автор: Solominka 11.4.2011, 20:34 |
superVad, ура, работает!!!!! ![]() Большое Вам спасибо!!! Очень вам признательна! ![]() Добавлено @ 20:41 Ой... только теперь у меня другая проблема. При выборе варианта Лукап-поля - в первой таблице присваивается айди выбранного варианта, а не тот, который я вводила вручную =__= С чем это может быть связано? |
Автор: Solominka 11.4.2011, 22:15 | ||
Да, именно так =__= Выбираешь Лукап - и в таблице высвечивается АйДи лукапа. А нужно чтобы оно не менялось. Короче чтобы этой зависимости не было вообще. Айди я ввожу сама с клавиатуры и надо чтобы оно без изменений оставалось вне зависимости от того, какой лукап я выбираю. |
Автор: cat512 11.4.2011, 22:30 | ||
Сериал продолжается ![]() |
Автор: Solominka 11.4.2011, 22:42 | ||
Вообще-то это не смешно =( |
Автор: superVad 11.4.2011, 22:47 | ||
Я вижу ты не понимаешь суть пустоши лукапов. Давай ты опишешь, какого поведения хочешь добиться от программы - желательно в новой теме. Боюсь это может оказаться http://www.gunsmoker.ru/2008/10/x-y-z.html. |
Автор: Solominka 11.4.2011, 23:17 |
superVad, вот http://forum.vingrad.ru/forum/topic-326845.html На счёт ОНО - вы скорее всего правы =__= |