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

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

09.03.2017, 11:51. Показов 3390. Ответов 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
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 20:36  [ТС]
Студворк — интернет-сервис помощи студентам
" Насчёт примеров - и тут много разных, ещё посмотрите сайты по Access (список далеко не полный)- там много всего. " - "Перед обращением сюда я весь загуглился и заяндексился " Нашел не один пример для работы с одной таблицей но для 3 ничего подходящего. Если не подскажите буду страдать дальше.
0
Эксперт MS Access
 Аватар для Eugene-LS
13227 / 5912 / 1519
Регистрация: 05.10.2016
Сообщений: 16,557
11.03.2017, 20:42
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Игрался по разному. не помогает в главной форме всё ок.
А можно файлик посмотреть?
И пишите место где не работает.

Добавлено через 3 минуты
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Нашел не один пример для работы с одной таблицей но для 3 ничего подходящего.
А вот этого выражения я не понял.
3 таблицы это три раза по одной, или вы имеете ввиду заполнение строки по трём разным справочникам, или ещё чего?
1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 20:46  [ТС]
" А можно файлик посмотреть? " Использую файлик от shanemac51
Вложения
Тип файла: zip Test rus11.zip (142.7 Кб, 3 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13227 / 5912 / 1519
Регистрация: 05.10.2016
Сообщений: 16,557
11.03.2017, 20:51
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Использую файлик от shanemac51
Ну и где мне смотреть?
Не наблюдаю ни единого поля со списком!
А мой телепатический модуль пока в ремонте (перегорел зараза)
0
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 20:54  [ТС]
"3 таблицы это три раза по одной, или вы имеете ввиду заполнение строки по трём разным справочникам, или ещё чего?" - Изначально я собирался построить SQL
запрос по ключевому полю - что-то типа:

SQL
1
2
3
SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Группа
FROM Студенты
WHERE (((Студенты.Группа)=Forms!ФОРМА!Группа));
А теперь вобще в растерянности

Добавлено через 2 минуты
Так приложен файлик - Test rus11
0
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 20:56  [ТС]
ещё раз повторю...
Вложения
Тип файла: zip Test rus11.zip (142.7 Кб, 1 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13227 / 5912 / 1519
Регистрация: 05.10.2016
Сообщений: 16,557
11.03.2017, 20:57
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Так приложен файлик - Test rus11
В файле много всего - вот я с спрашиваю: Куда смотреть?! (форма - объект)
0
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 21:00  [ТС]
AAAAAAAAAAAAAAAAA...
Туплю!!!!!!! не сохронил. Сейчас !

Сделал всё по новой появился текст в поле но перестали добавляться поля!!! Форма "акты" Поле в присоединенной ленточной форме "название"

"3 таблицы это три раза по одной, или вы имеете ввиду заполнение строки по трём разным справочникам, или ещё чего?" - Изначально я собирался построить SQL
запрос по ключевому полю - что-то типа:

SQL
1
2
3
SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Группа
FROM Студенты
WHERE (((Студенты.Группа)=Forms!ФОРМА!Группа));
А теперь вообще в растерянности. Нужно чтоб в поля ленточной формы добавлялись поля - "Название" "единицы измерения" и цена в любом количестве и в любой очередности из любого из 3 справочников. остальные поля дописываются вручную и потом считается сумма.

Добавлено через 9 минут
В смысле - выбираем "тип" , потом "название" и подставляются "единицы" и "цена"
Вложения
Тип файла: zip Test rus11.zip (143.2 Кб, 4 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13227 / 5912 / 1519
Регистрация: 05.10.2016
Сообщений: 16,557
11.03.2017, 23:01
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
В смысле - выбираем "тип" , потом "название" и подставляются "единицы" и "цена"
В ленточной форме так не получится, т.к. придётся переписывать источник данных КомбоБокса "Наименование" - со всеми вытекающими.
Придётся городить 3 подчинённых формы во вкладках, но думаю что так будет проще и нагляднее.
0
Эксперт MS Access
 Аватар для Eugene-LS
13227 / 5912 / 1519
Регистрация: 05.10.2016
Сообщений: 16,557
11.03.2017, 23:06
Вот набросочек ...
Вложения
Тип файла: zip Test rus12 - Набросок.zip (155.1 Кб, 3 просмотров)
1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
11.03.2017, 23:31  [ТС]
Так... Ура! В форме прижились разворачивающиеся списки. В чём был косяк?

А как сделать чтобы значения - и единицы и цена прижились в соответствии с выбором из списка?
0
Эксперт MS Access
 Аватар для Eugene-LS
13227 / 5912 / 1519
Регистрация: 05.10.2016
Сообщений: 16,557
12.03.2017, 00:20
Лучший ответ Сообщение было отмечено brodiaga1980 как решение

Решение

Цитата Сообщение от brodiaga1980 Посмотреть сообщение
А как сделать чтобы значения - и единицы и цена прижились в соответствии с выбором из списка?
Как то так:
На событие "После обновления" поля "Название" вешаем код который ниже
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Private Sub txtНазвание_AfterUpdate()
'Обновление значения поля - выбор из списка
'--------------------------------------------------------------------------
Dim s As String
Dim v As Variant
On Error GoTo txtНазвание_AfterUpdate_Err
    
'Проверка выбрано ли значение ComboBox через ListIndex
    If Me!txtНазвание.ListIndex <> -1 Then 'Значение ВЫБРАНО
        s = "Код = " & Me!txtНазвание.Column(0)
        'Единицы измерения
        v = DLookup("[Единицы измерения]", "[Список работ]", s)
        Me![Единицы измерения] = v
        'Цена
        v = DLookup("Цена", "[Список работ]", s)
        Me![Стоимость за еденицу] = v
        'Сумма
        Me!Сумма = Round(Nz(v) * Nz(Me!Количевство), 2)
    
    Else 'Значение НЕ ВЫБРАНО
        'Зануляем всё
        Me![Единицы измерения] = Null
        Me![Стоимость за еденицу] = 0
        Me!Сумма = 0
        Me!Количевство = 0   
    End If
 
txtНазвание_AfterUpdate_Bye:
    Exit Sub
 
txtНазвание_AfterUpdate_Err:
    MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & "в процедуре: txtНазвание_AfterUpdate", vbCritical, "Error in module Form_АктыСостав"
    Resume txtНазвание_AfterUpdate_Bye
End Sub
Вроде ничего не забыл ...
Вложения
Тип файла: zip Test rus14 - Набросок.zip (158.9 Кб, 7 просмотров)
1
0 / 0 / 0
Регистрация: 07.03.2017
Сообщений: 35
12.03.2017, 00:56  [ТС]
Спасибо тебе добрый человек. Теперь буду думать как с этим жить дальше...
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Так... Ура! В форме прижились разворачивающиеся списки. В чём был косяк?
???

Добавлено через 14 минут
Ещё насчёт использования вкладок... С ними конечно удобнее но я собирался выводить на печать форму и в таком случае это не приемлемо. Или на печать документы выводить лучше каким-то другим способом?
0
Эксперт MS Access
 Аватар для Eugene-LS
13227 / 5912 / 1519
Регистрация: 05.10.2016
Сообщений: 16,557
12.03.2017, 00:59
Цитата Сообщение от brodiaga1980 Посмотреть сообщение
Или на печать документы выводить лучше каким-то другим способом?
Конечно другим - нарисуете красивые отчёты и будите их печатать, а формы никто не печатает.

Цитата Сообщение от brodiaga1980 Посмотреть сообщение
В чём был косяк?
Косяков не заметил, просто исправил геометрию формы и всё.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.03.2017, 00:59
Помогаю со студенческими работами здесь

Доступ к полю в форме в зависимости от выбора значения другого поля
Привет всем. прошу помочь с решением: есть 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. Суть проблемы, имеется у меня таблица в которой есть поле...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
Модель здравоохранения 12. добавление болезней через ресурпул, как аварии
anaschu 22.05.2026
Болезни — это ключевая часть нашей модели. Нам нужно, чтобы работник периодически уходил на больничный, его задание при этом зависало, а после выздоровления работа возобновлялась. Реализуем это двумя. . .
Модель здравоохранения 11. Создаём классы Задание и Работник
anaschu 22.05.2026
В AnyLogic каждая заявка и каждый ресурс — это объект определённого класса. Нам нужно создать два класса: Задание (заявка) и Работник (ресурс). Класс Задание В дереве проекта нажимаем правой. . .
Модель здравоохранения 10. Новая модель, смотрим, как добавлять логические блоки, и что писать внутри
anaschu 22.05.2026
Открываем AnyLogic, создаём новый проект. В дереве проекта появляется класс Main — это главный агент, в котором будет жить вся наша логика. Палитра блоков Слева находится палитра. Нас интересует. . .
модель ЗдравоСохранения 9. Новая модель, разбираемся, как ее создавать
anaschu 22.05.2026
В этой серии постов мы построим модель небольшого рабочего коллектива. Сотрудники получают задания, выполняют их, иногда болеют — и мы хотим посчитать, сколько это стоит компании. Метод. . .
[golang] Linked list
alhaos 22.05.2026
Связный список / Linked list Связный список структура данных позволяющая хранить список значений, в отличии от массива в памяти хранится не сплошным куском, а отдельными частями которые ссылаются. . .
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru