powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обращение к полю в другой открытой форме
7 сообщений из 7, страница 1 из 1
Обращение к полю в другой открытой форме
    #32795655
AlexRom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При открытии формы 2, мне необходимо, чтобы шло обращение к полю "Отображение" формы 1 (открытой) и в зависимости от значения поля "Отображение" были видны или нет элементы формы 2.

Если бы поле "Отображение" находилось в форме 2, я использовал следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
With CodeContextObject
        If (.Отображение = False Or IsNull(.Отображение)) Then
            .К.Visible = False
            .д1.Visible = False
            .д2.Visible = False
        End If
        If (.Отображение =  1 ) Then
            .К.Visible = False
            .д1.Visible = True
            .д2.Visible = True
        End If
        If (.Отображение =  2 ) Then
            .К.Visible = True
            .д1.Visible = True
            .д2.Visible = True
        End If
    End With

А как обратится к полю "Отображение" в форме 1?

AlexRom
...
Рейтинг: 0 / 0
Обращение к полю в другой открытой форме
    #32795701
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый первый топик этого форума -> FAQ ...
...
Рейтинг: 0 / 0
Обращение к полю в другой открытой форме
    #32795821
AlexRom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если имелся ввиду топик http://www.sql.ru/faq/faq_topic.aspx?fid=156
то он уже изучен.
Последний вариант был такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
With CodeContextObject
        If (.[Forms]![Выбор].[Отображение] =  1 ) Then
            .К.Visible = False
            .д1.Visible = False
            .д2.Visible = False
        End If
        If (.[Forms]![Выбор].[Отображение] =  2 ) Then
            .К.Visible = False
            .д1.Visible = True
            .д2.Visible = True
        End If
        If (.[Forms]![Выбор].[Отображение] =  3 ) Then
            .К.Visible = True
            .д1.Visible = True
            .д2.Visible = True
        End If
Но и этот вариант не пляшет, ругается на строку
Код: plaintext
        If (.[Forms]![Выбор]![Отображение] =  1 ) Then
AlexRom
...
Рейтинг: 0 / 0
Обращение к полю в другой открытой форме
    #32795854
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А точка
. [Forms]![Выбор]![Отображение]
зачем?
Что такое CodeContextObject?
...
Рейтинг: 0 / 0
Обращение к полю в другой открытой форме
    #32795866
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
With [Forms]![Выбор].CodeContextObject
If (.Отображение = False Or IsNull(.Отображение)) Then
...
Рейтинг: 0 / 0
Обращение к полю в другой открытой форме
    #32795891
nuza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может VALUE нужно добавить. И обращение строится по принципу:
Forms![Форма1].Controls![Поле1].Value
...
Рейтинг: 0 / 0
Обращение к полю в другой открытой форме
    #32795895
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, понял. Ну так, проще, прежде чем использовать With, или заполнять ссылку на что-то в CodeContextObject, написать все обращения полностью, а уж потом, чтобы не путаться, сокращать текст программы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        If (Forms![Выбор].[Отображение] =  1 ) Then
            Forms![Form2]!К.Visible = False
            Forms![Form2]!д1.Visible = False
            Forms![Form2]!д2.Visible = False
        End If
        If ([Forms]![Выбор].[Отображение] =  2 ) Then
            Forms![Form2]!К.Visible = False
            Forms![Form2]!д1.Visible = True
            Forms![Form2]!д2.Visible = True
        End If
        If ([Forms]![Выбор].[Отображение] =  3 ) Then
            Forms![Form2]!К.Visible = True
            Forms![Form2]!д1.Visible = True
            Forms![Form2]!д2.Visible = True
        End If
=>
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
With Forms![Form2]
        If (Forms![Выбор].[Отображение] =  1 ) Then
            !К.Visible = False
            !д1.Visible = False
            !д2.Visible = False
        End If
        If ([Forms]![Выбор].[Отображение] =  2 ) Then
            !К.Visible = False
            !д1.Visible = True
            !д2.Visible = True
        End If
        If ([Forms]![Выбор].[Отображение] =  3 ) Then
            !К.Visible = True
            !д1.Visible = True
            !д2.Visible = True
        End If
End With
=>
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim a as boolean
dim b as boolean
a=Forms![Выбор].[Отображение] =  1 
b=Forms![Выбор].[Отображение] =  3 
With Forms![Form2]
            !К.Visible = not a or not b
            !д1.Visible = not a or b
            !д2.Visible = not a or b
End With
и т.д.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обращение к полю в другой открытой форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]