Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
1

Отображение/скрытие подчиненной формы

26.04.2017, 10:35. Просмотров 876. Ответов 19
Метки нет (Все метки)

Всем доброго дня и отличного настроения, помогите новичку, а то памяти совсем нет уже ))
Давно уже не брал я в руки access, лет 15 прошло, забыл уже всё напрочь ((

Есть база, нужно сделать:
1. При установке флажка "имеется пропуск" появлялась в этом же окне формы подчиненная форма "Пропуск". Дабы внести в нее данные. И там и оставалась. А если флажка нет, то ничего бы не появлялось.
2. При вносе данных в подчиненную форму "Пропуск", происходит переход к внесению новой записи в основной форме "Человек", а не в подчиненной, ибо пропуск может быть только один.
0
Вложения
Тип файла: zip pass1.zip (36.2 Кб, 4 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2017, 10:35
Ответы с готовыми решениями:

Скрытие/отображение подчиненной формы по нажатию кнопки
Есть 4 формы. 3 из них подчиненные формы для первой. В первой форме 3 кнопки....

Скрытие вкладок подчиненной формы с условием главной формы
Вопрос вот в чем Уважаемые! Как сделать так, чтобы при выборе на главной форме...

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

Отображение полей подчиненной формы
Доброго времени суток. Прошу помощи в решении. ну очень надо. Есть основная...

Сумма из подчиненной формы, отмена записей в подчиненной форме
Нужна сразу помощь по четырем пунктам, форма КвитанцияСкупкиОбмена надо: 1....

19
ltv_1953
Эксперт MS Access
12897 / 5858 / 1138
Регистрация: 21.06.2012
Сообщений: 10,558
26.04.2017, 10:58 2
Лучший ответ Сообщение было отмечено Nikolaha5 как решение

Решение

Как вариант (смотрите процедуры обработки событий)
1
Вложения
Тип файла: 7z pass1.7z (22.6 Кб, 7 просмотров)
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
26.04.2017, 11:08  [ТС] 3
не увидел никаких изменений.
Процедуру просмотрел.
Private Sub Form_Current()
Me.пропуск.Visible = Me.Имеется_пропуск_
End Sub

Private Sub Имеется_пропуск__Click()
Me.пропуск.Visible = Me.Имеется_пропуск_
Находил такой вариант, но никаких изменений у меня нет.
0
ltv_1953
Эксперт MS Access
12897 / 5858 / 1138
Регистрация: 21.06.2012
Сообщений: 10,558
26.04.2017, 11:17 4
У меня все работает. Если у Вас отключено выполнение макросов и т.п. - то кто ж Вам доктор ... ?
1
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
26.04.2017, 11:29  [ТС] 5
ну как-то так.

При вводе новой записи подчиненна форма тоже висит.
0
Миниатюры
Отображение/скрытие подчиненной формы   Отображение/скрытие подчиненной формы  
ltv_1953
Эксперт MS Access
12897 / 5858 / 1138
Регистрация: 21.06.2012
Сообщений: 10,558
26.04.2017, 11:42 6
Угу. Еще раз - все работает
0
Миниатюры
Отображение/скрытие подчиненной формы  
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
26.04.2017, 11:43  [ТС] 7
Поставил "Отключить все макросы с уведомлением". Заработало.

Теперь остался ключевой, не менее важный вопрос.
Как сделать переход к вводу данных в основной форме после ввода серии и номера в подчиненной форме по клавише "Enter" (или кнопку отельную туда присабачить в конце), а не так, как сейчас (ввод второй записи, которая все равно вылетает с ошибкой.
0
ltv_1953
Эксперт MS Access
12897 / 5858 / 1138
Регистрация: 21.06.2012
Сообщений: 10,558
26.04.2017, 12:06 8
Лучший ответ Сообщение было отмечено Nikolaha5 как решение

Решение

Цитата Сообщение от Nikolaha5 Посмотреть сообщение
которая все равно вылетает с ошибкой.
Ну так поставьте обработку ошибок в форме пропуск. Например
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Form_Error(DataErr As Integer, Response As Integer)
        Response = acDataErrContinue
        Select Case DataErr
        Case 3022
            Me.Undo
            Me.Recordset.MoveFirst
            Me.Parent.Код.SetFocus
        Case Else
            Response = acDataErrDisplay
        End Select
End Sub
1
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
26.04.2017, 12:35  [ТС] 9
Ну что сказать. Мастер своего дела. Спасибо, проблема решена.
0
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
26.04.2017, 12:45  [ТС] 10
Простите за наглость, а возможно сделать переход не к новой записи, а например в окно второй подчиненной формы?
Например в "Учебные заведения"?
0
Вложения
Тип файла: zip pass1 (2).zip (34.1 Кб, 2 просмотров)
ltv_1953
Эксперт MS Access
12897 / 5858 / 1138
Регистрация: 21.06.2012
Сообщений: 10,558
26.04.2017, 13:14 11
Лучший ответ Сообщение было отмечено Nikolaha5 как решение

Решение

Замените одну строку в процедуре модуля формы пропуск
Visual Basic
1
2
3
Private Sub Form_AfterUpdate()
        Me.Parent.Controls("Учебное заведение").SetFocus
End Sub
1
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
26.04.2017, 13:35  [ТС] 12
Не перевелась земля людьми добрыми

Буду теперь учить что значат все эти команды, тяжело начинать все заново.
0
ltv_1953
Эксперт MS Access
12897 / 5858 / 1138
Регистрация: 21.06.2012
Сообщений: 10,558
26.04.2017, 14:50 13
Цитата Сообщение от Nikolaha5 Посмотреть сообщение
Буду теперь учить что значат все эти команды
Посмотрите здесь .... Справочник команд VBA?
0
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
27.04.2017, 08:58  [ТС] 14
А еще такой вопрос имеется.
Все настроил, всё работает. Перескакивает.
А можно ли сделать, чтобы при перескоке с "пропуск" в "Учебное заведение" в подчиненной форме Пропуск оставалась запись 1, т.е. активная и единственная. Сейчас остается запись 2. На картинке обозначил, что я имел ввиду, думаю более понятно будет.
И возможно ли вообще убрать эту строку?
0
Миниатюры
Отображение/скрытие подчиненной формы  
ltv_1953
Эксперт MS Access
12897 / 5858 / 1138
Регистрация: 21.06.2012
Сообщений: 10,558
27.04.2017, 09:04 15
Все же уже написано, можно "по кусочкам" собрать. Берем последнюю Form_AfterUpdate() и добавляем строчку из Form_Error:
Visual Basic
1
2
3
4
Private Sub Form_AfterUpdate()
        Me.Recordset.MoveFirst
        Me.Parent.Controls("Учебное заведение").SetFocus
End Sub
0
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
27.04.2017, 12:29  [ТС] 16
неа, не прокатило.
Вставил этот код в form_пропуск
Так же, при нажатии на ввод после ввода записи о серии и номеру пропуска перескакивает на "Учебное заведение", но в подформе "Пропуск" так же остается, как на картинке.

Visual Basic
1
2
3
4
5
6
7
Option Compare Database
Option Explicit
 
Private Sub Form_AfterUpdate()
        Me.Recordset.MoveFirst
        Me.Parent.Controls("Учебное заведение").SetFocus
End Sub
0
Eugene-LS
Нарушитель
Эксперт MS Access
3579 / 1988 / 370
Регистрация: 05.10.2016
Сообщений: 5,478
27.04.2017, 13:09 17
Цитата Сообщение от Nikolaha5 Посмотреть сообщение
неа, не прокатило.
Попробуйте таким образом:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Form_AfterUpdate()
'--------------------------------------------------------------------------
On Error GoTo Form_AfterUpdate_Err
    Me.Parent![Учебное заведение].SetFocus
    Me.Requery
 
Form_AfterUpdate_Bye:
    Exit Sub
 
Form_AfterUpdate_Err:
    'MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & "в процедуре: Form_AfterUpdate", vbCritical, "Error in module Form_пропуск"
    Resume Form_AfterUpdate_Bye
End Sub
Так вроде отрабатывает ...
1
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
27.04.2017, 13:28  [ТС] 18
Ребят, вы просто Боги

Всё работает.
0
ltv_1953
Эксперт MS Access
12897 / 5858 / 1138
Регистрация: 21.06.2012
Сообщений: 10,558
27.04.2017, 13:43 19
Или в текущей записи (так можно и без обработки ошибки обойтись).
1
Вложения
Тип файла: zip pass1 (2).zip (35.7 Кб, 1 просмотров)
Nikolaha5
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 19
02.05.2017, 12:32  [ТС] 20
ltv_1953, Всё получилось и по Вашему сценарию.

Наставьте на путь истинный по одной идее.
Нужно сделать, чтоб доступ в эту БД был с именем и паролем, и данные об этом добавлялись в таблицу "Человек" (ведь она получается главная, а "пропуск" и "учебное заведение" подчиненные).
Суть идеи в том, что БД пользуется 4 человека и потом, в случае ошибки внесения данных можно было отследить кто из этих 4 человек вносил данные или вносил изменения в существующие записи.
0
02.05.2017, 12:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2017, 12:32

Выборка в подчиненной форме 2 из формы 2 по выбранному значению в подчиненной форме 1 из формы 1
Добрый день! Есть 2 формы(на первой форме находится "подчиненная форма 1", на...

Обновление поля подчиненной формы по обновлению поля другой подчиненной формы
Доброго времени суток. Прошу помощи, запутался. Существует главная форма...

Запрет на создание записи в подчиненной форме при отсутствии значения в поле главной формы( или в этой же подчиненной форме) Аксесс 2003
Доброго времени суток ! Помогите , пожалуйста, решить проблему! шаг 1. ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru