2012-04-09 4 views
2

У меня есть таблица для деталей машин, которая имеет много столбцов. Чтобы пользователи могли вводить определенную информацию без путаницы, я разделил столбцы на некоторые формы на основе полей типа и подтипа в таблице. Например, type1 и подтип 1 имеют определенные столбцы, и они хранятся в форме type1-subtype1 и type2 и sub-type2 в форме типа 2 подтипа2 и так далее. У меня есть всего 5 типов и 5 подтипов, поэтому у меня есть в общей сложности 25 форм. Я использовал два комбинированных блока в новой форме для типа и подтипа, как указано на рисунке, Я хочу выбрать тип из типа combo и sub-type из компиляции подтипа, и когда я нажимаю кнопку открытой формы, ЭТО ДОЛЖНО ОТОБРАЖИТЬ СООТВЕТСТВУЮЩАЯ ФОРМА. enter image d escription here Например, если пользователь выбирает тип5 из комманды типа и подтипа 3 из компиляции подтипа, тогда должна отображаться форма type5-subtype3 и т. Д. Для всех 25 форм. Я попытался сыграть вокруг встроенного макроса [на клик] для кнопки открытой формы, но тщетно. Можно ли сделать это в этом методе при доступе или предложить метод. Это было бы очень полезно для меня. Большое спасибо!Выбор конкретной формы доступа из двух комбинированных ящиков

+1

ли эти 25 формы действительно настолько различны, что вы не можете использовать единую форму с элементами управления данными, которые включено/отключено на основе текущей комбинации типа/подтипа? Я бы постарался найти способ избежать необходимости в столь многих отдельных формах. – HansUp

+1

Абсолютно! 25 форм чрезмерны. – Fionnuala

+0

@ HansUp Это достойный момент. Я буду работать, чтобы уменьшить количество форм. Спасибо за предложение. – alex

ответ

2

EDIT измененное свойство выпадающий из Selected в Значение

Иногда ограничены и не позволяют установить свойство в виде строки. Похоже, это может быть один из таких случаев. Если это так, вы можете всегда использовать Visual Basic («Code Builder») вместо встроенного макроса. Внутри обработчика Click, что-то вроде этого:

Dim formName As String 
formName = type.Value & "-" & subtype.Value 
DoCmd.OpenForm formName 
+0

Свойство комманды '.Selected' требует, чтобы вы предоставили аргумент' Row'. Возможно, вы имели в виду его свойство .Value'. – HansUp

+0

@ HansUp, да, спасибо. (отредактировано) – McGarnagle

+0

@dbaseman Большое спасибо за ответ, должен ли я вводить код выше между частным sub button_click() и заканчивать или должен ли я делать это для каждой формы. Извините, я новичок в визуальном, очень извините за такой наивный вопрос. Я ценю вашу помощь .... – alex