Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
表中有备注列,备注列中的内容较多,比如有“60.46W18.001, 60.49S17.001, 60.49S17.021, 60.49S22.011, 91.46W28.001, 91.49S28.001, BTP-43D1”,如果用菜单自带的筛选,如筛选“BTP-43D1”是没有问题的,但使用事件编程,则无法选出,同样,如“60.46W18.001”这种字符串也无法选出。只要是带了“-”或者“.”这种连接符号的就出问题。
请问大侠们,这是怎么回事呢?如何解决呢?
使用如下代码,有问题:
Dim drs AS List(of Datarow)
Dim dr0 AS Datarow=e.Datarow
Dim dr1,dr2,dr3 AS Datarow
Dim filter1,filter2 AS String
filter1="[Replacement For] like '*" & e.Datarow("电池型号") & "*'"
filter2="[Replacement For] like '*" & e.Datarow("电池型号") & "*' and [Capacity]='" & e.Datarow("容量") & "'"
If e.Datacol.Name= "电池型号" Then
If e.NewValue Is Nothing Then
dr0("BPBPN1")=Nothing
dr0("BPBPN2")=Nothing
dr0("capacity2")=Nothing
dr0("BPBPN3")=Nothing
dr0("capacity3")=Nothing
Else
drs=Datatables("BPB量产电池").Select(filter1)
If drs IsNot Nothing Then
dr1=drs(0)
dr2=drs(1)
dr3=drs(2)
dr0("BPBPN1")=dr1("产品名称")
dr0("BPBPN2")=dr2("产品名称")
dr0("BPBPN3")=dr3("产品名称")
dr0("capacity2")=dr2("capacity")
dr0("capacity3")=dr3("capacity")
Else
dr0("BPBPN1")="NULL"
End If
End If
End If
使用如下代码,正常:
If e.Datacol.Name="电池型号" Then
Dim drs AS list(of Datarow)
Dim filter As String
filter="[Replacement For] Like '*" & e.Datarow("电池型号") & "*' "
drs=Datatables("BPB量产电池").SELECT(filter)
If drs IsNot Nothing Then '如果不为空
Dim dr AS DATAROW=drs(0)
e.Datarow("BPBPN1")=dr("产品名称")
Else
e.Datarow("BPBPN1")="NULL"
END IF
END If
是不是问题出在
dr2=drs(1)
dr3=drs(2)
如果搜索的结果只有1条,而定义了2、3不存在,就有此问题?