У меня есть список, который использует две разные таблицы для получения данных списка (tblWorkOrder
& tblCustomers
).Все данные взяты из tblCustomers
, но tblWorkOrder
там только для того, чтобы отфильтровать любые элементы списка, у которых нет записи в tblWorkOrder
.Вот SQL на всякий случай:
SELECT DISTINCT tblCustomers.ID, [FName] & " " & [LName] AS FullName
FROM tblCustomers RIGHT JOIN tblWorkOrder ON tblCustomers.ID = tblWorkOrder.CustomerID;
Процедура события для двойного щелчка здесь:
Private Sub lstCustomers_DblClick(Cancel As Integer)
DoCmd.OpenReport "rptCustomers", acViewPreview, , "[tblWorkOrder].[ID] = " & Forms("frmReports")("lstCustomers").Value, acNormal
End Sub
Первоначальная проблема, с которой я столкнулся, заключалась в том, что поле [ID]
ссылалось на две таблицы и могло означать одну из них.Поэтому я добавил [tblWorkOrder]
, чтобы определить, к какой таблице относится отчет.Я почти уверен, что именно здесь я все испортил, но, будучи настолько плохим в ссылках на элементы управления формы, я не совсем уверен, как ссылаться на него.
РЕДАКТИРОВАТЬ: Вот SQL для rptCustomers
:
SELECT tblWorkOrder.Task, [FName] & [LName] AS FullName, tblCustomers.Company, tblCustomers.Email, tblCustomers.ContactPhone, tblCustomers.Address, [City] & ", " & [State] AS CityState, tblCustomers.ZipCode, tblCustomers.Country, tblCustomers.Notes, tblCustomers.ID, "WD0" & [tblWorkOrder]![ID] AS WONumber, tblWorkOrder.ID
FROM tblCustomers RIGHT JOIN tblWorkOrder ON tblCustomers.[ID] = tblWorkOrder.[CustomerID];