以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教~关联表问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45557) |
||||
-- 作者:happly145 -- 发布时间:2014/2/2 23:40:00 -- 请教~关联表问题 内部数据 1、表A 和 表B 关联相关的列,存在未相关列。 2、操作表A,按增加一行按钮后,输入相关数值,如果每列都输数值。增加表B一行后 的将发生错误。 不知道什么原因,请老师讲解·
|
||||
-- 作者:y2287958 -- 发布时间:2014/2/3 8:12:00 -- 上个例子吧 实在难以揣测
|
||||
-- 作者:happly145 -- 发布时间:2014/2/3 11:50:00 -- 第一个是父表,有单独的增加行按钮 [此贴子已经被作者于2014-2-3 11:50:52编辑过]
|
||||
-- 作者:happly145 -- 发布时间:2014/2/6 21:58:00 -- ?有人知道怎么回事吗? |
||||
-- 作者:Bin -- 发布时间:2014/2/7 8:32:00 -- 把文件例子发上来吧. |
||||
-- 作者:happly145 -- 发布时间:2014/2/9 18:08:00 -- 我上传了个例子,当在主表中新增一行时,如果全部信息填写完,再新增子表的信息时,返回后面的内部数据就会出错。
|
||||
-- 作者:lsy -- 发布时间:2014/2/9 18:57:00 -- 返回后面的内部数据? 不知道什么意思。 |
||||
-- 作者:有点甜 -- 发布时间:2014/2/9 19:09:00 -- 测试了一下,你的例子,如何操作,会出现你所说的错误? |
||||
-- 作者:happly145 -- 发布时间:2014/2/9 22:01:00 -- 1)进入窗口管理,设置窗口,文件预览,点右键在主表中增加一行,填写完主表所有内容后,再子表(下面的表)中增加行,关闭窗口后,点击文件退出。 |
||||
-- 作者:有点甜 -- 发布时间:2014/2/9 22:11:00 -- 修改表datacolchanged事件的代码如下 If e.DataCol.Name.StartsWith("工序") Then Dim filter As String = "产品名称 = \'" & e.DataRow("产品名称") & "\'" Dim fdr As DataRow = DataTables("产品信息").Find(filter) If fdr IsNot Nothing Then Dim sum As Double = e.DataTable.Compute("sum(数量)", filter & " and 单号 = \'" & e.DataRow("单号") & "\' and " & e.DataCol.Name & " = \'" & e.NewValue & "\'") sum = sum * fdr(e.DataCol.Name) Dim fdr2 As DataRow = DataTables("工时统计").Find(filter & " and 单号 = \'" & e.DataRow("单号") & "\'") If fdr2 Is Nothing Then fdr2 = DataTables("工时统计").AddNew fdr2("产品名称") = e.DataRow("产品名称") fdr2("日期") = e.DataRow("日期") fdr2("单号") = e.DataRow("单号") End If If DataTables("工时统计").DataCols.Contains(e.NewValue) Then fdr2(e.NewValue) = sum End If If e.OldValue IsNot Nothing AndAlso DataTables("工时统计").DataCols.Contains(e.OldValue) Then fdr2(e.OldValue) = fdr(e.DataCol.Name) * e.DataTable.Compute("sum(数量)", filter & " and 单号 = \'" & e.DataRow("单号") & "\' and " & e.DataCol.Name & " = \'" & e.OldValue & "\'") End If Else msgbox("没有找到【产品信息】对应的数据!") End If End If |