以下是引用don在2008-11-26 11:48:00的发言:
凡事总有个度吧,你不可能要求十万八万行形成列表能飞快起来!要学会变通!
两者结合吧: Or 输入码首再选择列表 Or 在疾病列输入编码 Or 在疾病列输入疾病名称
if e.Datacol.name = "疾病" Then
Dim Da As DataTable = DataTables("疾病")
Dim dr As DataRow
Dim T1,T2 As String
T1=e.DataRow("疾病")
T2="[输入码] = '" & T1 & "'"
IF T1.indexof("→") >-1 Then
e.DataRow("疾病") = T1.split("→")(1)
ElseIF Asc(T1) > 64 And Asc(T1) < 91 and Asc(Right(T1,2)) > 64 And Asc(Right(T1,2)) < 91 Then
dr = Da.Find(T2)
if dr IsNot Nothing Then
e.DataRow("疾病") = dr("疾病名称")
Else
MessageBox.Show("『输入码』输入有誤!請檢查.", "提示")
End If
ElseIF Da.Find("[疾病名称] = '" & T1 & "'") is Nothing Then
MessageBox.Show("『疾病名称』输入有誤!請檢查.", "提示")
End If
End If
[此贴子已经被作者于2008-11-26 13:43:45编辑过]
我明白老大的意思,钻牛角尖是不好的,要变通,但是偶尔钻钻牛角尖未必不好哦.....编写软件要考虑多方面的可能性啊.
况且我以前也接触过类似情况,人家就是利用名称拼音首字母进行快速录入的,而且数据量比我这个还大.
虽然变通不是不行,但对于最终用户来说,方便快捷才是王道.....
[此贴子已经被作者于2008-11-27 9:16:05编辑过]