powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / открыть форму на нужной записи
9 сообщений из 9, страница 1 из 1
открыть форму на нужной записи
    #36003525
Igor Mitichev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно, суть такая: две таблицы связаны отношениями 1-1. Для каждой из этих таблиц есть форма. При этом, на первой форме есть свободный элемент кнопка, который при нажатии через макрос загружает вторую форму.

Подскажите, как сделать так, чтобы при этом вторая форма не просто загружалась, но еще и переходила на запись, соответствующую записи первой формы, а если такой записи нет, то открывалась в режиме добавления данных.
...
Рейтинг: 0 / 0
открыть форму на нужной записи
    #36003542
aertim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну тут просто, если вторая форма открывается в виде списка, то в условии отбора необходимо указать forms![1-я форма]![PhoneNumber]
...
Рейтинг: 0 / 0
открыть форму на нужной записи
    #36003543
Dimos9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor Mitichev,

При создании кнопки мастером, есть возможность создания кода для открытия формы на нужной записи
...
Рейтинг: 0 / 0
открыть форму на нужной записи
    #36003580
Igor Mitichev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь за панику, заработало. У меня несоответствие типов было, разобрался.

Private Sub Clients_Click()

Dim stDocName As String
Dim stLinkCriteria As String

If [Entity] = True _
Then
stDocName = "Entitys"
Else
stDocName = "Individuals"
End If

stLinkCriteria = "[PhoneNumber]=" & "'" & Me![PhoneNumber] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Clients_Click:
Exit Sub

End Sub


зы: в access изучаю VB по запитсям мастеров, книжки нет. Подскажите неграмотному, что это за объект такой me и почему после него стоит восклицательный знак?
...
Рейтинг: 0 / 0
открыть форму на нужной записи
    #36003595
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Mitichev,
из хелпаКлючевое слово Me выполняет роль неявно описанной переменной. Оно автоматически становится доступным для любой процедуры в модуле класса. Если класс содержит более одного экземпляра, то ключевое слово Me дает возможность ссылаться на конкретный экземпляр в классе при выполнении программы. Использование ключевого слова Me особенно полезно для передачи информации из выполняющегося экземпляра класса в процедуру, находящуюся в другом модуле. Предположим, например, что в модуле имеется следующая процедура:

Sub ChangeFormColor(ИмяФормы As Form)
ИмяФормы.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
End Sub

Можно вызвать эту процедуру и передать в нее текущий экземпляр класса Form как аргумент с помощью следующей инструкции:

ChangeFormColor Me
Использовать Me можно как коллекцию контролов, тогда после Me ставится восклицательный знак, либо как объект с методами и своствами. В этом случае после Me ставится точка если далее идет обращение к методам/свойствам. При обращении к контролам формы/отчета обе формы практически одинаковы.
...
Рейтинг: 0 / 0
открыть форму на нужной записи
    #36003597
Dimos9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor Mitichev,

Ме - это ссылка на форму в которой была запущена процедура.
Т.е. Me![PhoneNumber] - ссылка на поле [PhoneNumber] в текущей форме.
! - это синтаксис ВБА.
Вместо "!" может также быть "."
...
Рейтинг: 0 / 0
открыть форму на нужной записи
    #36003605
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще хелп
из хелпаСвойство Me используется в программах Visual Basic для ссылок на форму, отчет, форму или отчет, связанные с подчиненной формой или подчиненным отчетом, а также на модуль класса, в котором выполняется программа Visual Basic.

Значения

Свойство Me доступно только в программах Visual Basic и допускает только чтение во всех режимах.

Дополнительные сведения

Свойство Me содержит ссылку объекта на активную форму или отчет и работает быстрее, чем полная ссылка на объект. Например, следующие два фрагмента программы ссылаются на значение элемента управления «Фамилия» для текущей записи формы «Сотрудники».

strLastName = Forms!Сотрудники.Фамилия

strLastName = Me!Фамилия

В большинстве случаев свойство Me возвращает ссылку на ту же форму или отчет, что и свойства ActiveForm или ActiveReport объекта Screen. Однако эти свойства возвращают ссылку на форму или отчет, которые обладают фокусом, в то время, как свойство Me всегда содержит ссылку на форму или отчет, в которых выполняется программа. Например, при возникновении события Таймер (Timer) в форме, не обладающей фокусом, конструкция Screen.ActiveForm возвратит ссылку на форму, обладающую фокусом, а свойство Me возвратит ссылку на форму, в которой возникло событие Таймер (Timer). Поэтому при создании внутренних процедур, предназначенных для обработки активной формы, вместо использования свойства ActiveForm удобнее передать форму в процедуру с помощью свойства Me.

Ключевое слово Me можно использовать в модуле класса для ссылки на текущую копию этого класса. Аналогично использованию Me в модулях класса формы или отчета для возвращения ссылки на текущую форму или отчет, можно использовать Me в модуле класса для возвращения ссылки на текущий объект модуля класса.
...
Рейтинг: 0 / 0
открыть форму на нужной записи
    #36003682
Сергей 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,

Еще.
Me c точкой, это ближний вызов поля и если оно отсутствует, то компилятор выдаст ошибку
если с ! восклиц знаком, это дальний вызов (например Forms!ИмяФормы!Поле) проверяться на наличие поля не будет.
Это выгодно, когда компилируется модуль отдельно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
открыть форму на нужной записи
    #39141834
Asparagus123681
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimos9, Спасибо тебе добрый человек.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / открыть форму на нужной записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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