以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 使用外部数据源如何在窗口表中建立关联表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119061) |
||||
-- 作者:SMXTB -- 发布时间:2018/5/17 7:50:00 -- 使用外部数据源如何在窗口表中建立关联表 以下代码能在窗口的两个表中加载表与明细表,但不能达到选定行后,筛选出对应的关联表: 窗口1的AfterLoaD代码为 Dim cmd As New SQLCommand cmd.C \'生成表 Dim i As Integer cmd.CommandText = "execute CX" Dim dst1 As Table = Tables("窗口1_Table1") dst1.DataSource = cmd.ExecuteReader() For i=1 To dst1.count Dim dr As Row = dst1.Rows(i-1) dr("序号") = "" & i Next \'生成明细表 Dim dst2 As Table = Tables("窗口1_Table2") If dst1.count>0 Then Dim dr1 As Row = dst1.Current \'获得选定行 Dim str As String = dr1("项目代码") cmd.CommandText = "execute Cxa \'" & str & "\'" End If dst2.DataSource = cmd.ExecuteReader() For i=1 To dst2.count Dim dr As Row = dst2.Rows(i-1) dr("序号") = "" & i Next 以上的步骤可以生成表与明细表 窗口1_Table1的CurrentChanged代码为: \'筛选出明细 Dim cmd As New SQLCommand cmd.C Dim dst1 As Table = Tables("窗口1_Table1") Dim dst2 As Table = Tables("窗口1_Table2") If dst1.count>0 Then Dim dr1 As Row = dst1.Current \'获得选定行 Dim str As String = dr1("项目代码") Else cmd.CommandText = "execute CXA " End If dst2.DataSource = cmd.ExecuteReader() Dim i As Integer For i=1 To dst2.count Dim dr As Row = dst2.Rows(i-1) dr("序号") = "" & i Next 提示的错误就是选定表中的记录,不能筛选出明细表,并提示序号不在Table2表中 |
||||
-- 作者:有点甜 -- 发布时间:2018/5/17 8:56:00 -- 1、选定后筛选为什么要执行sql语句?最开始的时候,你的数据没有全部加载出来?
2、提示table2没有需要,说明你表格就是没有序号。
3、筛选的代码,请参考
Dim t As Table = Tables("窗口1_Table2") |
||||
-- 作者:SMXTB -- 发布时间:2018/5/22 14:47:00 -- Dim t As Table = Tables("窗口1_Table2") With Tables("窗口1_Table1") If .Current Is Nothing Then t.Filter = "False" Else t.Filter = "项目代码 = \'" & .Current("项目代码") & "\'" End IF End With [此贴子已经被作者于2018/5/22 14:55:04编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/22 16:05:00 -- 提示没有对应的列,就是没有对应的列
你试试查看表结构,看真正的列名是什么 http://www.foxtable.com/webhelp/scr/0193.htm
|
||||
-- 作者:SMXTB -- 发布时间:2018/5/22 18:15:00 -- 明明有那一列,不然不会筛选成功的,只是提示出错,没有影响代码运行 |
||||
-- 作者:有点甜 -- 发布时间:2018/5/22 18:56:00 -- 以下是引用SMXTB在2018/5/22 18:15:00的发言:
明明有那一列,不然不会筛选成功的,只是提示出错,没有影响代码运行
把多余代码删除(可能影响的代码都屏蔽,逐步打开)
如果不会做,做个例子发上来测试。 |
||||
-- 作者:SMXTB -- 发布时间:2018/5/23 8:12:00 -- 好的,上传例子 打开项目后,点开窗口1,提示错误,但能实际运行,
不知代码何处有错? |
||||
-- 作者:有点甜 -- 发布时间:2018/5/23 9:10:00 -- 修改代码
Dim t As Table = Tables("窗口1_Table2") |