包含3000条记录和21个列字段的表
我需要使用2列字段(Field2和Field3)循环记录,其中有一个空值来生成一个新列字段(Field4) 我开始使用下面的这个函数但是因为case select不能接受null而被卡住了 - 或者我可能需要使用我不擅长的嵌套iifs。
SampleTable
Name(Field1) Parts(Field2) Categories(Field3) New Field(Field4)
1 A1 R1 Inventory
2 A1 Null Inventory
3 B1 R1 Processing
4 B1 R4 Processing
5 B1 Null Unknown
6 Null Null Unknown
我的功能:
Function MachineCheck(Field2, Field3) As String
Dim newValue As String
Select Case (Field2)
Case "A1":
Select Case (Field3)
Case "R1"
newValue = "Inventory"
Case Is null
newValue = "Inventory"
Case "R1"
newValue = "Inventory"
Case “ “
newValue = "Inventory"
Select Case (Field2)
Case “B1”
End Select
MachineCheck = newValue
End Function
感谢您的帮助!
答案 0 :(得分:0)
我建议用这种方式写查询:
SELECT Field1 AS [Name], Field2 AS Parts, Field3 AS Categories,
SWITCH( Trim(Field3) & Trim(Field4) = "A1", "Inventory",
Trim(Field3) & Trim(Field4) = "A1R1", "Inventory",
Trim(Field3) & Trim(Field4) = "B1", "Unknown",
Trim(Field3) & Trim(Field4) = "B1R1", "Processing",
Trim(Field3) & Trim(Field4) = "", "Unknown") As [Status]
FROM YourTable;
有关详细信息,请参阅:What is the equivalent of Select Case in Access SQL?