以文本方式查看主题

-  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=56675)

--  作者:zhuzhi
--  发布时间:2014/9/10 16:54:00
--  [求助]如何在语句中加入灵活地筛选条件
请教各位老师,我有一个疑惑。第一个是以下代码:
For Each pr As DataRow In DataTables("调整").DataRows
    For Each sr As DataRow In pr.GetChildRows("总库")
        sr("部门") = pr("调后部门")
        sr("工种") = pr("调后工种")
        sr("分厂") = pr("调后分厂")
    Next
Next
我是将职工的变化情况,和职工总名单关联,然后让变化情况表的数据内容,改变职工总名单里对应的数据内容。但是这里有个问题,那就是一个职工往往会变化多次。我的目标是,保证职工总库的数据和职工的真实情况完全对应,同时职工变化情况表能清晰地显示出职工在时间内的变化情况。
如果先按变化发生的时间顺序,对职工变化情况进行调整,使得这张表只保留职工最新的变化情况,然后再用上面的代码获得数据,那么就不能清晰职工的变化情况,那么,能不能在上面这段代码中加入一个筛选条件,让它只执行最近一段时间添加的数据呢?
说得很乱,因为我十分外行,急求老师指点!非常感谢!

--  作者:有点甜
--  发布时间:2014/9/10 16:58:00
--  

 是不是这个意思?

 

http://www.foxtable.com/help/topics/2490.htm

 


--  作者:zhuzhi
--  发布时间:2014/9/10 17:15:00
--  
感觉就是:“ 3、在产品表更改某产品的产品编号、产品名称或产品规格后,库存表也能同步修改。”
但是帮助代码的原理是怎样呢?如果我不想让表自动变化,而是通过按钮或其他控件实现,那么该怎么做呢?

--  作者:zhuzhi
--  发布时间:2014/9/10 17:19:00
--  
还有就是,我不需要 1、在产品表增加一个产品,库存表对应也增加此产品。
2、在产品表删除一个产品,库存表对应也删除此产品。
帮助代码里是哪条语句实现上面的内容呢?
十分感谢!!

--  作者:有点甜
--  发布时间:2014/9/10 17:26:00
--  

 你的例子发上来,不清楚你的调整表的结构。


--  作者:zhuzhi
--  发布时间:2014/9/10 17:51:00
--  
老师,这个例子可以吗?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:联动数据.table

我是想,或者是我点击按钮后,只联动 改变我这次增加的数据,或者我在文本框里填写序号,联动改变从文本框1到文本框2的数据。

--  作者:zhuzhi
--  发布时间:2014/9/10 18:07:00
--  
以下是引用有点甜在2014-9-10 16:58:00的发言:

 是不是这个意思?

 

http://www.foxtable.com/help/topics/2490.htm

 老师,不好意思,刚才说错了,我要实现的是,在调整表增加1条记录,自动在总库表修改该记录对应的字段,而且,只修改本次增加的记录或者指定的某条记录。这个应该怎么做呢?


--  作者:有点甜
--  发布时间:2014/9/10 18:19:00
--  
     
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:联动数据.table


--  作者:zhuzhi
--  发布时间:2014/9/11 9:00:00
--  
老师,谢谢!我在调整表增加数据后,显示这个

图片点击可在新窗口打开查看此主题相关图片如下:20140911085805.jpg
图片点击可在新窗口打开查看
请问应该怎么解决呢?谢谢!

--  作者:有点甜
--  发布时间:2014/9/11 9:05:00
--  

 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
    Case "调后部门"
        Dim dr As DataRow = DataTables("总库").Find("工号 = \'" & e.DataRow("工号") & "\'")
        If dr IsNot Nothing Then
            dr("部门") = e.DataRow("调后部门")
        End If
End Select