0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 50
|
|
1 | |
Открыть одну из двух форм06.11.2018, 19:20. Показов 1425. Ответов 14
Доброго времени суток!
Задача такова: есть три формы. необходимо, чтобы при нажатии кнопки на первой, открывалась вторая или третья в зависимости от того, какие данные были введены в первой. Точнее: согласно приложенной схеме данных, чтобы исходя из значения поля "id_task_fk", открывалась форма 2 или 3, которые по сути являются отличающимся друг от друга набором полей (ну это уже лирика). Спасибо!
0
|
06.11.2018, 19:20 | |
Ответы с готовыми решениями:
14
Добавление данных из разных форм в одну Как заполнять данные текущей записи в одну таблицу из нескольких форм Как открыть несколько форм и отчётов в одном окне? Открыть одну из форм проекта |
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,811
|
|
06.11.2018, 19:37 | 2 |
Сделайте обычную подчиненную форму.
Или две, именно по данному полю.
0
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
||||||
06.11.2018, 19:39 | 3 | |||||
Sevlovan,
0
|
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 50
|
|
07.11.2018, 11:00 [ТС] | 4 |
VinniPuh, Capi, спасибо за проявленное участие!
НО! 1. вариант ВинниПуха мне не подходит т.к. данных в форме "letters" минимум и удобно ее обозревать в ленточном виде и вряд ли это можно реализовать исходя из п.2 см. ниже: 2. вариант Capi мне не удалось реализовать т.к. мне непонятно как передать значение поля [id_task_fk] для открытия двух форм (наборы полей таблицы answ_parametrs). Из схемы видно, что это поле к таблице answ_parametrs относится опосредовано через идентификатор письма. короче говоря нужно: после ввода данных в форму letters и в подчиненную ей форму svod (после нажатия на кнопку с ключиком) указав там, что это задача с идентификатором "2", при нажатии на кнопку "Указать параметры ответа" открывалась форма "par_into_gr" и при идентификаторе "7" при нажатии на ту же кнопку открывалась форма "par_dostup_eapsd". для придания нашему обсуждению удобств базу прилагаю) .. и да - в VBA я имею 1 по шкале 100
0
|
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,811
|
|
07.11.2018, 11:21 | 5 |
Sevlovan, Что бы что то открыть по какому ни то определяющему признаку, нужно сначала этот признак ввести, чтобы программа могла понять, по какому коду фильтровать другую открываемую форму.
Для этого лучше всего подходят - Подчиненные формы. Вариант - Capi, подходит только если у вас всего 2 возможных значения, а не бесчисленное множество. Если же вы хотите открывать форму соответствующую значению той записи, на которой в данный момент находитесь и поле с таким значением имеется в открываемой форме, например и там и там значения с типом данных Счетчик, а в другой - Числовое, длинное целое, то можно такой процедурой: DoCmd.OpenForm "ИмяФормы", , , "[ПолеКодОткрываемойФормы] = " & Me![ПолеКодОтКудаОткрывается]. Пример не смотрел, ибо у меня не откроется.
0
|
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 50
|
|
07.11.2018, 12:10 [ТС] | 6 |
VinniPuh,
Это у меня реализовано. Но здесь не предполагается условия или-или: открывается подчиненная форма и все, а мне надо чтобы открывалась подчиненная Ф2 или Ф3 c учетом счетчик-число из одной таблицы и параметра поля из другой (svod). схему я неверно изобразил Ф1 это только таблица letters, ей как раз подчинена форма svod (то, что реализовано) ...
0
|
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,811
|
||||||
07.11.2018, 12:21 | 7 | |||||
Сообщение было отмечено Sevlovan как решение
Решение
Sevlovan, Ну тогда если у вас значения поля - id_task_fk имеют только 2 значения, например 1 и 2, то можно на кнопке написать так
0
|
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 50
|
|
07.11.2018, 16:25 [ТС] | 8 |
VinniPuh,
ну тогда главный вопрос: как в коде кнопки объединить два данных блока?
0
|
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,811
|
|
07.11.2018, 17:32 | 9 |
Sevlovan, А зачем вам первый блок, если у вас всего 2 значения?
Откроется та или иная форма. Я просто не понимаю всю глубину вашего замысла, соответственно не могу подсказать. Если вы считаете, что все должны знать ваши мысли, то ошибаетесь. Если же у вас не одно значение определяет какую форму открыть, а и ещё какое ни то в другом элементе, например нужно перейти на какую ни то записи открытой формы согласно заданного параметра, то это уже по другому. Пишите пошагово, что бы даже я или кто то другой понял, В какой форме Как и что делаете (Что нажимаете или выбиранте). Какие значения являются определяющими. Что на ваш взгляд должно произойти Какие значения отобразиться, а какие нет.
1
|
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 50
|
|
07.11.2018, 19:49 [ТС] | 10 |
VinniPuh, ох ох..
Ну значит так. Имеем: Форма1 - ввод реквизитов писем. Letters Форма2 - ввод задач указанных в письме. Svod Форма 3/4 - ввод параметров ответа на письмо с учётом указанных в письме задач. Answ_parametrs Цель: получил письмо, ага - указал реквизиты в Ф1, указал задачу «порубить капусту» в Ф2. И затем с главной формы открыть форму ввода параметров для ответа на полученное письмо. Дескать: все понял Иван Иваны, капусту порубим. Или если дело касается картошки вводим параметры ответа на письмо в другую форму: картошка почищена, все будут сыты. То есть и форма задач и формы параметров ответа имеют внешний ключ id_ письма , но вдобавок необходимо что бы форма параметров при открытии смотрела на id задачи которая была указана для письма. P. S. Хочется ответы в виде отчётов формировать и из-за этого весь сыр бор. Но об этом после…
0
|
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,811
|
|
08.11.2018, 07:58 | 11 |
Sevlovan, То ли после ночи, я ни как не проснусь и соответственно туплю и тормозю, но я в вашем примере не узрил таких форм как -
Svod Answ_parametrs ни других форм 3 и 4 Кроме того не увидел ни в одной из форм ни одной подчиненной формы, хотя вы утверждали что у вас именно сделано с подчиненными формами когда я порекомендовал так сделать. Ни про картошку, ни про капусту не нашел ни одного упоминания, как и того, что их нужно рубить и чистить. Похоже вам всё это кажется игрой и можно сделать хоть как, лишь бы заработало, но лично для меня это не так. При проектированиии БД всё должно быть строго определено и соответствовать правилам, как задумано и предписано разработчиками программы. Так же сплошные поля подстановки в таблицах, что лично для меня неприемлемо. Я отхожу в сторону ибо из загадок получается хорошо разгадывать только Судоку и Японские кроссворды. Возможно вы найдете менее щепетильного и более понятливого помощника.
0
|
Модератор
|
||||||
08.11.2018, 08:52 | 12 | |||||
Похоже , что у ТС 2-е формы, которые чуть-чуть отличаются(основаны на разных запросах)
может сделать одну форму, только скрывать 4 поля для одной группы и высвечивать для другой
0
|
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 50
|
||||||
08.11.2018, 09:43 [ТС] | 13 | |||||
VinniPuh,
В моем сообщении от 11.00 вчера, где я приложил базу, указаны названия форм (ф3/4) и указано что это наборы полей таблицы answ_parametrs. формы svod действительно нет, виноват, но есть форма id_form_role (форма ввода данных в таблицу svod), которая открывается из формы letters и туда вводится задача, задача имеет свой идентификатор (2 или 7) и нужно чтобы из той же формы letters, нажимая кнопку "указать параметры ответа", открывалась одна из двух форм: "par_into_gr" или "par_dostup_eapsd", соответствуя исходному письму это блок 1: DoCmd.OpenForm "ИмяФормы", , , "[ПолеКодОткрываемойФормы] = " & Me![ПолеКодОтКудаОткрывается] и задаче - блок 2:
... извините, что спроектировал базу в неприемлемом для вас виде о чем я только думал... Спасибо! Добавлено через 2 минуты shanemac51, я не против, только как реализовать механизм определения в каком виде она должна открыться... Спасибо!
0
|
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,811
|
|
08.11.2018, 13:14 | 14 |
0
|
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 50
|
|
09.11.2018, 09:33 [ТС] | 15 |
основной проблемы не решило, но зато помогло при открытии одного из двух отчетов по условию
0
|
09.11.2018, 09:33 | |
09.11.2018, 09:33 | |
Помогаю со студенческими работами здесь
15
Как собрать информацию из двух предыдущих форм в одну? Как собрать информацию из двух предыдущих форм в одну? При нажатии кнопки открыть одну и ту же форму в двух экземплярах Связывание двух форм по расположению на мониторе(Синхронизация форм) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |