Это форма, и вам требуется только чтение, поэтому DlookUp должен подойти: http://support.microsoft.com/kb/208786
= DLookup("[numeric field]", "TableC", "[LookupKey] = " & [PK] & " AND TheDate = DMax(""TheDate"", ""TableC"", ""LookupKey=" & [PK] & """)")
Есть две проблемы с редактированием OP, во-первых, он предполагает, что date
является допустимым именем поля, это зарезервированное слово и не должно использоваться. Во-вторых, это говорит о том, что в DlookUp нужны квадратные скобки, а не они.
В качестве альтернативы:
Dim rs As DAO.Recordset
s = "SELECT TOP 1 c.[numeric field] " _
& "FROM TableC c " _
& "WHERE c.LookupKey= " & Me.[PK]
& "ORDER BY c.TheDate DESC"
set rs = currentDB.Openrecordset(s)
Me.SomeControl = rs![numeric field]