Foxtable(狐表)用户栏目专家坐堂 → 请教~关联表问题


  共有4258人关注过本帖树形打印复制链接

主题:请教~关联表问题

帅哥哟,离线,有人找我吗?
happly145
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:149 积分:1107 威望:0 精华:0 注册:2013/9/29 15:49:00
请教~关联表问题  发帖心情 Post By:2014/2/2 23:40:00 [只看该作者]

内部数据
1、表A 和 表B 关联相关的列,存在未相关列。
2、操作表A,按增加一行按钮后,输入相关数值,如果每列都输数值。增加表B一行后 的将发生错误。
不知道什么原因,请老师讲解·

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4646 积分:33880 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/2/3 8:12:00 [只看该作者]

上个例子吧
实在难以揣测

 回到顶部
帅哥哟,离线,有人找我吗?
happly145
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:149 积分:1107 威望:0 精华:0 注册:2013/9/29 15:49:00
  发帖心情 Post By:2014/2/3 11:50:00 [只看该作者]

第一个是父表,有单独的增加行按钮

图片点击可在新窗口打开查看此主题相关图片如下:5.jpg
图片点击可在新窗口打开查看
第二个是子表,有单独的增加行按钮

图片点击可在新窗口打开查看此主题相关图片如下:6.jpg
图片点击可在新窗口打开查看
关联表中前四列关联。
父表输入前四列后,如果不新增子表的行,
控制子表的内部数据将会发生错误,并且新增多个空白行。怎么回事呀~

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

[此贴子已经被作者于2014-2-3 11:50:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
happly145
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:149 积分:1107 威望:0 精华:0 注册:2013/9/29 15:49:00
  发帖心情 Post By:2014/2/6 21:58:00 [只看该作者]

?有人知道怎么回事吗?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/7 8:32:00 [只看该作者]

把文件例子发上来吧.

 回到顶部
帅哥哟,离线,有人找我吗?
happly145
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:149 积分:1107 威望:0 精华:0 注册:2013/9/29 15:49:00
  发帖心情 Post By:2014/2/9 18:08:00 [只看该作者]

我上传了个例子,当在主表中新增一行时,如果全部信息填写完,再新增子表的信息时,返回后面的内部数据就会出错。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/2/9 18:57:00 [只看该作者]

返回后面的内部数据?

不知道什么意思。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/9 19:09:00 [只看该作者]

 测试了一下,你的例子,如何操作,会出现你所说的错误?

 回到顶部
帅哥哟,离线,有人找我吗?
happly145
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:149 积分:1107 威望:0 精华:0 注册:2013/9/29 15:49:00
  发帖心情 Post By:2014/2/9 22:01:00 [只看该作者]

1)进入窗口管理,设置窗口,文件预览,点右键在主表中增加一行,填写完主表所有内容后,再子表(下面的表)中增加行,关闭窗口后,点击文件退出。
2)查看工时统计表,发现出现混乱的情况。
图片点击可在新窗口打开查看此主题相关图片如下:8888888888888.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 回到顶部
总数 13 1 2 下一页