![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сопоставление полей [D5, Paradox]
sergun © (2003-03-28 20:19:00)помогите, пожалуйста, решить проблему:
У меня две таблицы с полями
1 таблица) поля ...,"Товар", "цена",...
2 таблица) поля ...,"Наименование","цена",...
где мне нужно
в первой таблице выбирая значения "Товар" нужно чтобы автоматом забивались значения "Цена".
На выбор товара я уже сделал combobox, с этим уже нет проблем.
Основной вопрос, как сделать так чтобы ставилась еще и цена.
П.С. Большая просьба не говорить, чтобы я посмотрел примеры, т.к. я это уже сделал и ничегошеньки там не понял ("чайник").
Заранее благодарю за помощь
mike-d (2003-03-29 11:10:00) [1]> sergun © (28.03.03 20:56)
Немного дополню ответ VID © (28.03.03 23:14).
Если таблица 2 является справочником (так ее и назовем) и вам не нужно изменять значение цены в таблице 1 (пусть это будет какой-то документ), тогда структура ваших таблиц примет примерно следующий вид:
"справочник" (таблица 2)
1. IdTv - код товара
2. Name - наименование товара
3. Price - цена
"документ" (таблица 1)
1. IdTv - код товара
2. Cnt - количество
...
В этом случае вам достаточно создать в DataSet "документ" Lookup поля "наименование" и "цена" связанные со "справочником" по полю "код товара". При изменении "кода" у вас будут автоматически подставляться "наименование" и "цена". Более того, при изменении в "справочнике" одного из параметров "наименования" или "цены" они будут автоматически изменяться в "документе".
Если цену нужно оставлять неизменной при занесении товара в документ, то это немного более сложный случай, тут потребуется некоторая избыточность данных, т.е. - поле "цена" в таблице "документ".
Для информации рекомендую почитать любые "основы реляционных баз данных".
VID (2003-03-28 23:14:00) [2]как я понимаю таблица 2 у тебя является справочником.
тогда тебе надо сделать так:
создать связь один - ко- многим, между
ТАБЛИЦА2.НАИМЕНОВАНИЕ -> ТАБЛИЦА1.ТОВАР ну и указать необходимые триггеры для целостности данных.
а на уровне проги, в датасете который содержит таблицу 1 сделать lookup поле, которое в качестве источников данных будет брать поле НАИМЕНОВАНИЕ того датасета, который содержит таблицу 2 (справочник)
дальше для просто у нужного контрола , который должен будет показывать цену выбранного тобою товара, в качестве DataField присвой созданное тобой LookUp поле
sergun (2003-03-28 20:56:00) [3]Товар->Наименование
Соответственно, и "цена" таблицы 1, должна браться из "цены" таблицы 2. А вот как это сделать?
mike-d (2003-03-28 20:45:00) [4]Вопрос неполный... Какая связь между 1 и 2 таблицами? Что значит "Товар" и "Наименование" - это одно и тоже или разные вещи? Цена должна заполняться автоматически - это понятно, но откуда?
Приведите более полную структуру таблиц и как они между собой связаны...