![]() |
|
Модераторы: Akina |
![]()
|
|
| whitebada |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.10.2005 Где: Москва Репутация: нет Всего: нет |
Уважаемые профи (и не только). Помогите, если сможете, советом.
Вобщем, есть мысль создать базу данных по оборудованию с возможностью формировать заказы, составлять спецификации и т.д. Как сделать это в общих чертах я разобрался. Даже уже готов рабочий вариант. Но есть одна загвоздка. Есть некое оборудование, к которому идут дополнительные комплектующие и аксессуары. Например, есть витрина, к которой дополнительно, например, идут полки, корзинки, соединительные комплекты, боковины и т.п. Так вот, хочется сделать так: при составлении, скажем, спецификации, выбираешь сначала нужные "базовые" модули, а потом все дополнения к этому модулю. То есть, выбрал "витрина", а потом чтоб раскрывался список комплектующих именно к этой витрине... Не знаю, насколько грамотно я сумел изложить суть... Но, надеюсь, поймете... Или, аналогично, выбрал производителя, а потом в списке чтобы отображалось только то, что относится к данному производителю... Может кто-то сможет хоть примерно сказать, как это делать или где посмотреть инфу об этом или примеры. |
|||
|
||||
| NikolayBY |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 26.12.2005 Репутация: нет Всего: 1 |
Я бы, так как не профи, пошел бы следующим путем.
Создал бы запрос, в качестве отбора у которого выбиралась нужная (витрина), и соответственно все комплектующие к данной (витрине). |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Ну это просто выбрать комплектующие этой витрины и натолкать их в комбобокс. Я бы пошел иным путем - введением к такого рода товару кнопки "Добавить комплектующие в заказ". Т.е. автоматом все. А потом, буде надо, лишнее удалить, количества подкорректировать... Добавлено @ 18:26
Ну это просто выбрать комплектующие этой витрины и натолкать их в комбобокс. Я бы пошел иным путем - введением к такого рода товару кнопки "Добавить комплектующие в заказ". Т.е. автоматом все. А потом, буде надо, лишнее удалить, количества подкорректировать... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Papirus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Чессно говоря, не понял, в чем эта самая загвоздка. В организации хранилища данных (таблицы, связи...) или в интерфейсе пользователя (формочки, кнопочки, списочки...)?
|
|||
|
||||
| whitebada |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.10.2005 Где: Москва Репутация: нет Всего: нет |
Вот трудно мне понятно изъясниться... Сейчас попробую.
Интерфейс то я разберусь как сделать, меня больше интересует суть организации таблиц и связей между ними... Есть таблицы: "Оборудование", "Клиенты" "Спецификации". В оборудовании уже вбито все оборудование и комплектующие. Я так понимаю, что комплектующие лучше вынести в отдельную таблицу. В таблице "спецификация" есть подтаблица. В основной таблице вводится клиент, дата, доп. информация, а в подтаблице - оборудование. Пока с формой не заморачивался - но думаю разберусь... То есть мысль такая, что нужна еще одна подтаблица, в которой к оборудованию будут добавляться комплектующие... Надо попробовать... Мысли приходят :-) |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Вряд ли... комплектующим может быть узел, имеющий собственные комплектующие. Лучше ввести поле ParentID. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Papirus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
||||
|
||||
| McDevil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.12.2005 Где: Казахстан, Павлод ар Репутация: нет Всего: 3 |
Открываешь Access и создаешь таблицу на пример назовем её "сотрудники" с оответствующими полями и к ней таблицу "справки". Допустим в таблице "Сотрудники" есть поля ФИО, Адрес ... и нам необходимо чтобы из таблицы справки было связанно поле ... ну допустим "должность". Выбираешь в главном меню вставка-поле подстановок... Вылезет мастер там выбираете данные типа берутся из таблицы или запроса выбираешь таблицу "справки"(допустим там есть поля "КодСпр" и "Должность") - добавляешь оба поля зате указываешь имя поля... пусть будет "Должность" .Вот в принципе получилось связанное поле. Затем уже в дельфе File-New-DataModule. Со станички ADO выбираешь ADOConection и ADOTable - два штуке. Со странички DataAccess два DataSourse. Для ADOConection в свойстве conection жмешь по квадратику и жмешь кнопочку Build там выбираешь Microsoft Jet 4.0 ... затем кнопка далее указываешь путь к твоей базе и проверяешь подключение, но я искренне надеюсь, что вы все это знаете!!! если нет то дальше для Table1 cв-во conection выберите ADOConection тоже самое для Table2 только cв-во tablename указываешь соответствующие таблицы. Теперь два раза щелкайте па тейблам и делайте Add All Fields, если косяк тогда проверьте св-во conected для ADAConection - поставить в true. Теперь собственно по вашему вопросу КОНКРЕТНО = при условии что Table1.TableName="Сотрудники" и Table2.TableName="Справки". Два раза щелкаем по Table1 и делаем NewField указываем его Name допустим должность тип стринговый ставим гулку на LookUp дальше KeyField указываем имя поля "должность" DataSet = Table2 lookup key = "кодспр" result field = "должность" затем ok. Теперь переходим на главную форму в главном меню file-useunit указываем наш датамодуль пихаем на форму DBGrid указываем его DataSourse DataSoures1 при условии, что он связан с Table1 и в принципе теперь должность будет выбираться из выпадающего списка, что в принципе и надо было насколько я понял. Надеюсь помог. Еще запетка имена таблиц и полей в таблицах лучше обзывать английскими буквами...
-------------------- мы знаем столько, сколько можем, а можем столько, сколь хотим... Тестируем программу: SPL-программа аналогов функций |
|||
|
||||
| whitebada |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.10.2005 Где: Москва Репутация: нет Всего: нет |
Спасибо, будем разбираться... |
|||
|
||||
| McDevil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.12.2005 Где: Казахстан, Павлод ар Репутация: нет Всего: 3 |
Блин я забыл, что я не в дельфяке лазил, но в принципе должен понять, ато я и про то как на Delphi реализовать написал.
-------------------- мы знаем столько, сколько можем, а можем столько, сколь хотим... Тестируем программу: SPL-программа аналогов функций |
|||
|
||||
| Преображенский |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 7.4.2006 Репутация: нет Всего: нет |
Создай подтаблицу, свяжи их один-ко многим. Если в основной например два поля - код и наименование, в подтаблице три поля- код комплектующих (счетчик) и имя комплектующих и код оборудования. Создай форму соответственно обеим чтобы сперва вышел список оборудование и при выборе оборудвания вышли комплектующие и в модуле пропиши после обновления прописать код оборудования с первой формы и все...
|
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |