Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35

Подставление ряда полей из разных таблиц в зависимости от содержимого другого (ключвого?) поля в форме

09.03.2017, 11:51. Показов 3327. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте Уважаемые специалисты - программисты и все кто хоть что нибудь понимает в MS Access! (те кто ничего в Access не понимает тоже здравствуйте но дальше можете не читать )

Помогите правильно решить задачу пожалуйста:
С помощью формы Access составляется калькуляция - Акт о выполнении работ
Имеется 3 таблицы:

-Работы
-Нормированные Работы
-Детали

В этих таблицах есть одинаковые столбцы поля из которых нужно подставить в акт:

Название-Единицы измерения-Стоимость за единицу

Вопрос:

В форме имеем ряды полей:

Тип-Название-Единицы измерения-Стоимость за единицу-Количествo-Сумма-

Как сделать так чтобы в зависимости от поля -Тип- подставлялось из списка значение поля - название и паровозам значения полей - Единицы измерения-Стоимость за единицу

Соединение трех таблиц в одну с разделением по ключевому полю крайне не желательно так как они содержат в себе разное количество полей с разными свойствами.

Спасибо за внимание каждому прочитавшему. Очень надеюсь на вашу помощь.

P.S. Мой уровень знания Access где то между чайником и кофейником поэтомy будьте пожалуйста снисходительны
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2017, 11:51
Ответы с готовыми решениями:

Изменение высоты и расположения полей на форме в зависимости от содержимого
Здравствуйте! В ФОРМЕ расположено несколько полей друг под другом. Можно ли менять высоту поля при изменении содержимого, и чтобы остальные...

Выборка из разных таблиц в зависимости от значения поля
Как сделать так, чтобы при выборке SQL, в зависимости от значения поля, выбиралась определенная таблица? например: если значение поля...

Значение поля в зависимости от значений полей в подчинённорй форме
В главной форме поле "заказ закрыт" (флажок) и поле "Долг за заказ". В подчиненной форме -поле "статус позиции" (открыта или...

33
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,934
Записей в блоге: 4
09.03.2017, 12:21
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Спасибо за внимание каждому прочитавшему. Очень надеюсь на вашу помощь.
а мы надеемся, что вы выложите пример данных в аксесс или ексель
иначе , лично я , ничего не поняла из вопроса

Добавлено через 59 секунд
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Акт о выполнении работ
его образец тоже лишним не будет
1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
10.03.2017, 13:15  [ТС]
Спасибо что обратили внимание на мою проблему!
Чтобы было удобнее перевёл всё с литовского на русский и добавил необходимые коментарии. Надеюсь будет понятно. Очень жду Вашей помощи.
Вложения
Тип файла: zip Test rus.zip (218.6 Кб, 8 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,447
11.03.2017, 06:21
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Как сделать так чтобы в зависимости от поля -Тип- подставлялось из списка значение поля - название и паровозам значения полей - Единицы измерения-Стоимость за единицу
Дорогой brodiaga1980, позвольте немного неприятной (но надеюсь полезной) критики:
Вы там всё красиво оформили, только содержимое акта ограничили сего 3-мя позициями.
И не важно будет их ОДНА или ВОСЕМЬ (позиций) - вы с самого начала не правильно спроектировали БД.
Вы идёте по дороге MS Excel - а это MS Access, и тут всё логичнее и иначе.

У акта может быть произвольное кол-во позиций - следовательно нужна таблица: "Акты_Список" (например) с отношением ОДИН ко МНОГИМ и подчинённая форма в Акте для заполнения.

Мог бы ответить на ваш вопрос, но давайте сразу делать всё "по уму".
Считаю, что правильнее вам будет сначала "нормализовать" БД по логике будущего приложения.

Надеюсь был понятен.

Добавлено через 7 минут
Тут такая система;
БД и её схема = скелет
Обработки и код = мясо
Красивости и удобство интерфейса = кожа
Получаем: Организм.

Часто бывает: Начинаем с "ёжика" и заканчиваем (через пару лет) "жирафом".
Но "скелет" (Структура БД) похожи в развитии, а вот переделать всё в "крокодила" уже сложно.
2
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 13:57  [ТС]
Большое спасибо Уважаемый Eugene-ЛС за критику.
Как я уже и писал мой уровень в аксесс - чайник а для решения поставленной задачи надо быть хотя бы самоваром Само собой выстроить правильную структуру БД я без посторонней помощи не смогу по той простой причине что не знаю наверное даже четверти возможностей которые предоставляет эта программа. С другой стороны, в моем случае - апетит приходит во время еды - чем больше я узнаю тем больше у меня появляется идеи как это применить поэтому нанять кого-то для выполнения этой работы тоже проблематично. Естественно если всё с начала и до конца изучить а потом сделать будет намного лучше но занимаюсь я этим потому что мои отец уходит на пенсию и передает мне управление не большим предприятием в котором если и вёлся какой-то учёт то на уровне -ручки с бумажкой - а своих занятий у меня и раньше было достаточно. В общем страшная проблема со временем и путь от ежа до крокодила для меня неизбежен но с Вашей помощью надеюсь он станет намного короче

Теперь по делу:

"У акта может быть произвольное кол-во позиций - следовательно нужна таблица: "Акты_Список"

1- В моем случае количество позиций в этом и всех последующих документах ограничено листом формата а4 и из опыта известно что этого достаточно (это дли справки)
2- Имеется таблица "Акты" в которой хранится содержимое каждого документа отдельно. Что должно храниться в таблице "Акты_Список" и как туда это будет подставляться из таблиц "Работы" "Нормированные Работы" "Детали"? У меня этот вопрос возникает потому что в дальнейшем содержимое этих таблиц будет очень разным а для ведения склада я собираюсь собирать информацию по использованным деталям в таблице "акты" и теперь схема которую я себе построил начинает рушиться

Добавлено через 40 минут
Почему у меня не получается сделать цитату ?!?

"Мог бы ответить на ваш вопрос, но давайте сразу делать всё "по уму".
Считаю, что правильнее вам будет сначала "нормализовать" БД по логике будущего приложения."

Общий объем функций которая должна выполнять бд на сегодняшний день:

Подготовка на печать и хранение документов:
-Акт о выполнении работ - гарантийное письмо
-Счёт фактура ( на основе нескольких актов о выполнении или непосредственно продажа деталей-товаров со склада или вписание ручками)
-Предварительная калькуляция (на ее основе выписывается акт о выполнении или счет.
- Накладные ( на выдачу, прием, списание и т.д. со склада)

Расчёт стоимости товаров и услуг (на основе системы наценок, скидок)

Ведение склада (на основе выше перечисленных и сопроводительных документов)

Систематизация информации о клиентах, ремонтируемом оборудовании и гарантийных обязательствах.

Добавлено через 11 минут
С удовольствием выслушаю ваши рекомендации и или если ткнётe носом нужную часть простой и доходчивой для не специалиста литературы. Перед обращением сюда я весь загуглился и заяндексился
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,934
Записей в блоге: 4
11.03.2017, 17:49
помимо того, что у вас 3 позиции в акте, у вас и другие прогрешения
--множественный выбор, чтобы показать эквивалентные детали
--у вас 3 справочника(пока) в зависимости от типа присоединять наименования и цены для работ/нормированныхРабот/деталей
Вложения
Тип файла: zip Test rus11.zip (153.4 Кб, 7 просмотров)
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,934
Записей в блоге: 4
11.03.2017, 17:53
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Подготовка на печать и хранение документов:
-Акт о выполнении работ - гарантийное письмо
-Счёт фактура ( на основе нескольких актов о выполнении или непосредственно продажа деталей-товаров со склада или вписание ручками)
-Предварительная калькуляция (на ее основе выписывается акт о выполнении или счет.
- Накладные ( на выдачу, прием, списание и т.д. со склада)
возможно название акт не подходит для этой таблицы, ибо в ней будут и счета/калькуляции/накладные
0
 Аватар для VinniPuh
9128 / 6130 / 593
Регистрация: 27.03.2013
Сообщений: 19,974
11.03.2017, 18:34
shanemac51, однозначно и солидарно согласен.
Имя таблицы очень важно.
Иногда по 2-3 дня придумываю имя таблицы, дабы в последствии не перепутать, а знать достоверно к чему обращаюсь.
0
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 18:50  [ТС]
" возможно название акт не подходит для этой таблицы " - Название временное так как пока решаю Вопрос создания одного документа и ещё не определился в одной или разных таблицах будут храниться остальные документы.

" помимо того, что у вас 3 позиции в акте, у вас и другие прогрешения
--множественный выбор, чтобы показать эквивалентные детали
--у вас 3 справочника(пока) в зависимости от типа присоединять наименования и цены для работ/нормированныхРабот/деталей " - А тут то я чем накосячил!?!

Если я правильно понял то мне нужно:

1- Создать таблицу " строки для актов ( документов)"
2 - В акт добавить подчинённую ленточную форму (Или 3 чтобы обращаться к разным таблицам?)

Долбаюсь над этим целый день. Не получается увязать основную форму с подчиненной. Строки не добовляются и ругается что что-то с чем-то совпадает, идентефикатор или ещё что-то там.
Ещё меня дико мучает вопрос - Как я буду вести подсчеты если будут использоваться 3 разных подчинённых формы или при подставлении подсчётов в акте в счёт фактуру. думал как добавить номер акта к строкам (полям?) с таблице " строки для актов ( документов)" но решение никак не приходит Пересидел в компе наверно.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,934
Записей в блоге: 4
11.03.2017, 18:52
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Не получается увязать основную форму с подчиненной.
я же вам связала --только справочники не прицепила
0
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 19:03  [ТС]
У меня вобще такое чувство что я в Аксес не понимаю чего то очень важного. Мне значительно удобнее пользоваться Прямыми SQL запросами так как я немного имел с ними дело при создании сайта.

Добавлено через 3 минуты
"я же вам связала --только справочники не прицепила" - Так я с этим мучаюсь ещё с обеда после того как с уважаемым Eugene-LS пообщался
0
Эксперт MS Access
 Аватар для Eugene-LS
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,447
11.03.2017, 19:08
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Не получается увязать основную форму с подчиненной. Строки не добовляются и ругается что что-то с чем-то совпадает, идентефикатор или ещё что-то там.
У объекта "Подчинённая форма" есть 2 свойства LinkMasterFields и LinkChildFields (с построителем по дв. клику) - они и определяют связь между основной и подчинённой формой

Добавлено через 2 минуты
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Как я буду вести подсчеты если будут использоваться 3 разных подчинённых формы или при подставлении подсчётов в акте в счёт фактуру
Если я правильно вас понял, то это не проблема.
0
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 19:13  [ТС]
"я же вам связала --только справочники не прицепила" - Так я с этим мучаюсь ещё с обеда после того как с уважаемым Eugene-LS пообщался
0
Эксперт MS Access
 Аватар для Eugene-LS
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,447
11.03.2017, 19:19
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Так я с этим мучаюсь ещё с обеда
Кстати, для создания цитаты на форуме - выделяйте нужный текст мышкой - появиться жёлтый баллончик "Цетировать!" ...
0
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 19:35  [ТС]
Список работает (Спасибо) но теперь я окончательно потерялся как мне подключить таблицы "Работы", "Нормированные Работы", "Детали" (Это я так понимаю Вы называете справочниками?)
1- Делать 3 формы или есть другой путь?
2- при преобразовании поля -название- в разворачивающийся список вместо текста появляются ид полей (строк?)
3-Как подставить значения полей - Единицы измерения-Стоимость за единицу

Извините что так страшно туплю. Наверно надо отдохнуть.

Добавлено через 1 минуту
" Кстати, для создания цитаты на форуме - выделяйте нужный текст мышкой - появиться жёлтый баллончик "Цетировать!" ..." Выделяю, появляется, жмыкаю мышкой. Ничего не происходит

Добавлено через 3 минуты
Помогите пожалуйста или действующим примером или чёткой поэтапной инструкцией а то мозг отказал а чувство морального удовлетворения не наступит пока результат не увижу.
0
Эксперт MS Access
 Аватар для Eugene-LS
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,447
11.03.2017, 19:46
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
1- Делать 3 формы или есть другой путь?
Это как вам больше нравится - можно всё в одну форму, а можно и разделить на 3 разных.

Цитата Сообщение от brodiaga1980 Посмотреть сообщение
2- при преобразовании поля -название- в разворачивающийся список вместо текста появляются ид полей (строк?)
Регулируется свойствами объекта BoundColumn, ColumnCount и ColumnWidths
1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 20:08  [ТС]
"Это как вам больше нравится - можно всё в одну форму, а можно и разделить на 3 разных." - Больше нравится в одной зависимой форме. А как???
0
Эксперт MS Access
 Аватар для Eugene-LS
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,447
11.03.2017, 20:16
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Помогите пожалуйста или действующим примером или чёткой поэтапной инструкцией
Насчёт примеров - и тут много разных, ещё посмотрите сайты по Access (список далеко не полный)- там много всего.
Насчёт поэтапной инструкции = сложно.
1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 20:29  [ТС]
"Регулируется свойствами объекта BoundColumn, ColumnCount и ColumnWidths" - присединённый столбец -1, Число столбцов - 2 Ширина столбцов 0см;5cm. Игрался по разному. не помогает в главной форме всё ок.
0
 Аватар для VinniPuh
9128 / 6130 / 593
Регистрация: 27.03.2013
Сообщений: 19,974
11.03.2017, 20:31
Цитата Сообщение от Eugene-LS Посмотреть сообщение
...выделяйте нужный текст мышкой - появиться жёлтый баллончик "Цетировать!" ...
Истиннно НАШ Человечище.
Тоже Именно ИСТИННО так же подробненько описываю чего должно произойти.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.03.2017, 20:31
Помогаю со студенческими работами здесь

Доступ к полю в форме в зависимости от выбора значения другого поля
Привет всем. прошу помочь с решением: есть 2 ПоляСоСписком в форме: Поле1 и Поле2. в Поле1 - список из 3 значений знач1, знач2,...

Моментальное изменение содержимого поля, после изменения другого поля
Всем привет. Есть страничка на JSF(Java), где находится несколько полей, в которых указывается время в миллисекундах. Нужно рядом с каждым...

Выборка и объединение из 2 разных таблиц и 2 разных полей
Подскажите, пожалуйста, как составить запрос. Мне необходимо из 2 таблиц выбрать одинаковые значения полей userid и fuserid. SELECT...

Требуется запрос. Дополнительные поля, с текстом не из таблиц, но в зависимости от данных таблиц
Суть такая, есть три таблицы (пример) T_Main ID|Name|Pos 1|Вася|21 2|Вася|10 3|Вася|25 4|Вася|16 5|Вася|254 6|Петя|5 ...

Как реализовать автозаполнение поля в DbGrid в зависимости от значения другого поля
Добрый день. Не могу разобраться в автозаполнением поля в gdgride. Суть проблемы, имеется у меня таблица в которой есть поле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru