以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  怎么跨表定位行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=114669)

--  作者:swagger
--  发布时间:2018/2/12 19:08:00
--  怎么跨表定位行
怎么做到:订单窗口新建订单,用“自定义录入界面”选择客户,然后客户表自动定位在订单选中的客户的行?  (目的点击新建订单明细的时候,判断客户行某一列是否符合条件,不合符则不允许新建订单明细)
--  作者:swagger
--  发布时间:2018/2/12 19:17:00
--  
应该在新建订单明细加入如下类似代码:

Dim dr As DataRow
Dim po As Integer
Dim r As Row = Tables("订单").Current("客户名称") 
dr = DataTables("客户").Find("客户名称  =  r")
po = Tables("客户").FindRow(dr)
If po >= 0 Then 
    Tables("客户").Position = po 
End If


这个代码应该怎么写?
[此贴子已经被作者于2018/2/12 19:30:14编辑过]

--  作者:swagger
--  发布时间:2018/2/12 19:29:00
--  

[此贴子已经被作者于2018/2/12 19:29:31编辑过]

--  作者:有点蓝
--  发布时间:2018/2/12 20:19:00
--  

Dim r As Row = Tables("订单").Current
If r IsNot Nothing Then
    Dim po As Integer = Tables("客户").FindRow("客户名称  = " & r("客户名称") & "\'")
    If po >= 0 Then
        Tables("客户").Position = po
    End If
End If

如果只是要判断就没有必要定位了
Dim r As Row = Tables("订单").Current
If r IsNot Nothing Then
    Dim dr As DataRow = DataTables("客户").Find("客户名称  = " & r("客户名称") & "\'")
    If dr IsNot Nothing AndAlso dr("某列") = "某某值" Then
        \'判断后的代码处理\'
    End If
End If

--  作者:swagger
--  发布时间:2018/2/23 12:26:00
--  
Dim r As Row = Tables("订单").Current
If r IsNot Nothing Then
    Dim dr As DataRow = DataTables("客户").Find("客户名称  = " & r("客户名称") & "\'")
    If dr IsNot Nothing AndAlso dr("某列") = "某某值" Then
        \'判断后的代码处理\'
    End If
End If


-----------------------

如果是 要判断同时符合“公司名称”和“公司名称”, 上述代码该怎么写? Dim dr As DataRow = DataTables("客户").Find("客户名称  = " & r("客户名称") & "\'","公司名称  = " & r("公司名称") & "\'") ?
[此贴子已经被作者于2018/2/23 12:31:41编辑过]

--  作者:有点甜
--  发布时间:2018/2/23 12:33:00
--  

 Dim dr As DataRow = DataTables("客户").Find("客户名称  = \'" & r("客户名称") & "\' and 公司名称  = \'" & r("公司名称") & "\'")

 

 

[此贴子已经被作者于2018/2/23 12:33:52编辑过]