试试改成
Select Case e.DataCol.Name
Case "住院号"
Dim Result As DialogResult
With DataTables("高值耗材病人使用登记表")
Dim drs As List(Of DataRow)
drs = .Select("住院号 = '" & e.NewValue & "'")
If drs.count>0 Then
If drs.count=1 Then
Result=MessageBox.Show(""& e.NewValue &"共有"& drs.count &"处重复, 姓名:"& drs(0)("患者姓名") &" ,手术日期:"& drs(0)("手术日期") &" 是否继续录入?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
ElseIf drs.count=2 Then
Result=MessageBox.Show(""& e.NewValue &"共有"& drs.count &"处重复, 姓名:"& drs(0)("患者姓名") &" ,手术日期:"& drs(0)("手术日期") &" 姓名:"& drs(1)("患者姓名") &" ,手术日期:"& drs(1)("手术日期") &" 是否继续录入?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
End If
If Result = DialogResult.Yes Then
e.DataRow("住院号")= e.NewValue & "-" & drs.count+1
Else
e.Cancel = True
End If
End If
End With
End Select