以文本方式查看主题
- 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=113536)
|
-- 作者:飞过海洋
-- 发布时间:2018/1/17 18:03:00
-- 怎么写这个代码
老师:
我在明细账表里录入数据,同步更新到实物账表的相关列,以下是我的代码,但我现在有一个要求,就是当明细账表的摘要列如果显示"上年结转",那就不同 步账更新,实物表不作任何变动.请问老师要怎么写?
Select Case e.DataCol.name Case "明细账_领入起号","明细账_领入止号","明细账_领入张数","姓名","姓名","实物账_发出起号","实物账_发出止号","实物账_发出张数","明细账_今日领入张数","明细账_退票张数","实物账_退票张数","年","月","日","凭证_实物号","年","月","日","凭证_号","明细账_上年结转张数","实物账_上年结转张数","实物账部分_号","实物账部分_上年结转张数" Dim dr As DataRow = DataTables("实物账").Find("id2 = \'" & e.DataRow("_Identify") & "\'") If dr Is Nothing Then dr = DataTables("实物账").AddNew() dr("id2") = e.DataRow("_Identify") End If dr("实物账_发出起号") = e.DataRow("明细账_领入起号") dr("姓名") = e.DataRow("姓名") dr("年") = e.DataRow("年") dr("月") = e.DataRow("月") dr("日") = e.DataRow("日") dr("实物账_今日发出张数") = e.DataRow("明细账_今日领入张数") dr("实物账_退票张数") = e.DataRow("明细账_退票张数") dr("凭证_号") = e.DataRow("实物账部分_号") dr("引用部分") = e.DataRow("摘要_内容") End Select
此主题相关图片如下:}vkoi~5~rtk9olh3`ywij`m.png

|
-- 作者:有点甜
-- 发布时间:2018/1/17 18:06:00
--
加上判断
If e.DataRow("摘要_内容") > "" AndAlso e.DataRow("摘要_内容") <> "上年结转" Then
\'其余代码
End If
|
-- 作者:飞过海洋
-- 发布时间:2018/1/17 21:12:00
--
以下是引用有点甜在2018/1/17 18:06:00的发言:
加上判断
If e.DataRow("摘要_内容") > "" AndAlso e.DataRow("摘要_内容") <> "上年结转" Then
\'其余代码
End If
老师:
出现这个错误
.NET Framework 版本:2.0.50727.8762 Foxtable 版本:2017.10.26.1 错误所在事件:表,明细账表,DataColChanged 详细错误信息: 调用的目标发生了异常。 未将对象引用设置到对象的实例。
|
-- 作者:有点甜
-- 发布时间:2018/1/17 21:15:00
--
Select Case e.DataCol.name Case "明细账_领入起号","明细账_领入止号","明细账_领入张数","姓名","姓名","实物账_发出起号","实物账_发出止号","实物账_发出张数","明细账_今日领入张数","明细账_退票张数","实物账_退票张数","年","月","日","凭证_实物号","年","月","日","凭证_号","明细账_上年结转张数","实物账_上年结转张数","实物账部分_号","实物账部分_上年结转张数" If e.DataRow("摘要_内容") > "" AndAlso e.DataRow("摘要_内容") <> "上年结转" Then Dim dr As DataRow = DataTables("实物账").Find("id2 = \'" & e.DataRow("_Identify") & "\'") If dr Is Nothing Then dr = DataTables("实物账").AddNew() dr("id2") = e.DataRow("_Identify") End If dr("实物账_发出起号") = e.DataRow("明细账_领入起号") dr("姓名") = e.DataRow("姓名") dr("年") = e.DataRow("年") dr("月") = e.DataRow("月") dr("日") = e.DataRow("日") dr("实物账_今日发出张数") = e.DataRow("明细账_今日领入张数") dr("实物账_退票张数") = e.DataRow("明细账_退票张数") dr("凭证_号") = e.DataRow("实物账部分_号") dr("引用部分") = e.DataRow("摘要_内容") End If End Select
|
-- 作者:飞过海洋
-- 发布时间:2018/1/17 21:37:00
--
以下是引用有点甜在2018/1/17 21:15:00的发言:
Select Case e.DataCol.name Case "明细账_领入起号","明细账_领入止号","明细账_领入张数","姓名","姓名","实物账_发出起号","实物账_发出止号","实物账_发出张数","明细账_今日领入张数","明细账_退票张数","实物账_退票张数","年","月","日","凭证_实物号","年","月","日","凭证_号","明细账_上年结转张数","实物账_上年结转张数","实物账部分_号","实物账部分_上年结转张数" If e.DataRow("摘要_内容") > "" AndAlso e.DataRow("摘要_内容") <> "上年结转" Then Dim dr As DataRow = DataTables("实物账").Find("id2 = \'" & e.DataRow("_Identify") & "\'") If dr Is Nothing Then dr = DataTables("实物账").AddNew() dr("id2") = e.DataRow("_Identify") End If dr("实物账_发出起号") = e.DataRow("明细账_领入起号") dr("姓名") = e.DataRow("姓名") dr("年") = e.DataRow("年") dr("月") = e.DataRow("月") dr("日") = e.DataRow("日") dr("实物账_今日发出张数") = e.DataRow("明细账_今日领入张数") dr("实物账_退票张数") = e.DataRow("明细账_退票张数") dr("凭证_号") = e.DataRow("实物账部分_号") dr("引用部分") = e.DataRow("摘要_内容") End If End Select 老师 :这个代码执行完,实物账,显示出有姓名的一个空行,怎么能只要接要是上年结转,实物账就没有任何同步更新?
[此贴子已经被作者于2018/1/17 21:45:31编辑过]
|
-- 作者:有点甜
-- 发布时间:2018/1/17 21:43:00
--
执行代码,有什么问题?
|
-- 作者:飞过海洋
-- 发布时间:2018/1/17 21:48:00
--
以下是引用有点甜在2018/1/17 21:43:00的发言: 执行代码,有什么问题?
老师 :这个代码执行完,实物账,显示出有姓名的一个空行,怎么能只要接要是上年结转,实物账就没有任何同步更新?
|
-- 作者:有点甜
-- 发布时间:2018/1/17 22:09:00
--
4楼代码肯定没有问题,请认真测试。
看看你datarowAdded写了什么代码,贴出来看看。
|
-- 作者:飞过海洋
-- 发布时间:2018/1/17 22:24:00
--
以下是引用有点甜在2018/1/17 22:09:00的发言:
4楼代码肯定没有问题,请认真测试。
看看你datarowAdded写了什么代码,贴出来看看
老师: 我这几个表是相关同步关联的.我在上年结转表属性里写的代码,可刚录入几行,其他表不就列出没意的几个空行.
请老师把这个表的表属性的代码看下.
以下是 上年结转表中的代码,
Select Case e.DataCol.name Case "名称","实物_上年结转张数","实物_上年结转起号","实物账_上年结转张数","实物账_领入起号","姓名" Dim dr As DataRow = DataTables("实物账").Find("id2 = \'" & e.DataRow("_Identify") & "\'") If dr Is Nothing Then dr = DataTables("实物账").AddNew() dr("id2") = e.DataRow("_Identify") End If dr("实物账_上年结转张数") = e.DataRow("实物_上年结转张数") dr("姓名") = e.DataRow("名称") dr("实物账_领入起号") = e.DataRow("实物_上年结转起号") End Select Select Case e.DataCol.name Case "名称","明细_上年结转张数","明细账_上年结转起号" Dim dr As DataRow = DataTables("明细账表").Find("id2 = \'" & e.DataRow("_Identify") & "\'") If dr Is Nothing Then dr = DataTables("明细账表").AddNew() dr("id2") = e.DataRow("_Identify") End If dr("明细账_上年结转张数") = e.DataRow("明细_上年结转张数") dr("姓名") = e.DataRow("名称") dr("明细账_领入起号") = e.DataRow("明细_上年结转起号") End Select Select Case e.DataCol.name Case "名称","总账上_上年结转张数","总账上_上年结转起号" Dim dr As DataRow = DataTables("总账表").Find("id2 = \'" & e.DataRow("_Identify") & "\'") If dr Is Nothing Then dr = DataTables("总账表").AddNew() dr("id2") = e.DataRow("_Identify") End If dr("总账_上年结转张数") = e.DataRow("总账上_上年结转张数")
此主题相关图片如下:y6a{)1{8u5%xrk$jz)uccya.png

此主题相关图片如下:rl{2(rm487bf2two)neqv.png

[此贴子已经被作者于2018/1/17 22:24:56编辑过]
|
-- 作者:飞过海洋
-- 发布时间:2018/1/17 22:27:00
--
老师:请仔细看一下
|