|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2008, 22:31 | #1 |
Пользователь Подтвердите свой е-майл
Регистрация: 13.05.2008
Сообщений: 65
|
Отображение в форме и таблице двух столбцов подстановок
Имеем таблицу {1}с множеством полей и в частности с полями [Электродвигатель] - столбец подстановки, [Мощность]. И еще одну табличку {2}с полями [Код], [Эл_дв], [Мощн]. Все было бы ничего но хочется чтобы в форме было наглядно нарисовано и электродвигатель и мощность (которая бы бралась из таблицы {2}) а не вбивалась вручную в таблицу {1}. Просто перетянуть поле в форму таблицы {1} удается, но странным образом нарушается структура вывода данных в форме (например пишешь вывести строку 150 - выводится строка с кодом 58)... И возможно ли вообще такое - при изменении одного значения поля (ячейки) в таблице (к примеру изменение в таблице {1} поля со списком (выбор какого либо значения)) - изменялось бы значение другого поля...
зыж если что не так написАл - просьба не пинать |
24.06.2008, 01:27 | #2 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
|
24.06.2008, 07:44 | #3 |
Пользователь Подтвердите свой е-майл
Регистрация: 13.05.2008
Сообщений: 65
|
я так понял здесь все построено на работе скрипта:
Код:
Может я что то накрутил в своей базе, но у меня в таблице {1} вместо цифровых кодов прописаны сами названия (еще и с выпадающим списком)... или это нормально? вечером прикручу кусок базы... |
24.06.2008, 09:19 | #4 | |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
Цитата:
Все очень просто: После обновления (AfterUpdate) выбранного Вами значения (код) в поле "Электродвигатель" оно передается полю "Мощность". Используя Column комбобокса Вы видите в полях формы не это значение, а нужный столбец из Таблица2, т.е. эта таблица используется как словарь. В данном случае похоже что накрутили, нарушив принципы построения реляционных бд. Хотя цифровые значения использовать или текстовые - это Ваше дело, однако Вы должны понимать, что от этого очень сильно зависит как размер базы, так и скорость обработки.. да еще много чего. Бывают исключения конечно, но думаю это не тот случай. Если в таблице2 записи удаляются по каким-то соображениям проектирования бд, то нужно использовать тексты, если нет, то используйте эту таблицу как словарь и смело переделывайте на число. Вообще давать советы по структуре бд исходя из Ваших урезанных вопросов-дело неблагодарное. Только Вы сами сможете на них ответить. Здесь рассматривается частный вопрос. В подобной ситуации при несколько иных задачах решение может быть совсем другое. |
|
30.06.2008, 22:09 | #5 |
Пользователь Подтвердите свой е-майл
Регистрация: 13.05.2008
Сообщений: 65
|
вот кусок БД. Посмотрите что я тут накрутил и возможно ли исправить или можно так оставить, но какие могут быть проблемы в дальнейшем? в принципе такое представление полей в таблице выглядит более наглядно, да и в дальнейшем будет врятли как то правиться...по идее наверняка правильнее сделать в цифровом виде (так как все равно выводится будет в форме)
Последний раз редактировалось smoky; 30.06.2008 в 22:16. |
01.07.2008, 09:27 | #6 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
Критического нет ничего, однако: (ставлю вопросы на которые Вы себе ответьте сами) Таблицы: Если уж подстановка в формах, то зачем такая же подстановка в таблицах(поле "ЭлектродвигательЛебедки" "таблица1)? Вы же работаете с ними через формы. При больших объемах информации это замедлит работу. Может стоит сделать в таблице просто Long(числовое) поле без всяких прибамбасов? А зачем полю "№ п\п" размер поля "Двойное с плавающей точкой"? Ошибка. Таблица "электродв": Чтобы Вам не путаться, может следует соблюдать общепризнанные правила размещения полей:-ключевое поле всегда первое? Поменять местами всегда можно при подствновке, в запросе например.. Поле "Мощность": если будете производить вычисления с этими данными, то "Двойное с плавающей точкой"может быть оправдано. Если же под вопросом, то может лучше "текстовое"? Всякое бывает.. Формы: предвижу жалобы пользователей на белый фон. Думайте о зрении. Не зря Билл сделал консервативный скучный интерфейс. Зачем вообще забивать голову полем "№ п/п"? Это есть внизу.. Поле "электродвигатель": Может стоит сделать сортировку, чтобы легче было найти нужную запись? Поле "мощность": Если каждому типу эл.двигателя соответствует только одно значение мощности, то это поле вообще не нужно, в том числе и в привязанной таблице. Зачем дублировать поля? Если же несколько, то есть смысл это поле преобразовать в комбобокс (поле со списком) с возможностью не по памяти исправлять предложенные значения, а выбирать из списка (дабы не совершить ошибку). |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аффинная система подстановок Цезаря | Karyuudo | Помощь студентам | 12 | 10.02.2010 19:26 |
Прибавление данніх из двух столбцов | gavrylyuk | Microsoft Office Excel | 3 | 01.08.2008 11:40 |
Проблема со столбцом подстановок. | Hellell | Microsoft Office Access | 1 | 08.01.2008 02:13 |
Как извлечь из двух столбцов несовпадающие строки | Shavminator | Microsoft Office Excel | 4 | 28.12.2007 12:23 |
Отображение картинок или метафайлов на форме. | Hellen | Общие вопросы Delphi | 3 | 19.02.2007 10:44 |