MS Access Query显示最新的活动部件号

时间:2012-10-22 14:53:33

标签: sql ms-access

我在MS Access中使用了“替换”表。

ID  PartNumber  ReplacedNumber  Status
4   b                       Active
5   c           b           Replaced
6   d           b           Replaced
7   e           c           Replaced
8   h           d           Replaced
9   104308          408077-0102 Replaced
10  310224          408077-0102 Replaced
11  0R5888          408077-0102 Replaced
12  4N6515          408077-0102 Replaced
13  4N6860          408077-0102 Replaced
14  408077-0102 408077-5102 Replaced
15  408077-5102 408077-5102S    Replaced
16  408077-5102S                Active

查询要求

这些数字(104308,310224,0R5888,4N6515,4N6860,408077-0102,408077-5102,408077-5102S)的最终答案应为408077-5102S,因为此数字已取代所有其他数字。因此,如果我的查询有一个标准,[请输入部件号以查找最新编号],结果编号应为408077-5102S。因为,它是唯一的活跃号码,并已取代所有其余的号码。

同样,这些数字(b,c,d,e,h)中的任何一个的最终答案都应该是b,因为这个数字已经取代了所有其他数字。因此,如果我的查询有一个标准,[请输入部件号以查找最新的数字],结果数字应为b。因为,它是唯一的活跃号码,并已取代所有其余的号码。

有什么想法吗?我也看了Replacing Values in SQL (Microsoft Access),但没有用。

1 个答案:

答案 0 :(得分:0)

我认为Replacing Values in SQL (Microsoft Access)中的函数searchReplaced正是您所需要的,为什么您说它没有帮助?

Sub Test()
  Dim partToSearch, partReplace

  partToSearch = InputBox( "Part to Search? ")
  partReplace = searchReplaced( partToSearch )

  If partToSearch = partReplace Then
    MsgBox "Part " & partToSearch & " Active"
  Else
    MsgBox "Part " & partToSearch & " Replaced by " & partReplace
  End If
End Sub

状态列是否已存在,或者您是否必须填充它?