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

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

При создании кнопки мастером, есть возможность создания кода для открытия формы на нужной записи
...
Рейтинг: 0 / 0
23.05.2009, 20:29
    #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
23.05.2009, 20:46
    #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
23.05.2009, 20:48
    #36003597
Dimos9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть форму на нужной записи
Igor Mitichev,

Ме - это ссылка на форму в которой была запущена процедура.
Т.е. Me![PhoneNumber] - ссылка на поле [PhoneNumber] в текущей форме.
! - это синтаксис ВБА.
Вместо "!" может также быть "."
...
Рейтинг: 0 / 0
23.05.2009, 20:55
    #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
23.05.2009, 23:33
    #36003682
Сергей 2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть форму на нужной записи
mds_world,

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


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