以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 多值字段问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123628) |
||||
-- 作者:ZJZK2018 -- 发布时间:2018/8/19 19:10:00 -- 多值字段问题 老师为什么红色部分代码不起作用,如何调整? 需求是:删除dr("税票号码")中的号码时,在"税票登记"表中相应税票号码对应行自动变为Nothing。 If e.NewValue IsNot Nothing Then For Each fdr As DataRow In DataTables("税票登记").Select("票据类别 = \'" & dr("票据类别") & "\' And 税票状态 Is Null") If dr("税票号码").Contains(fdr("税票号码")) Then fdr("税票状态") = "已开票" fdr("开票日期") = dr("开票日期") fdr("合同编号") = dr("合同编号") fdr("项目名称") = dr("项目名称") End If Next Else Dim arys() As String = dr("税票号码").Split(",") If arys.Length > 1 Then For Each ary As String In arys Dim fdr As DataRow = DataTables("税票登记").Find("税票号码 = \'" & ary & "\'") If fdr IsNot Nothing Then fdr("税票状态") = Nothing fdr("开票日期") = Nothing fdr("合同编号") = Nothing fdr("项目名称") = Nothing End If Next Else Return End If End If
|
||||
-- 作者:有点蓝 -- 发布时间:2018/8/19 21:07:00 -- …… Else For Each fdr As DataRow In DataTables("税票登记").Select("税票号码 in ( \'" & e.OldValue .replace(",","\',\'") & "\')") fdr("税票状态") = Nothing fdr("开票日期") = Nothing fdr("合同编号") = Nothing fdr("项目名称") = Nothing Next End If [此贴子已经被作者于2018/8/19 21:19:26编辑过]
|
||||
-- 作者:ZJZK2018 -- 发布时间:2018/8/20 16:29:00 -- 老师:1、下拉框对应单元格的值显示,其他单元格已有的值不显示如何调整? 此主题相关图片如下:22202.png
第二个需求: 税票号码 25640001,25640002,25640003,当开票金额为253000时,对应的前二个税票金额各为100000,第三个为53000元,如何处理?谢谢 [此贴子已经被作者于2018/8/20 16:37:38编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2018/8/20 16:53:00 -- 下拉窗口,去掉afterload事件代码,DropDownOpened代码改为 Dim str As String = DataTables("开票明细").GetComboListString("税票号码","[_Identify] <> " & Tables("开票明细").Current("_Identify")) StatusBar.Message2 = str Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.BuildTree("税票登记","票据类别|类别代码|税票号码","税票号码 not in (\'" & str.Replace("|",",").Replace(",","\',\'") & "\') And (税票状态 Is Null or 税票号码 in (\'" & Tables("开票明细").Current("税票号码").Replace(",","\',\'") & "\'))") trv.ExpandAll() Dim s As String = e.Form.DropDownBox.Value Dim nms As new List(of String) If s > "" Then nms.AddRange(s.Split(",")) End If For Each nd As WinForm.TreeNode In trv.AllNodes nd.Checked = nms.Contains(nd.text) Next 第二个需求分配的规则是什么? |
||||
-- 作者:ZJZK2018 -- 发布时间:2018/8/20 16:58:00 -- 老师 因为小规模企业的税票开票每张发票的金额最大值为10万元,所以超过10万元就得开二张发票,如果超过20万,就得开三张发票。
|
||||
-- 作者:有点蓝 -- 发布时间:2018/8/20 17:09:00 -- Case "税票号码" If e.NewValue IsNot Nothing Then Dim m As Double = dr("金额明细_开票金额") For Each fdr As DataRow In DataTables("税票登记").Select("票据类别 = \'" & dr("票据类别") & "\' And 税票状态 Is Null") If dr("税票号码").Contains(fdr("税票号码")) Then fdr("税票状态") = "已开票" fdr("开票日期") = dr("开票日期") fdr("合同编号") = dr("合同编号") fdr("项目名称") = dr("项目名称") If m > 100000 Then fdr("开票金额") = 100000 m = m-100000 Else fdr("开票金额") = m End If End If Next Else For Each fdr As DataRow In DataTables("税票登记").Select("税票号码 in ( \'" & e.OldValue .replace(",","\',\'") & "\')") fdr("税票状态") = Nothing fdr("开票日期") = Nothing fdr("合同编号") = Nothing fdr("项目名称") = Nothing Next End If
|
||||
-- 作者:ZJZK2018 -- 发布时间:2018/8/20 17:52:00 -- 老师十分感谢,基本满足要求,现在有个小问题: 在修改已选择几个税票号码时,没有同时对“税票登记”表进行调整,如何处理?谢谢 |
||||
-- 作者:有点蓝 -- 发布时间:2018/8/20 20:12:00 -- Case "税票号码" If e.NewValue IsNot Nothing Then Dim m As Double = dr("金额明细_开票金额") For Each fdr As DataRow In DataTables("税票登记").Select("税票号码 in ( \'" & e.OldValue.replace(",","\',\'") & "\')") fdr("税票状态") = Nothing fdr("开票日期") = Nothing fdr("合同编号") = Nothing fdr("项目名称") = Nothing fdr("开票金额") = Nothing Next For Each fdr As DataRow In DataTables("税票登记").Select("税票号码 in ( \'" & e.NewValue.replace(",","\',\'") & "\')") \'If dr("税票号码").Contains(fdr("税票号码")) Then fdr("税票状态") = "已开票" fdr("开票日期") = dr("开票日期") fdr("合同编号") = dr("合同编号") fdr("项目名称") = dr("项目名称") If m > 100000 Then fdr("开票金额") = 100000 m = m - 100000 Else fdr("开票金额") = m End If \'End If Next Else For Each fdr As DataRow In DataTables("税票登记").Select("税票号码 in ( \'" & e.OldValue.replace(",","\',\'") & "\')") fdr("税票状态") = Nothing fdr("开票日期") = Nothing fdr("合同编号") = Nothing fdr("项目名称") = Nothing fdr("开票金额") = Nothing Next dr("票据类别") = Nothing End If |
||||
-- 作者:ZJZK2018 -- 发布时间:2018/8/20 20:57:00 -- 老师还是不对 .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2018.7.23.1 错误所在事件:表,开票明细,DataColChanged 详细错误信息: 调用的目标发生了异常。 未设置对象变量或 With 块变量。 |
||||
-- 作者:有点蓝 -- 发布时间:2018/8/20 21:04:00 -- 我测试没有问题。请确认抄对了代码! |