以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  FIND函数  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=142080)

--  作者:狐表编程总裁
--  发布时间:2019/10/17 22:29:00
--  FIND函数
Dim dr As DataRow = DataTables("订单明细").Find( dataArray(0) & " = \'" & dataArray(1) & "\' and " & dataArray(2) & " = \'" & dataArray(3) & "\'")

这个find函数里面的那个时什么意思呢? 没有看懂

--  作者:有点蓝
--  发布时间:2019/10/18 8:53:00
--  
比如接收的数据是:U|第一列|AD01|第二列|PD01
数据拆分后:Dim dataArray() As String = msg.TrimStart("U","|").Split("|")

dataArray(0) = "第一列"
dataArray(1) = "AD01"
dataArray(2) = "第二列"
dataArray(3) = "PD01"

放入find条件里,最终结果就等同于:
Dim dr As DataRow = DataTables("订单明细").Find("第一列 = \'AD01\' and 第二列 = \'PD01\'")

其实就是动态生成查询条件:http://www.foxtable.com/webhelp/topics/1284.htm

--  作者:狐表编程总裁
--  发布时间:2019/10/20 12:50:00
--  

                            If dataArray.Length = 8 Then

                Dim dr As DataRow = DataTables("订单明细").Find( dataArray(0) & " = \'" & dataArray(1) & "\' and " & dataArray(2) & " = \'" & dataArray(3) & "\'")

                If dr IsNot Nothing Then 

                    dr(dataArray(4)) = dataArray(5)

                    dr(dataArray(6)) = dataArray(7)

                    DataTables("订单明细").Save()

                    ret = "!true"

                End If

            End If


是把5.6行是把数据写进订单明细表里面的意思吗


--  作者:有点蓝
--  发布时间:2019/10/20 22:38:00
--  
是的,查询到对应的行,然后把新值填入需要更新的列(单元格)中
--  作者:udp狐表
--  发布时间:2019/12/6 21:17:00
--  
如果我有个任务表有两项id 和 人名,我想把id=01的人名那一项写为张三,这个要怎么用find写
--  作者:有点蓝
--  发布时间:2019/12/6 22:14:00
--  
Dim dr As DataRow = DataTables("任务表").Find("id=\'01\'")
If dr IsNot Nothing Then dr("人名") = "为张三"