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

Открыть дополнительные формы из полей подчиненной формы

23.03.2019, 15:55. Показов 1009. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Помогите пожалуйста решит следующую проблему.

На основе трех таблиц
--создал форму "Gorod", который содержит подчиненные формы,
--а из запроса "Dopolnitelno" создал форму "Dopolnitelno".

Никак не получается написать макрос, чтобы открыть форму "Dopolnitelno", кликнув на поле "KodS", находящейся в подчиненной форме "Shkoli".

Т.е. открываю форму "Gorod", выбираю школу, потом нажимаю на соответствующие поле "KodS" и открывается форма "Dopolnitelno", который относится к выбранной школе.

Товарищи знатоки аксеса, если поможете, буду очень рад.
Файл прилагаю. Заранее благодарю.
Вложения
Тип файла: rar B1.rar (36.6 Кб, 4 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2019, 15:55
Ответы с готовыми решениями:

Объединение вертикальных полей подчиненной формы в одно поле главной формы
Доброго времени суток уважаемые форумчане! Подскажите пож-та каким образом можно объединить поля из разных записей подчиненной формы в...

Блокировка полей подчиненной формы
Добрый день форумчане. В бд на есть форма "ОтчетКамера" и ее подчиненная форма "Камера Запрос" Хотелось бы реализовать, что...

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

8
Эксперт MS Access
 Аватар для Eugene-LS
13172 / 5869 / 1504
Регистрация: 05.10.2016
Сообщений: 16,488
24.03.2019, 16:01
Цитата Сообщение от avetis62 Посмотреть сообщение
написать макрос, чтобы открыть форму "Dopolnitelno", кликнув на поле "KodS", находящейся в подчиненной форме "Shkoli".
Ну что-то такое например:
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
Private Sub КодS_DblClick(Cancel As Integer)
'Открытие формы "Dopolnitelno" по двойному клику по полю ...
'--------------------------------------------------------------------------
Dim vRecID As Variant
Dim s As String
On Error GoTo КодS_DblClick_Err
    
'Если запись новая тытаемся её сохранить (не обязательно)
    If Me.NewRecord = True Then
        Me.Dirty = False
    End If
    
'Построение фильтра
    vRecID = Me!КодS
    If IsNumeric(vRecID) = False Then Exit Sub
    s = "КодS = " & vRecID
 
'Открытие "Dopolnitelno"
    DoCmd.OpenForm "Dopolnitelno", , , s
    
КодS_DblClick_End:
    Exit Sub
 
КодS_DblClick_Err:
    MsgBox "Error: " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "in Sub: КодS_DblClick in module: Form_Shkoli подчиненная форма", vbCritical, "Error in Application"
    Err.Clear
    Resume КодS_DblClick_End
End Sub
Вложения
Тип файла: zip B1_v02.zip (42.6 Кб, 1 просмотров)
1
1 / 1 / 0
Регистрация: 23.03.2016
Сообщений: 81
24.03.2019, 18:39  [ТС]
Добрый вечер уважаемый Eugene-LS. Большое спасибо за ответ. Очень приятно иметь дело с профессионалом. Я Ваш код поставил на события "нажатие кнопки" и сделал как гиперссылку. Все нормально функционирует. У меня к Вам вот такой вопрос:
на форме "Goroda"
- создал поисковое поле, для поиска необходимой школы по произвольному тексту.
И когда набираю произвольные буквы в поисковом поле, выскакивает ошибка "введите значение параметра". Пожалуйста исправите мою ошибку. Файл прилагаю. Заранее благодарю.
Вложения
Тип файла: rar B2.rar (33.7 Кб, 1 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13172 / 5869 / 1504
Регистрация: 05.10.2016
Сообщений: 16,488
24.03.2019, 19:02
Цитата Сообщение от avetis62 Посмотреть сообщение
И когда набираю произвольные буквы в поисковом поле, выскакивает ошибка "введите значение параметра"
Так объект применения фильтра не тот. К своему стыду макросы пока не освоил.
Кодом прибл. так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Поиск_Change()
Dim s$
    
    s = LTrim(Me!Поиск.Text)
 
    Me![Shkoli подчиненная форма].Form.Filter = s
    If Len(s) > 1 Then
        s = "Shkola Like ""*" & s & "*"""
        Me![Shkoli подчиненная форма].Form.FilterOn = True
    Else
        Me![Shkoli подчиненная форма].Form.FilterOn = False
    End If
    Me!Поиск.SelStart = Len(Me!Поиск.Text)
   
End Sub
Вложения
Тип файла: zip B2_v02.zip (53.2 Кб, 1 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13172 / 5869 / 1504
Регистрация: 05.10.2016
Сообщений: 16,488
25.03.2019, 02:01
avetis62
Модераторов прошу удалить мой пост #4 (вот до чего доводят выходные и встроенные макросы ....)
Код такой:
Visual Basic
1
2
3
4
5
6
Private Sub cmdClearFilter_Click()
'Кнопка Очистить! (Фильтр)
    Me!Поиск = Null
    Me![Shkoli подчиненная форма].Form.Filter = ""
    Me![Shkoli подчиненная форма].Form.FilterOn = False
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Поиск_Change()
'Изменение поля Поиск
Dim s$
    
    s = LTrim(Me!Поиск.Text)
    
    If Len(s) > 0 Then
        s = "Shkola Like ""*" & s & "*"""
        Me![Shkoli подчиненная форма].Form.Filter = s
        Me![Shkoli подчиненная форма].Form.FilterOn = True
    Else
        Me![Shkoli подчиненная форма].Form.Filter = ""
        Me![Shkoli подчиненная форма].Form.FilterOn = False
    End If
    
    Me!Поиск.SelStart = Len(Me!Поиск.Text)
   
End Sub
Вложения
Тип файла: zip B2_v03.zip (45.9 Кб, 4 просмотров)
0
1 / 1 / 0
Регистрация: 23.03.2016
Сообщений: 81
29.03.2019, 10:37  [ТС]
Добрый день, друзья.
Помогите пожалуйста решит следующую проблему.
В моем базе данных на форме "Goroda" , я добавил еще одно поле для поиска и кнопку "Очистит"
По отдельности оба поля и кнопки функционируют правильно, но вместе - неправильно.
Помогите, пожалуйста связать их вместе.
Файл прилагаю. Заранее благодарю.
Вложения
Тип файла: rar B4.rar (38.1 Кб, 3 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13172 / 5869 / 1504
Регистрация: 05.10.2016
Сообщений: 16,488
31.03.2019, 03:40
Цитата Сообщение от avetis62 Посмотреть сообщение
По отдельности оба поля и кнопки функционируют правильно, но вместе - неправильно.
Как вариант:
Кликните здесь для просмотра всего текста
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Private Sub cmdClearFilter1_Click()
'Кнопка Очистить! (Фильтр)
    Me!Поиск1 = Null
    FormRefilter "Поиск1"
End Sub
 
Private Sub Поиск_Change()
'Изменение поля Поиск
    FormRefilter "Поиск"
 
End Sub
 
Private Sub Поиск1_Change()
'Изменение поля Поиск1
    FormRefilter "Поиск1"
End Sub
 
 
Private Sub cmdClearFilter_Click()
'Кнопка Очистить! (Фильтр)
    Me!Поиск = Null
    FormRefilter "Поиск"
End Sub
 
Private Sub FormRefilter(sActiveControlName)
Dim s$
Dim sFilter As String
    
    Me.Controls(sActiveControlName).SetFocus
 
    Select Case sActiveControlName
        Case "Поиск"
            If LTrim(Me!Поиск.Text) <> "Введите имя школы для поиска!" Then
                s = LTrim(Me!Поиск.Text)
            End If
            If Len(s) > 0 Then
                sFilter = " AND Shkola Like ""*" & s & "*"""
            End If
            
            If IsNull(Me!Поиск1) = False Then
                sFilter = sFilter & " AND OpisanieS Like ""*" & Me!Поиск1 & "*"""
            End If
            Me!Поиск.SelStart = Len(Me!Поиск.Text)
        
        Case "Поиск1" 'Наоборот
            If IsNull(Me!Поиск) = False Then
                sFilter = " AND Shkola Like ""*" & Me!Поиск & "*"""
            End If
            
            s = LTrim(Me!Поиск1.Text)
            If Len(s) > 0 Then
                sFilter = sFilter & " AND OpisanieS Like ""*" & s & "*"""
            End If
            Me!Поиск1.SelStart = Len(Me!Поиск1.Text)
    End Select
    
    'Debug.Print sFilter
    
    If Len(sFilter) > 6 Then
        sFilter = Mid(sFilter, 6)
        Me![Shkoli подчиненная форма].Form.Filter = sFilter
        Me![Shkoli подчиненная форма].Form.FilterOn = True
    Else
        Me![Shkoli подчиненная форма].Form.Filter = ""
        Me![Shkoli подчиненная форма].Form.FilterOn = False
    End If
    
End Sub


Но я бы объединил два поля в одно и не мучился с раздельным поиском.
0
Эксперт MS Access
 Аватар для Eugene-LS
13172 / 5869 / 1504
Регистрация: 05.10.2016
Сообщений: 16,488
31.03.2019, 03:44
avetis62, пример:
Вложения
Тип файла: zip B4_v02.zip (48.1 Кб, 5 просмотров)
0
1 / 1 / 0
Регистрация: 23.03.2016
Сообщений: 81
03.04.2019, 11:10  [ТС]
Большое спасибо уважаемый Eugene-LS
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2019, 11:10
Помогаю со студенческими работами здесь

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

Заполнение полей подчиненной формы оценки курсантов
Есть таблици -Курсант(ИД курсанта,ФИО, -Подразделение), -Оценки(Код оценки,ИД курсанта,Код предмета, Оценка, Дата), ...

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

Из ленточной формы открыть форму с учетом значения одного из полей ленточной формы
Кратко проблема: Есть ленточная форма с полями Название и Тип. Как настроить скрипт так, чтобы по двойному клику на поле Название,...

Обновление полей главной формы после изменения подчиненной
Добрый день, помогите, пожалуйста! Задача следующая: --необходимо формировать закупочный лот из нескольких объектов. --При этом...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru