以文本方式查看主题

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

--  作者:rophy0952
--  发布时间:2014/10/7 21:58:00
--  [求助]变更内容后,自动变更颜色!
如图,谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20141007215633.png
图片点击可在新窗口打开查看



--  作者:有点甜
--  发布时间:2014/10/7 22:08:00
--  

 加入一列,记录拷贝自哪一行,然后根据这个单元格的数据,查找比较,设置颜色。

 

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

 


--  作者:rophy0952
--  发布时间:2014/10/7 22:18:00
--  
如何记录拷贝自哪一行呢?
--  作者:有点甜
--  发布时间:2014/10/7 22:22:00
--  
 修改系统按钮,或者自己做一个按钮,在拷贝之前,记录当前行是哪一行,拷贝完成以后,给那一列赋值。
--  作者:rophy0952
--  发布时间:2014/10/8 21:35:00
--  
我在窗口有一个变更按钮,用来拷贝的,然后有个确定按钮用来赋值的,您所说的记录哪一行,对比后变颜色该如何写代码呢?附上例子,请指教!白天公司事儿多,所以只是晚上才有空写代码,添麻烦啦!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题.foxdb

--  作者:有点甜
--  发布时间:2014/10/8 22:06:00
--  

 

    

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题.foxdb


--  作者:rophy0952
--  发布时间:2014/10/8 22:35:00
--  
      谢谢回复,已明白您的思路,如果以客户订单号为ID进行记录的话,当一张订单(即一个客户订单号),有几个规格(几条记录)的话,可能就无法唯一。这样的话,就得要求我的订单明细表中的客户订单号进行改变。目前我的订单明细表是由订单主表赋值而来的,如果在我给明细表在赋值的时候,每新增一个规格就在主表客户订单号基础加上一个顺序号,比如主表的客户订单号为2345,明细表的客户订单号为2345-1,2345-2,2345-3.…… 可能就可以了。
      如果这样的话,如何在新增明细表行的时候,加顺序号呢?目前我是在窗口这样赋值的:
Dim sts() As  String  = {"客户代号","客户订单号","订货日期","交货日期"}
For Each st As String In sts
    If Tables("订单主表").Current.isnull(st) = True Then
        MessageBox.Show("请将带 \'* \'必填字段填写完整!","提醒")
        Return
    End If
Next

Dim r As Row = Tables("订单明细表").AddNew
For Each st As String In sts
    r(st) = Tables("订单主表").Current(st)
Next


另外,当明细表的“金额”列变化时,主表的“总金额”列,进行合计,目前我的代码是这样写的:

Tables("订单主表").Current("总金额") = DataTables("订单明细表").SQLCompute("sum(金额)","客户订单号 = \'" & Tables("订单主表").Current("客户订单号") & "\'and 作废 = false")

如果客户订单号要变化的话,这些代码该如何修改合适呢?谢谢

--  作者:rophy0952
--  发布时间:2014/10/8 22:40:00
--  
或者能不能以其它的号进行记录呢?后面有很多表,都与客户订单号有关,我担心改了这里之后,后面要改的东西太多了
--  作者:有点甜
--  发布时间:2014/10/8 22:43:00
--  

 顺序号这样添加

 

Dim sts() As  String  = {"客户代号","客户订单号","订货日期","交货日期"}
For Each st As String In sts
    If Tables("订单主表").Current.isnull(st) = True Then
        MessageBox.Show("请将带 \'* \'必填字段填写完整!","提醒")
        Return
    End If
Next

Dim count As Integer = DataTables("订单明细表").Compute("客户订单号 like \'" & Tables("订单主表").Current("客户订单号") & "-%\'")

Dim r As Row = Tables("订单明细表").AddNew
For Each st As String In sts
    r(st) = Tables("订单主表").Current(st)
Next

r("客户订单号") = Tables("订单主表").Current("客户订单号") & "-" & (count+1)


--  作者:有点甜
--  发布时间:2014/10/8 22:45:00
--  

计算金额,参考

 

Tables("订单主表").Current("总金额") = DataTables("订单明细表").SQLCompute("sum(金额)","客户订单号 like \'" & Tables("订单主表").Current("客户订单号") & "-%\' and 作废 = false")

[此贴子已经被作者于2014-10-8 22:44:44编辑过]