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

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

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

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

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

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

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

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

11
10745 / 5585 / 1411
Регистрация: 05.10.2016
Сообщений: 15,796
10.01.2020, 17:49 2
Цитата Сообщение от 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 3
Totenkopf,

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

...
Поразительно, насколько в макросах меньше возможностей по сравнению с VBA - но это всё осваивать ещё надобно ...
1
Мы один, давай на "ты"
3601 / 1329 / 324
Регистрация: 16.06.2016
Сообщений: 3,146
10.01.2020, 18:44 6
Totenkopf, когда отдыхаешь...
Вложения
Тип файла: zip forms.zip (24.7 Кб, 21 просмотров)
2
10745 / 5585 / 1411
Регистрация: 05.10.2016
Сообщений: 15,796
10.01.2020, 18:56 7
Цитата Сообщение от Панург Посмотреть сообщение
когда отдыхаешь...
А что вы там курите? - Я то же такое хочу !

Эк вы накуралесили!:
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
Мы один, давай на "ты"
3601 / 1329 / 324
Регистрация: 16.06.2016
Сообщений: 3,146
10.01.2020, 19:02 8
Цитата Сообщение от Eugene-LS Посмотреть сообщение
А зачем?
Что-то не понятно?
0
10745 / 5585 / 1411
Регистрация: 05.10.2016
Сообщений: 15,796
10.01.2020, 19:06 9
Цитата Сообщение от Панург Посмотреть сообщение
Что-то не понятно?
Ага!
Практически фсё!
0
ᴁ®
Эксперт MS Access
3874 / 2203 / 462
Регистрация: 13.12.2016
Сообщений: 7,586
Записей в блоге: 5
10.01.2020, 21:44 10
Панург, респект! Пример поучительный. Беру в обойму.
Eugene-LS, закусывать надо как говорил Антон Семёнович Шпак
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Ага!
Практически фсё!
в фильме "Иван Васильевич меняет профессию"
1
10745 / 5585 / 1411
Регистрация: 05.10.2016
Сообщений: 15,796
10.01.2020, 23:36 11
Цитата Сообщение от АЕ Посмотреть сообщение
закусывать надо как говорил Антон Семёнович Шпак
Спасибо!
Непременно воспользуюсь вашим добрым советом!
0
Эксперт MS Access
7442 / 4576 / 301
Регистрация: 12.08.2011
Сообщений: 14,243
11.01.2020, 05:38 12
Цитата Сообщение от Totenkopf Посмотреть сообщение
Больше макросами.
Макросы - тупиковая ветвь эволюции (с)
0
11.01.2020, 05:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2020, 05:38
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru