以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不同表之间联动的技巧问题求助?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68135)

--  作者:zsslly
--  发布时间:2015/5/11 0:58:00
--  不同表之间联动的技巧问题求助?
不同表之间联动的技巧问题求助?
昨天发贴求大神指点,非常感谢“大红袍”老师的指点!晚上回到家按知识点进行了案例测试,出现了bug,上传案例,求解!
我的要求:1、二个表之间的选择同步;
              2、“客户信息表”进行增加或删除某行时,“信息备注表”同步!
              3、“客户信息表”进行筛选、交叉、统计、排除等结果查询时,“信息备注表”结果同步。

主要的问题还是在于二个表的“编号”列是“整数”列还是“字符列”,如果是字符列,则可以达到第一步及第二步要求,但删除行时会出错,系统出错强行退出;
                                                                                如果是整数列,刚不会出错,但达不到第一步及第二步的要求。求解?


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:超级关联表.table

第三个要求没有实现,跪求指点代码或知识点?
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150511005546.jpg
图片点击可在新窗口打开查看



--  作者:zsslly
--  发布时间:2015/5/11 1:00:00
--  
自已先顶一个!
--  作者:zsslly
--  发布时间:2015/5/11 1:06:00
--  
顶起!
--  作者:Bin
--  发布时间:2015/5/11 8:37:00
--  
1 , 2  什么类型都没关系  利用FIND找到对应行即可  http://www.foxtable.com/help/topics/0396.htm
http://www.foxtable.com/help/topics/0553.htm


3.是什么意思. 表A统计 表B也跟着统计?



--  作者:大红袍
--  发布时间:2015/5/11 9:10:00
--  

 第三点,是无法做到的。

 

 筛选、排序可以做,统计等等都不能做。


--  作者:zsslly
--  发布时间:2015/5/11 10:22:00
--  
谢bin老师指点,我消化下!
我的这两个表是对应的,“客户信息”表是记录客户的主要信息,而“信息备注表”是对客户的信息进行细化备注。它们合起来就是对一个客户的信息进行深度记录。

第三点的意思是:如上图,我对“客户信息表”中的所有设计师为张三的客户进行隐藏,则“信息备注表”同样对设计师是张三的客户进行隐藏;以及统计、交叉、筛选等操作。
求代码?

--  作者:zsslly
--  发布时间:2015/5/11 10:24:00
--  
如果只是 筛选、排序的话,代码应该怎么写,望指点?


--  作者:zsslly
--  发布时间:2015/5/11 10:26:00
--  
bin老师,您给的知识点我一时消化不了,我的所有代码如下:求指点错误?

项目事件

 

计划管理

 

表事件

 

信息备注表_CurrentChanged

 

If e.Table.Current Is Nothing Then \'如果Current为Nothing

    Return \'则返回

End If

Dim wz As Integer

Dim dr As DataRow

dr = DataTables("信息备注表").Find("[客户姓名] = \'" & e.Table.Current("客户姓名") & "\'")

If dr IsNot Nothing Then

    wz = Tables("信息备注表").FindRow(dr)

    If wz >= 0 Then

        Tables("客户信息").Position = wz

    End If

End If

 

客户信息_CurrentChanged

 

If e.Table.Current Is Nothing Then \'如果Current为Nothing

    Return \'则返回

End If

Dim wz As Integer

Dim dr As DataRow

dr = DataTables("客户信息").Find("[客户姓名] = \'" & e.Table.Current("客户姓名") & "\'")

If dr IsNot Nothing Then

    wz = Tables("客户信息").FindRow(dr)

    If wz >= 0 Then

        Tables("信息备注表").Position = wz

    End If

End If

 

客户信息_DataColChanged

 

Select Case e.DataCol.name

    Case "编号"

        Dim dr As DataRow = DataTables("信息备注表").Find("编号 = \'" & e.OldValue & "\'")

        If dr Is Nothing Then

            dr = DataTables("信息备注表").AddNew()

            dr("编号") = e.DataRow("编号")

            dr("客户姓名") = e.DataRow("客户姓名")

            dr("联系电话") = e.DataRow("联系电话")

        Else

            dr("编号") = e.DataRow("编号")

        End If

    Case "客户姓名","联系电话"

        Dim dr As DataRow = DataTables("信息备注表").Find("编号 = \'" & e.DataRow("编号") & "\'")

        If dr IsNot Nothing Then

            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)

        End If

End Select

 

客户信息_DataRowDeleting

 

Dim dr As DataRow = DataTables("信息备注表").Find("编号 = \'" & e.DataRow("编号") & "\'")

If dr IsNot Nothing Then

    dr.Delete()

End If

 

表A_CurrentChanged

 

If e.Table.Current Is Nothing Then \'如果Current为Nothing

    Return \'则返回

End If

Dim wz As Integer

Dim dr As DataRow

dr = DataTables("客户信息").Find("[客户姓名] = \'" & e.Table.Current("客户姓名") & "\'")

If dr IsNot Nothing Then

    wz = Tables("信息备注表").FindRow(dr)

    If wz >= 0 Then

        Tables("客户信息").Position = wz

    End If

End If

 

窗口表事件

 

窗口与控件事件

 

自定义函数

 

全局代码

 

菜单事件


--  作者:zsslly
--  发布时间:2015/5/11 11:05:00
--  
顶起!
--  作者:zsslly
--  发布时间:2015/5/11 11:19:00
--  
顶起,跪求指点!