2014-02-12 4 views
1

Заранее спасибо за помощь в решении этой проблемы - это привело меня в бешенство.Доступ 2010: Выбранное значение записи из подформы

Прежде всего: мой вопрос касательно инструкции здесь: http://www.fmsinc.com/MicrosoftAccess/Forms/Synchronize/LinkedSubforms.asp.

У меня есть форма в Access 2010, которая содержит подчиненную форму. Содержимое подформы обновляется с помощью VBA. Здесь все отлично работает.

Я хочу, чтобы иметь возможность открывать другую форму на основе записи, которую пользователь выбрал в подформе. Это влечет за собой знание номера выбранной пользователем записи. Для начала я просто хочу, чтобы идентификатор выбранной записи был записан в обычное текстовое поле в форме.

Я нашел решение в указанной выше ссылке. Он говорит:

"Для того, чтобы сослаться на значение в подчиненной, используйте следующий синтаксис для управления Source имущества текстового поля:.!

= [subFormName] [Форма] [ControlName]"

Он отлично работает в своем примере (я загрузил .mdb, и он работает!), Но когда я пытаюсь, «[Форма]» не является вариантом. И поэтому я не могу заставить его работать!

Я также попытался использовать их .mdb, и я не могу выбрать [Form], поэтому, как только я изменил свойство источника управления текстового поля, он перестает работать. Я попробовал с [.Formula] вместо этого, но ничего (ссылка на скриншот: http://i.imgur.com/pR2WkSW.png?1)

В чем может быть проблема? Может быть, языковые настройки?

Большое вам спасибо.

М.

ответ

1

Я не уверен, как это отличается в Access 2010, но, как вы можете увидеть ниже, для Access 2007:

referencing a subform control

Вы можете непосредственно относятся к элементу управления в Выражение выражений. Просто:

а) расширить свое имя формы на левый фрейм

б) выберите имя подчиненного на левом фрейм

c1) Если вы хотите, чтобы обратиться к определенному контролю (т.е. текстового поля) просто выберите его из среднего кадра (дважды щелкните по нему)

c2) Если вы хотите обратиться к свойству формы (т. е. фильтру подчиненности), выберите тег в среднем кадре, а соответствующее свойство в правой части кадр

c3) Если вы хотите обратиться к элементу набора записей субформы, использовать тег в средней рамке и выбрать элемент из правой рамки

Все должно быть там.

+0

Большое вам спасибо за ваш ответ, я очень ценю это. Я не знал, что могу выбрать его из Builder Expression, но, конечно же! К сожалению, проблема сохраняется, как вы можете видеть здесь: http://i.imgur.com/nq3OpFN.png?1 Я просто не могу создать правильное выражение, кажется. Я попытался в базе данных Access, которая находится здесь: http://www.fmsinc.com/MicrosoftAccess/Forms/Synchronize/LinkedSubforms.asp, и это та же проблема. – user3302702

+0

Я заметил, что на левом фрейме имя формы - 'frmMaster', а не' subMaster'. Не уверен, что это связано с вашей проблемой. В любом случае, попытались написать текст? это должно быть что-то вроде '[frmMaster]! [Form]! [txtID]' или '[frmMaster]! [Formular]! [txtID]'. Я догадываюсь о первом случае, потому что даже на моем родном языке для Access синтаксис не изменился, он работал написанным на английском языке. – parakmiakos

+0

Мне очень жаль, но нет, это не работает :((ни первый, ни второй пример). Я не получаю синтаксическую ошибку, но она не работает: http://i.imgur.com /T9lcKlG.png?1 Я очень благодарен вам за то, что вы потратили время, чтобы помочь мне в этом. Если у вас есть время, не могли бы вы попытаться увидеть, если вам разрешено/возможно выбрать [Форма] в выражении? вещь. ..adb «рождается» с этим выражением (= [subMaster]. [Form]! [txtID]) и работает отлично, но если я просто удалю выражение и добавлю его снова, это не так. Должны быть какие-то языковые настройки, нет? – user3302702

0

Вы должны иметь возможность ссылаться на управление через VBA несколько иначе.Формы отображаются как классы с Form_ перед ними (что приятно, потому что вы можете использовать intellisense). Таким образом, ваш синтаксис был бы похож на следующее:

Form_Formname.Controls("ControlName").Value 

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

Смежные вопросы