Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

Справочник   Найти похожие ветки 

 
RGB   (2006-08-06 00:45) [0]

Подскажите пожалуйста как сделать выбор из справочника.
Есть две таблички: 1-я – справочник единиц измерения
У нее два поля:
 1) Name – String – 20   (Например - Килограмм)
 2) ShortName – String – 10    (Например - кг.)
2-я – «операционная» (собственно тоже справочник), имеет поля:
 1) ID – AutoIncrement
 2) Naimenovanie – String – 50
 3) EdIzm – String – 10
 4) Cena – Currency
Есть ДБГрид, настроен на вторую таблицу, доступно прямое редактирование.
Как сделать чтобы на поле EdIzm был выпадающий список со всеми значениями из первой таблички поля ShortName? Ну т.е. прямое изменение недопустимо, а только выбор из списка.


 
RGB   (2006-08-06 00:46) [1]

Таблицы ПАРАДОКС (*.db)


 
Johnmen ©   (2006-08-06 01:32) [2]

Изучить лукапные поля. Т.е. добавить в набор данных LookupField  на набор данных справочника ед.измерения.


 
RGB   (2006-08-06 01:43) [3]

> [2] Johnmen ©   (06.08.06 01:32)
> Изучить лукапные поля.

Вот в них и запутался... Можно как нибудь на пальцах про это рассказать?
Зачем надо использовать два поля для этого... KeyFields, LookupKeyFields, LookupResultFields? Книга есть... читаю...если бы все понял здесь бы неспрашивал.


 
Johnmen ©   (2006-08-06 01:48) [4]

На пальцах:
в НД, где преполагается ссылка на НД с "расшифровкой имён", добавляется лукапное поле. Настраивается оно соответственно. И всё...


 
RGB   (2006-08-06 01:51) [5]

Получается нечто то, что надо, если добавляю в первую таблицу поле ID - AutoIncrement и у второй KeyFields = ID, LookupDataSet = DataSet первой, LookupKeyFields = ID, LookupResultFields = ShortName.
Вот так вроде то че надо... но для чего добавлять поле в первую таб., и зачем во второй таб. поле ID меняется взависимости от выбора из первой (кроме того что поле EdIzm тоже выбирается из ShortName, т.е. только вот это бы и надо)?


 
RGB   (2006-08-06 01:55) [6]

А если каждое поле из второй таблицы должно выбираться из своего справочника, это что же для каждого поля нужно его продублировать?
т.е. полей станет в два раза больше чем реально используются?


 
Johnmen ©   (2006-08-06 01:58) [7]

Я не знаю, что там у тебя и как, но ссылочые взаимосвязи реализуются классически. Это описано в горах литературы...


 
RGB   (2006-08-06 01:59) [8]

Может как то есть способ выбора из справочника проще? для поля...
Желательно нужно изминения в справочнике меняли и в во второй таблице.
т.е. поменяли кг на кг. (точку добавили) и во второй везде где было кг стало кг.


 
RGB   (2006-08-06 02:01) [9]

> [7] Johnmen ©   (06.08.06 01:58)

Я правильно понял, что для этой ссылочной взаимосвязи и надо два поля задействовать?


 
RGB   (2006-08-06 02:04) [10]

> [7] Johnmen ©   (06.08.06 01:58)

Вообще у меня все просто... Нужно из первой таблицы из поля ShortName брать значения и вставлять в список выподающий на поле EdIzm второй таб.
Правильно ли здесь сделал?

> [5] RGB   (06.08.06 01:51)


 
Johnmen ©   (2006-08-06 02:13) [11]

Прошу прощения. В таких расплывчатых терминах я не могу плавать...:)
Стандарт - в ведущем НД есть лукапное поле, ключевое значение которого соответствует реальному значению в ссылочном НД. А отображается то, что в в ссылочном НД....


> RGB   (06.08.06 02:04) [10]


Наверное, правильно....:)


 
RGB   (2006-08-06 02:17) [12]

> [11] Johnmen ©   (06.08.06 02:13)

Спасибо.

> Стандарт - в ведущем НД есть лукапное поле, ключевое значение
> которого соответствует реальному значению в ссылочном НД.
> А отображается то, что в в ссылочном НД....

У всех своя терминология.... не совсем понял...
Евгений М. Приведите пожалуйста какой нибудь пример по поводу моего вопроса
(лукап полей) т.е. какая должна быть структура таблиц и как правильно настроить поле EdIzm второй таб.


 
RGB   (2006-08-06 02:19) [13]

> т.е. какая должна быть структура таблиц

Читать как изменить структуру из [1]


 
RGB   (2006-08-06 02:20) [14]

> [13] RGB   (06.08.06 02:19)

Забываю что все начинается с нуля конечно же из [0] :)


 
Johnmen ©   (2006-08-06 02:24) [15]

Простейший пример:
в ведущем НД есть поле типа int, идентифицирующее город.
в лукапном НД есть поля int - идентификатор города, Name - имя города.
Когда всё это связано на уровне лукап поля, то результат именно такой, как ожидается.......


 
RGB   (2006-08-06 03:08) [16]

> [15] Johnmen ©   (06.08.06 02:24)

В пример для меня
ведущий НД - это ? вторая таб.?
лукапный НД - это ? первая таб.?
Ну чего то, ну никак, не пойму что к чему.
т.е.
Первая:
1) ID - AutoIncrement
2) Name – String – 20   (Например - Килограмм)
3) ShortName – String – 10    (Например - кг.)
вторая:
1) ID – AutoIncrement
2) Naimenovanie – String – 50
3) IDEdIzm - Int
4) EdIzm – String – 10
5) Cena – Currency
и у второй KeyFields = IDEdIzm, LookupDataSet = DataSet первой, LookupKeyFields = ID, LookupResultFields = ShortName.
ну и наверное IDEdIzm сделать Visible:=False; (чёб в Гриде не видно было)
Так должно быть?

Спасибо.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.038 c
15-1153854350
Piter
2006-07-25 23:05
2006.08.27
Звукоимитатор Майкл Уинслоу


15-1154069076
Neo Trinitron
2006-07-28 10:44
2006.08.27
Смена работы


2-1154607114
TrainerOfDolphins
2006-08-03 16:11
2006.08.27
Refresh с возвратом на вновь вставленную запись.


2-1154521843
AlexanderMS
2006-08-02 16:30
2006.08.27
Файлы ярлыков (*.lnk)


3-1150873521
dwar
2006-06-21 11:05
2006.08.27
FIBPlus вопрос по FIBQuery





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский