以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 用于行筛选的表达式变量表述的有问题吗?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=142867)

--  作者:龙潭春早
--  发布时间:2019/11/7 18:33:00
--  [求助] 用于行筛选的表达式变量表述的有问题吗?
用 表A 的 列名,做成了 表B 的 第三列(暂定为 [表B列C])。
在 表A 点击单元格按钮,用 表A 的 e.Col.Name 和 表B 的 第三列单元格值相比较,
如果相符,则打开 Forms("窗口1"),并上传 表B 同一行的“参数N”。

在 表A 的 CellButtonClick 事件中,设置如下代码。
运行出错,说是包含未定义函数r()。
为什么呢? 怎么改呢?

e.Cancel = True \'取消 单元格 默认动作
For i As Integer = 0 To Tables("表B").Rows.Count - 1    
    Dim r As Row = Tables("表B").Rows(i)    
    If r(2) = e.Col.Name Then ’和 表A 的列名相比较
        Dim dr As DataRow = DataTables("表B").Find("[表B列C] = r(2) ")
        Vars("上传参数") = dr("参数N")        
        messageBox.show( Vars("参数N") )        
        Forms("窗口1").Open()
    End If    
Next

图片点击可在新窗口打开查看此主题相关图片如下:行筛选的表达式变量表述的有问题吗?.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2019/11/7 19:24:04编辑过]

--  作者:狐狸爸爸
--  发布时间:2019/11/7 20:11:00
--  
字符型的话:

Dim dr As DataRow = DataTables("表B").Find("[表B列C] = \'" & r(2) & "\'")

数值的话:

Dim dr As DataRow = DataTables("表B").Find("[表B列C] = " & r(2))

已经是老用户了,还写出这样的代码不应该,合同表达式开发系统必要的基本功能,参考:

--  作者:龙潭春早
--  发布时间:2019/11/7 20:33:00
--  
嗯 多谢大神!

之前一直在开发菜单和窗口,对表及其相关的一些内容确实相对的弱些。

最近的开发,涉及到的表及其相关的内容多些,所以尽快补上。

再次感谢大神!