1

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 になるはずです。これは唯一のアクティブな番号であり、他のすべての番号に取って代わりました。

何か案は?SQL (Microsoft Access) での値の置き換えも調べましたが、役に立ちません。

4

1 に答える 1

0

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

ステータス列はすでに存在していますか、それとも入力する必要がありますか?

于 2012-10-22T16:20:25.993 に答える