以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  datacolchanged-find 双条件报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86216)

--  作者:home8225
--  发布时间:2016/6/13 10:50:00
--  datacolchanged-find 双条件报错
If e.DataCol.Name = "客户要求产品型号" Then
Dim dr As DataRow 
    dr = DataTables("订单明细").Find("订单号= \'" & e.DataRow("订单号") & "\' and 客户要求产品型号 = #" & e.DataRow("客户要求产品型号") & "#")
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("客户要求产品名称")= dr("客户要求产品名称")
        e.DataRow("客户项目")= dr("项目单位")        

    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160613104922.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160613104900.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160613105227.png
图片点击可在新窗口打开查看


谢谢!!
[此贴子已经被作者于2016/6/13 10:52:52编辑过]

--  作者:大红袍
--  发布时间:2016/6/13 11:12:00
--  

代码没问题,你日期格式的问题

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=86157&replyID=596595&skin=1

 


--  作者:home8225
--  发布时间:2016/6/13 12:00:00
--  
1. 我的狐狸文件是在本地,数据库在服务器上,两边都修改短日期格式后仍然报相同错误,PS:代码更改看不懂...;
2.修改代码如下后报错,但内容不一样,见下图
If e.DataCol.Name = "订单号" Then
Dim dr As DataRow 
    dr = DataTables("订单明细").Find("订单号= \'" & e.DataRow("订单号") & "\' And  客户要求产品型号= #" & e.DataRow("客户要求产品型号") & "# ")
          
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("客户要求产品名称")= dr("客户要求产品名称")
        e.DataRow("客户项目")= dr("项目单位")        
    End If
End If

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160613115552.png
图片点击可在新窗口打开查看
3.因为父表中“客户要求产品型号”和“订单号"都不具备唯一性,所以同时关联了两个字段来保证唯一性,单仍然有重复的可能,不知道会不会报错;

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160613120139.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2016/6/13 12:02:08编辑过]

--  作者:大红袍
--  发布时间:2016/6/13 12:07:00
--  

代码这样写

 

 

If e.DataCol.Name = "订单号" Then
Dim dr As DataRow
    dr = DataTables("订单明细").Find("订单号= \'" & e.DataRow("订单号") & "\' And  客户要求产品型号= \'" & e.DataRow("客户要求产品型号") & "\'")
         
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("客户要求产品名称")= dr("客户要求产品名称")
        e.DataRow("客户项目")= dr("项目单位")       
    End If
End If

 

http://www.foxtable.com/help/topics/1647.htm