Foxtable(狐表)用户栏目专家坐堂 → [求助]模拟关联表问题


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

主题:[求助]模拟关联表问题

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
[求助]模拟关联表问题  发帖心情 Post By:2014/1/24 1:13:00 [只看该作者]

我从帮助文件中拷贝出来的代码做实验

打开窗口后一直显示未找到列 XXX

但是我压根就没有这个列,后来检查发现,XXX可能是我编号列内容的前缀,我编号列示字符型,不知道是不是跟这个有关系

这个是代码“

Dim t As Table = Tables("窗口1_Table2")
With Tables("main_table")
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.Filter = "[bianhao_id] = " & .Current("bianhao_id")
    End If
End With


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


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

字符列 需要添加单引号

t.Filter = "[bianhao_id] = '" & .Current("bianhao_id") & "'"

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2014/1/24 10:03:00 [只看该作者]

哎,怎么都把这事忘了,以后记住了,谢谢

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2014/1/24 11:57:00 [只看该作者]

还有一个问题,请教一下,

If CurrentTable.Name = "repair_Table3" Then '如果当前表是模拟的关联表
    Dim r1 As Row = Tables("main_table").Current
   If r1 IsNot Nothing Then
        e.DataRow("bianhao_id") = r1("bianhao_id")
    End  If
 End  If

 

我在repair_table增加行的时候,编号ID为空,同样我的编号ID都是字符型,帮忙看看,是不是跟这个有关系,我的理解是代码中引用的是列名称,应该不会跟这个有关系吧,高手指教,谢谢


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


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

你代码是写在哪里的? 你这是想实现什么? 你还是上个例子吧

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2014/1/24 13:17:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.rar

参照帮助文件“模拟关联表”操作的,这个例子是照搬帮助文件的,当我点击增加按钮时,按照帮助文件中描述,

If CurrentTable.Name = "窗口1_Table1" Then '如果当前表是模拟的关联表
   Dim r As Row = Tables("产品").Current
   If r IsNot Nothing Then
        e.DataRow("产品编号") = r("产品编号")
   End
If

End
If

表B增加行的同时会把表A的bianhao_id填写进去,但是我这个例子中怎么也弄不成


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


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

原因很简单,你使用的并不是副本表,所以表名是表A 而不是窗口1_Table1  你判断当前表是否为 窗口1_Table1 永远不会成立

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb



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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2014/1/24 14:14:00 [只看该作者]

我刚才在测试的时候也发现这个问题了,之前那样写可能是我的理解错了,总之非常感谢,为我解惑

 回到顶部