2013-08-13 5 views
-1

Каков самый простой способ получить MS Access 2007 для автозаполнения формы на основе записи, добавленной в первом поле?Автоматически заполнять поля в форме доступа

В настоящее время у меня есть 4 стола .... Клиенты, детали, заголовок заказа и строки заказа. Я создал форму для таблицы заголовков заказов с подформой для строк порядка.

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

и тот же принцип .. Когда я добавляю номер продукта в форму заказа, он автоматически заполняет идентификатор заказа и описание и цену продажи, принимая информацию из таблицы деталей и таблицы заголовков заказов .....

Теперь я знаю, большинство из вас, ребята, это хлеб и масло, но, пожалуйста, объясните в самой простой форме ... я ни в коем случае не 100% грамотный компьютер.

+0

Во-первых, спасибо за ваш ответ .... Нет, они хранятся в таблице клиентов .... таблица заголовка заказа предназначена для первоначальной настройки заказа клиента ... тогда будет существовать подформат строки заказа используется для ввода строк заказа .... который должен принимать детали из таблицы деталей. – DaymoClark

ответ

2

Вот пример из формы, которую я использую. Он использует Dlookup из таблицы в том же файле .mdb. Вы вводите номер детали, а затем все остальное заполнит после вы попали вкладки:

Private Sub Item_Number_AfterUpdate() 
    PopulateFields 
End Sub 

Private Sub PopulateFields() 
''''PopulateFields takes the Item Number to fill in all the remaining fields with regards to that Item 
    Me.Full_Desc = RTrim(DLookup("ITEMDESC", "GP_Parts_List_Import", "ITEMNMBR = '" & Me.Item_Number & "'")) 
    Me.Item_Type = RTrim(DLookup("ITEMTYPE", "GP_Parts_List_Import", "ITEMNMBR = '" & Me.Item_Number & "'")) 
    Me.General_Desc = RTrim(DLookup("ITMGEDSC", "GP_Parts_List_Import", "ITEMNMBR = '" & Me.Item_Number & "'")) 
    Me.Current_Cost = RTrim(DLookup("CURRCOST", "GP_Parts_List_Import", "ITEMNMBR = '" & Me.Item_Number & "'")) 
    Me.Item_Class_Code = RTrim(DLookup("ITMCLSCD", "GP_Parts_List_Import", "ITEMNMBR = '" & Me.Item_Number & "'")) 
End Sub 

UPDATE

Чтобы попасть в VBA часть вашего приложения, нужно нажать клавишу F11 или щелкните правой кнопкой мыши на элементе управления, который требуется запуская код. После щелчка правой кнопкой мыши выберите «Build Event», а затем выберите «Code Builder», чтобы открыть окно редактора VBA. VBA Editor

Выпадающий слева объект даст вам каждый элемент управления, который вы можете выбрать в этой форме, а выпадающий справа даст вам каждое событие, доступное для управления. Поэтому, когда заполняется текстовое поле Item_Number, и пользователь перемещается, запускается AfterUpdate и запускает функцию PopulateFields.

Очевидно, вам нужно будет заменить текстовые поля и имена таблиц, и это единственный способ сделать это. Но надеюсь, что это поможет.

+0

Где бы я ввел это ??? есть ли где-нибудь в представлении дизайна для таблицы, я могу добавить dlookup или он доступен только в разделе запроса. спасибо за вашу помощь. – DaymoClark

+0

См. Обновление. – Grant

+0

Ну им чего-то спасибо .... так что вместо этого кода .... будет ли это работать как средство простого кодирования ?? Private Sub Customer_AfterUpdate() CustomerName = Customer.Column (2) End Sub Если так ... можете ли вы объяснить цель столбца (2), пожалуйста .... – DaymoClark

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