以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]让某字段值的当前行等于上一行如何写代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70971) |
-- 作者:huangfanzi -- 发布时间:2015/7/2 14:36:00 -- [求助]让某字段值的当前行等于上一行如何写代码 做个销售合同明细,其中有三个字段,分别为合同号,合同主号,签订日期,举例如下: 合同号 合同主号 签订日期 S150001-01 S150001 2015-7-2 S150001-02 S150001 2015-7-2 我希望在录入第二行时,签订日期能自动录入,规则是查找上一行的合同主号是否等于本行的合同主号,如果相等,本行的签订日期等于上行的签订日期。 谢谢!
[此贴子已经被作者于2015/7/2 14:36:33编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/7/2 14:40:00 -- 直接查询合同主号一样的那一行即可。
Dim fdr As DataRow = e.DataTable.Find("合同主号 = \'" & e.DataRow("合同主号") & "\'", "_Identify desc") |
-- 作者:huangfanzi -- 发布时间:2015/7/2 14:56:00 -- 老师,代码不行啊,不出结果也不报错,我完整的代码如下: \'根据生同样的合同主号生成签订日期 If e.DataCol.Name = "合同主号" Then Dim dr As DataRow dr = e.DataTable.Find("合同主号 = \'" & e.DataRow("合同主号") & "\'", "_Identify desc") If dr IsNot Nothing Then \'如果找到的话 e.DataRow("签订日期") = dr("签订日期") End If End If |
-- 作者:大红袍 -- 发布时间:2015/7/2 14:59:00 -- If e.DataCol.Name = "合同主号" Then
Dim dr As DataRow
dr = e.DataTable.Find("合同主号 = \'" & e.DataRow("合同主号") & "\' and _Identify <> " & e.DataRow("_Identify"), "_Identify desc")
If dr IsNot Nothing Then \'如果找到的话
e.DataRow("签订日期") = dr("签订日期")
End If
End If
|