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

Открыть форму выбрав из поля со списком

10.01.2020, 17:30. Показов 2570. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно вопрос вот в чем. Подскажите пожалуйста как сделать так чтоб можно было выбирать нужную форму из поля со списком? Просто тыкнул и форма открылась. Может у кого нибудь есть пример.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2020, 17:30
Ответы с готовыми решениями:

Выбрав поле в списке открыть соответствующую форму
Подскажите, пожалуйста! В форме создан список на основе таблицы. Необходимо, чтобы при нажатии на к.л. строке можно было открыть форму...

Открыть форму "В" по значению поля (поля со списком) формы "А"
Доброго времени суток уважаемые форумчане!!! У меня видимо крыша поехала окончательно, делала... работало... и, вдруг...??? Суть...

Вывод из поля со списком в подчиненную форму
Здравствуйте. Помогите с выводом из списка в подчиненную форму Необходимо при выборе из списка одного из параметров на подчиненной форме...

11
Эксперт MS Access
 Аватар для Eugene-LS
13173 / 5872 / 1504
Регистрация: 05.10.2016
Сообщений: 16,491
10.01.2020, 17:49
Цитата Сообщение от Totenkopf Посмотреть сообщение
можно было выбирать нужную форму из поля со списком?
Нечто такое:
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub ПолеСосписком_123465789_AfterUpdate()
    If Me!ПолеСосписком_123465789.ListIndex = -1 Then Exit Sub
    
    Select Case Me!ПолеСосписком_123465789
        Case 1: DoCmd.OpenForm "Форма 001"
        Case 2: DoCmd.OpenForm "Форма 002"
        Case 3: DoCmd.OpenForm "Форма 003"
    End Select
    
End Sub
Тут поле со списком возвращает (содержит) КОД - а не название формы - а как у вас?

Иначе можно просто:
Visual Basic
1
2
3
4
5
6
Private Sub ПолеСосписком_123465789_AfterUpdate()
    If Me!ПолеСосписком_123465789.ListIndex = -1 Then Exit Sub
    
    DoCmd.OpenForm Me!ПолеСосписком_123465789
    
End Sub
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
10.01.2020, 18:09
Totenkopf,

А в чем затруднения?
Вроде, действие элементарное.
Вы о процедурах обработки событий знаете?
Или только макросами работаете?
1
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 3
10.01.2020, 18:13  [ТС]
Больше макросами.
0
Эксперт MS Access
 Аватар для Eugene-LS
13173 / 5872 / 1504
Регистрация: 05.10.2016
Сообщений: 16,491
10.01.2020, 18:26
Цитата Сообщение от Totenkopf Посмотреть сообщение
Больше макросами.
Эвоно как ! - к сожалению не умею.
Купил себе 10-томник Макарова В.Н. "Макросы в MS Access" - пока "остановился" на 3-м томе, глава "Создание макроса" ...
... Очень всё мудрёно.
Сожалею что не могу помочь.

...
Поразительно, насколько в макросах меньше возможностей по сравнению с VBA - но это всё осваивать ещё надобно ...
1
Мы один, давай на "ты"
3852 / 1395 / 346
Регистрация: 16.06.2016
Сообщений: 3,291
10.01.2020, 18:44
Totenkopf, когда отдыхаешь...
Вложения
Тип файла: zip forms.zip (24.7 Кб, 38 просмотров)
2
Эксперт MS Access
 Аватар для Eugene-LS
13173 / 5872 / 1504
Регистрация: 05.10.2016
Сообщений: 16,491
10.01.2020, 18:56
Цитата Сообщение от Панург Посмотреть сообщение
когда отдыхаешь...
А что вы там курите? - Я то же такое хочу !

Эк вы накуралесили!:
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
Public Function FillForms(ctl As Access.Control, varlD As Variant, lngRow As Long, lngCol As Long, intCode As Integer) As Variant
Dim varRetval As Variant: varRetval = Null
Static astrForms() As String
Dim i As Long
On Error Resume Next
 
    Select Case intCode
        Case acLBInitialize
                With CurrentProject.AllForms
                    ReDim astrForms(0 To .Count - 2) As String
                        For i = LBound(astrForms) To UBound(astrForms) + 1
                            With .Item(i)
                                If Not .Name = Me.Name Then
                                    astrForms(i) = .Name
                                End If
                            End With
                        Next i
                End With
            varRetval = True
        Case acLBOpen
            varRetval = Timer
        Case acLBGetRowCount ' Количество строк в списке
            varRetval = UBound(astrForms) + 1
        Case acLBGetColumnCount ' Количество столбцов в списке
            varRetval = 1
        Case acLBGetValue ' Значение на пересечении заданной строки и столбца
            varRetval = astrForms(lngRow)
        Case acLBEnd
            Erase astrForms
    End Select
FillForms = varRetval
End Function
Вопрос:
А зачем?
0
Мы один, давай на "ты"
3852 / 1395 / 346
Регистрация: 16.06.2016
Сообщений: 3,291
10.01.2020, 19:02
Цитата Сообщение от Eugene-LS Посмотреть сообщение
А зачем?
Что-то не понятно?
0
Эксперт MS Access
 Аватар для Eugene-LS
13173 / 5872 / 1504
Регистрация: 05.10.2016
Сообщений: 16,491
10.01.2020, 19:06
Цитата Сообщение от Панург Посмотреть сообщение
Что-то не понятно?
Ага!
Практически фсё!
0
ᴁ ©
Эксперт MS Access
 Аватар для АЕ
4159 / 2448 / 508
Регистрация: 13.12.2016
Сообщений: 8,321
Записей в блоге: 5
10.01.2020, 21:44
Панург, респект! Пример поучительный. Беру в обойму.
Eugene-LS, закусывать надо как говорил Антон Семёнович Шпак
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Ага!
Практически фсё!
в фильме "Иван Васильевич меняет профессию"
1
Эксперт MS Access
 Аватар для Eugene-LS
13173 / 5872 / 1504
Регистрация: 05.10.2016
Сообщений: 16,491
10.01.2020, 23:36
Цитата Сообщение от АЕ Посмотреть сообщение
закусывать надо как говорил Антон Семёнович Шпак
Спасибо!
Непременно воспользуюсь вашим добрым советом!
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
11.01.2020, 05:38
Цитата Сообщение от Totenkopf Посмотреть сообщение
Больше макросами.
Макросы - тупиковая ветвь эволюции (с)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.01.2020, 05:38
Помогаю со студенческими работами здесь

Как обновить Подч.Форму, по значению из поля-со-списком
Access: Есть Форма:"Клиенты и организации" в ней Вкладка:"Клиенты",а в ней Подчиненная форма:"Клиенты": здесь...

Выбор значения из поля со списком, исходя из предыдущего поля со списком
Дана БД. Форма на добавление данных. Необходимо сделать следующее: 1) В поле "Свободно велосипедов" выводить значение из...

Значение поля со списком по значениям другого поля со списком
Привет всем. Требуется помощь со связанными полями со списками. В форме доходы федерации в первом поле со списком(подписанное тип...

Внесение данных через форму через поля со списком
Добрый день, коллеги. Есть бд, где через форму Result вносятся данные в таблицу DataPick2 через поля со списком "id_Ошибки...

Подстановка поля со списком из значения поля со списком
Вопрос стандартный, но у меня база уже создана, поэтому прошу на моем базе создать правильные команды. Скрины прилагаю. Задача: надо...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru