以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 模拟关联表的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95603) |
||||
-- 作者:feixianzhi -- 发布时间:2017/1/25 9:54:00 -- 模拟关联表的问题 我按照帮助做了一个模拟关联表,但出现如下错误提示: .NET Framework 版本:2.0.50727.3649 Foxtable 版本:2016.7.29.1 错误所在事件: 详细错误信息: 未找到列 [盐酸贝那普利片]。 请问各位老师,是怎么回事。
|
||||
-- 作者:有点蓝 -- 发布时间:2017/1/25 9:55:00 -- 提示很明显了,没有[盐酸贝那普利片]这列 具体代码贴上来看看
|
||||
-- 作者:feixianzhi -- 发布时间:2017/1/25 10:08:00 -- 一、窗口的AfterLoad事件代码 Dim t As Table = Tables("关联表_Table批发表1") With Tables("返利合同") If .Current Is Nothing Then t.Filter = "False" Else t.Filter = "商品名称 = " & .Current("商品名称") End If End With t.OpenView("default") 二、返利合同表的CurrentChanged事件代码 If Forms("关联表").Opened() \'一定要判断用于模拟关联表的窗口是否已经打开 Dim t As Table = Tables("关联表_Table批发表1") With Tables("返利合同") If .Current Is Nothing Then t.Filter = "False" Else t.Filter = "商品名称 = " & .Current("商品名称") End If End With End If 三、批发表1 DataRowAdding事件 If CurrentTable.Name = "关联表_Table批发表1" Then \'如果当前表是模拟的关联表 Dim r As Row = Tables("返利合同").Current If r IsNot Nothing Then e.DataRow("商品名称") = r("商品名称") End If End If 麻烦有点蓝老师看一下,我的哪个代码错了。 |
||||
-- 作者:有点蓝 -- 发布时间:2017/1/25 10:18:00 -- t.Filter = "商品名称 = \'" & .Current("商品名称") & "\'" |
||||
-- 作者:feixianzhi -- 发布时间:2017/1/25 10:38:00 -- 谢谢有点蓝老师,以上问题解决了。 还有个问题,我想按不同条件关联,如下图:
当选商品名称时,按商品名称关联; 当选商品名称和供应商名称时,按商品名称和供应商名称关联;当三个都选的时候,按三个条件关联。但我可能关联几个表,有的表里没有客户名称列。代码怎么改,请有点蓝老师帮忙。 |
||||
-- 作者:feixianzhi -- 发布时间:2017/1/25 10:58:00 -- 请有点蓝老师帮忙呀,谢谢。 |
||||
-- 作者:有点蓝 -- 发布时间:2017/1/25 11:39:00 -- 试试 If Forms("关联表").Opened() \'一定要判断用于模拟关联表的窗口是否已经打开 Dim cls() As String = {"商品名称","供应商名称","客户名称"} \' 假设checkbox控件名称和标题一样 Dim t As Table = Tables("关联表_Table批发表1") With Tables("返利合同") If .Current Is Nothing Then t.Filter = "False" Else Dim filter As String = "1=1" For Each c As String In cls If Forms("关联表").Controls(c).Checked And t.Cols.Contains(c) And .Cols.Contains(c) Then filter &= c & "=\'" & .Current(c) & "\'" End If Next If filter = "1=1" Then filter = "False" t.Filter = filter End If End With End If [此贴子已经被作者于2017/1/25 11:39:50编辑过]
|
||||
-- 作者:feixianzhi -- 发布时间:2017/1/25 14:22:00 -- .NET Framework 版本:2.0.50727.3649 Foxtable 版本:2016.7.29.1 错误所在事件: 详细错误信息: 语法错误:“商品名称”运算符后缺少操作数。 有点蓝老师,运行上面代码,出现如上错误提示,麻烦看哪有问题。
|
||||
-- 作者:有点蓝 -- 发布时间:2017/1/25 14:34:00 -- 不要完全照搬代码,看懂理解,改为符合自己的。看不懂就上传例子 |
||||
-- 作者:feixianzhi -- 发布时间:2017/1/25 15:09:00 --
麻烦有点蓝老师。 |