2014-01-14 2 views
0

У меня есть SubForm («Главное меню SubForm»), которое находится в MainForm («Главное меню») ... Я хочу выбрать строку в SubForm, а затем вытащить соответствующую строку в другую форму для редактирования.SubForm Select Row и Edit Source

У меня есть следующий код, но он, кажется, не делать то, что я ожидал:

Private Sub Form_Activate() 
    Me.Requery 
    If IsLoaded("Main Menu") Then 
     If Forms![Main Menu]![Main Menu SubForm].Form.RecordsetClone.RecordCount > 0 Then 
      DoCmd.GoToControl "txtWOrderID" 
      DoCmd.FindRecord Forms![Main Menu]![Main Menu SubForm].Form![WOrderID] 
     End If 
    End If 
End Sub 

Я приложил ссылку на мою базу данных для справки, если это необходимо: Access Invoice System

ответ

0

я завелся получить его на работу, делая это из главного F orm:

Private Sub btnViewWorkOrder_Click() 
    DoCmd.OpenForm "Work Order", acNormal, , "[WOrderID] = '" & Forms![Main Menu]![txtWOrderID] & "'", acFormEdit, acDialog 
End Sub 
0

Я хотел бы сделать что-то вроде (и это aircode, поэтому она нуждается в тонкой настройке):

forms!WOrderID.RecordSource = "Select * from MyTable where WOrderID = " & me.txtWOrderID & "" 
Forms!wOrderID.Refresh 
+0

Не уверен, что я следую коду ... Вы можете уточнить? Я использую его вот так: формы! *** Идентификатор рабочего заказа из пункта назначения *** .RecordSource = «Выбрать * из *** Главное меню SubForm *** где WOrderID =" & me.txtWOrderID & "" Формы! *** Идентификатор рабочего задания из пункта назначения ***. Обновление –

+0

Если значение параметра WOrderID не является полем Integer, вам необходимо окружить переменную одинарными кавычками. Не уверен, если это имеет значение. Кроме того, если ваши имена полей/форм имеют пробелы, не забудьте окружить их скобками. RecordSource должен быть сформулирован точно так же, как и запрос, поскольку по сути вы привязываете форму к запросу. –

+0

Я, очевидно, все еще делаю что-то неправильно ... вы можете посмотреть мою базу данных и посмотреть, что я могу делать неправильно. Это то, что я обновил, и он все еще не работает. Я думаю, что я помещаю что-то не в то место. 'Private Sub Form_Activate() Формы! [Рабочий заказ] .RecordSource =" SELECT * FROM [Рабочий заказ] WHERE [WOrderID] = '"& Me.txtWOrderID &"' " Формы! [Рабочий заказ]. Обновление End Sub' –