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


  共有4190人关注过本帖平板打印复制链接

主题:用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编辑过]

 回到顶部