Ошибка «Введенное вами выражение требует, чтобы элемент управления находился в активном окне» - невозможно найти источник - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь создать элемент управления, который перемещается из одной формы в другую и переходит к определенной записи в новой форме. Однако я получаю некоторые странные ошибки, которые просто не имеют большого смысла для меня (мудрый код). Кроме того, даже если я открою форму frmService из окна проводника объектов, я не получу сообщение об ошибке, но форма откроется полностью пустой.

Image of the error and blank screen
Image of the form and control being used to open frmService

Первоначально первая форма (frmWorkOrders) была частью другой формы через подчиненную форму. Но у меня были некоторые неустранимые ошибки, которые заставили меня создать совершенно новую форму, и я переместил все поля и данные поверх. Он отлично работает сам по себе. Однако, когда я пытаюсь открыть frmService, используя элемент управления на frmWorkOrders, при открытии frmService я получаю сообщение об ошибке:

Введенное вами выражение требует, чтобы элемент управления находился в активном окно.

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

Это ВСЕ код на frmService, где и происходит ошибка.

Option Compare Database

Private Sub cmdClose_Click()
    DoCmd.Close acForm, "frmService"
    DoCmd.OpenForm "frmWorkOrders", acNormal
End Sub

Private Sub cmdComputer_Click()
 Me.Computer.SetFocus
End Sub

Private Sub cmdFirst_Click()
 Me.FirstStage.SetFocus
End Sub

Private Sub cmdHPSPG_Click()
 Me.HPSPG.SetFocus
End Sub

Private Sub cmdInflator_Click()
 Me.Inflator.SetFocus
End Sub

Private Sub cmdOcto_Click()
 Me.Octo.SetFocus
End Sub

Private Sub cmdSecond_Click()
 Me.SecondStage.SetFocus
End Sub

Private Sub Command86_Click()
 Me.Computer.SetFocus
End Sub

А вот код для открытия frmService и закрытия frmWorkOrders.

Private Sub cmdService_Click()
On Error GoTo cmdService_Click_Err

    DoCmd.OpenForm "frmService", , , "tblRegSR.[ID] = " & Me!txtID
    DoCmd.SearchForRecord , "frmService", acFirst, "[WorkOrderID] = " & Me.txtID
    DoCmd.Close acForm, "frmWorkOrders"

cmdService_Click_Exit:
    Exit Sub

cmdService_Click_Err:
    MsgBox Error$
   Resume cmdService_Click_Exit
End Sub

И на всякий случай, если это проблема SQL, вот оператор SQL для frmService.

SELECT tblRegSR.*, [tblCustomers].[FName] & " " & [LName] AS FullName, tblWorkOrder.Task, "WD0" & [tblWorkOrder]![ID] AS WONumber, tblFirstSR.*, tblHPSPGSR.*, tblInflatorSR.*, tblOctoSR.*, tblSecondSR.*, tblComputerSR.*
FROM ((((((tblCustomers RIGHT JOIN (tblWorkOrder INNER JOIN tblRegSR ON tblWorkOrder.ID = tblRegSR.ID) ON tblCustomers.ID = tblWorkOrder.CustomerID) 
INNER JOIN tblComputerSR ON tblRegSR.ID = tblComputerSR.ServiceRecordID) 
INNER JOIN tblFirstSR ON tblRegSR.ID = tblFirstSR.ServiceRecordID) 
INNER JOIN tblHPSPGSR ON tblRegSR.ID = tblHPSPGSR.ServiceRecordID) 
INNER JOIN tblInflatorSR ON tblRegSR.ID = tblInflatorSR.ServiceRecordID) 
INNER JOIN tblOctoSR ON tblRegSR.ID = tblOctoSR.ServiceRecordID) 
INNER JOIN tblSecondSR ON tblRegSR.ID = tblSecondSR.ServiceRecordID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...