Foxtable(狐表)用户栏目专家坐堂 → 用Table控件模拟关联表,我把产品编号设置字符列了,发现有些不能关联,该怎么改?(已自己搞定,哈哈~)


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

主题:用Table控件模拟关联表,我把产品编号设置字符列了,发现有些不能关联,该怎么改?(已自己搞定,哈哈~)

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


加好友 发短信
等级:二尾狐 帖子:584 积分:3816 威望:0 精华:0 注册:2012/10/15 20:39:00
用Table控件模拟关联表,我把产品编号设置字符列了,发现有些不能关联,该怎么改?(已自己搞定,哈哈~)  发帖心情 Post By:2014/3/13 23:30:00 [只看该作者]

用Table控件模拟关联表,我把产品编号设置字符列了,发现有些不能关联,该怎么改?

 

我的设置方法和帮助里面的一模一样。后来发现有些行不能关联。

后面对照了帮助好久,发现我把“产品编号”设置字符列了,帮助里面是数值列,别的没有什么改变。

虽然我现在的“产品编号”是数字,但是由于产生这些编号,我是采用时间分秒产生的,所以必须是字符列,现在该怎么改下面的代码呢?

让没有关联的行,关联起来?

 

 

4、窗口的AfterLoad事件设为:

Dim t As Table = Tables("窗口1_Table1")
With
Tables("产品")
    If
.Current Is Nothing Then
        t.Filter =
"False"
   
Else
        t.Filter =
"产品编号 = " & .Current("产品编号")
    End
IF
End
With

此段代码确保打开窗口后,Tables("窗口1_Table1")只显示当前选定产品的订单。

5、关闭窗口设计器,回到产品表,打开表属性设置窗口,将其CurrentChanged事件代码设为:

If Forms("窗口1").Opened() '一定要判断于模拟关联表的窗口是否已经打开
    Dim
t As Table = Tables("窗口1_Table1"
)
    With
Tables("产品"
)
        If
.Current Is Nothing
Then
            t.Filter =
"False"
       
Else
            t.Filter =
"产品编号 = " & .Current("产品编号")
        End
IF
   
End With
End
If

当我们在产品表选择不同的产品时,上述代码会判断窗口是否已经打开,如果已经打开,则更新Tables("窗口1_Table1")的Filter属性,使其显示新选定产品的订单。

[此贴子已经被作者于2014-3-14 0:25:28编辑过]

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


加好友 发短信
等级:二尾狐 帖子:584 积分:3816 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/3/14 0:07:00 [只看该作者]

我查了BIN老师的历史回复,字符列 需要添加单引号
t.Filter = "[bianhao_id] = '" & .Current("bianhao_id") & "'"
 
我把上面的代码
t.Filter = "产品编号 = " & .Current("产品编号")
改成了
t.Filter = "[产品编号] = '" & .Current("产品编号") & "'"
也不行啊,这是什么原因呢?

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


加好友 发短信
等级:二尾狐 帖子:584 积分:3816 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/3/14 0:21:00 [只看该作者]

哦,我又看了一下历史查询记录,才突然想起来,我使用的是外部数据源,是不是与这个有关系?那该如何更改代码呢?

外部数据源名称 "订单数据库"


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


加好友 发短信
等级:二尾狐 帖子:584 积分:3816 威望:0 精华:0 注册:2012/10/15 20:39:00
  发帖心情 Post By:2014/3/14 0:28:00 [只看该作者]

为了不让后学者走冤枉路,写出搞定方法:

t.Filter 改为 DataTables("***").LoadFilter  即可


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


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

楼主不错。

既会学,也会教。


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


加好友 发短信
等级:童狐 帖子:283 积分:2776 威望:0 精华:0 注册:2012/10/26 0:45:00
  发帖心情 Post By:2014/3/17 18:18:00 [只看该作者]




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


加好友 发短信
等级:童狐 帖子:283 积分:2776 威望:0 精华:0 注册:2012/10/26 0:45:00
  发帖心情 Post By:2014/3/17 18:18:00 [只看该作者]

我也在等待高手解决这个问题

 回到顶部