以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]逻辑打勾订单、订单明细自生成销售单、销售明细代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75793)

--  作者:ZHX88863808
--  发布时间:2015/10/15 8:45:00
--  [求助]逻辑打勾订单、订单明细自生成销售单、销售明细代码

订单、订单明细和销售单、销售明细互相关联,订单、销售单的编号各自自动生成编号,订单和订单明细分别有逻辑列“生成销售单”、“生成销售明细”,现在订单表的“生成销售单”逻辑列打勾后,在销售单里自动生成了销售单,但是,订单明细表的“生成销售明细”逻辑列打勾,按销售单生成关联销售明细表确无能力做到,还望前辈老师帮忙写一下代码,谢谢!现在把项目附上:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生成销售单和明细.table


--  作者:Hyphen
--  发布时间:2015/10/15 8:56:00
--  
在销售单增加一个字段“订单编号”,记录对应的销售订单。然后就可以关联取数据了
--  作者:大红袍
--  发布时间:2015/10/15 9:27:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生成销售单和明细.table


--  作者:ZHX88863808
--  发布时间:2015/10/15 9:53:00
--  

谢谢老师!这里我再请问一下老师,如果不用订单和订单明细表中的逻辑列打勾生成销售单和销售明细表,而是在订单窗口中用点击按扭,直接生成销售单和销售明细,那按扭代码如何写呢?请老师再帮忙一下,谢谢!


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

呃,一样,直接给订单表勾选一下即可。比如

 

Datatables("订单").Replace("逻辑列", true)


--  作者:ZHX88863808
--  发布时间:2015/10/15 10:11:00
--  
这里有一个情况:就是一个订单可以生成多个销售单,所以点击按扭可以多次点击,而用逻辑列打勾,如果要多次生成的话,需要多次退勾再打勾,所以用按扭的方法可能有时要方便一点,如果这样的话,那按扭的代码怎么写呢?谢谢!
--  作者:大红袍
--  发布时间:2015/10/15 10:24:00
--  

Dim pr As Row = Tables("销售订单").Current
Dim nma() As String = {"客户姓名","客户地址","客户电话"} \'A表数据来源列
Dim nmb() As String = {"客户姓名","客户地址","客户电话"} \'B表数据接收列
Dim dr As DataRow = DataTables("销售单").AddNew
For i As Integer = 0 To nma.Length - 1
    dr(nmb(i)) = pr(nma(i))
Next

For Each cdr As DataRow In DataTables("订单明细").Select("订单编号 = \'" & pr("订单编号") & "\'")
    Dim xnma() As String = {"客户姓名","客户地址","客户电话","商品名称","单价"} \'A表数据来源列
    Dim xnmb() As String = {"客户姓名","客户地址","客户电话","商品名称","单价"} \'B表数据接收列
    Dim xdr As DataRow = DataTables("销售明细").AddNew
    For i As Integer = 0 To nma.Length - 1
        xdr(xnmb(i)) = cdr(xnma(i))
    Next
   
    xdr("销售编号") = dr("销售编号")
    xdr("销售日期") = dr("销售日期")
Next


--  作者:ZHX88863808
--  发布时间:2015/10/15 10:32:00
--  
老师:其他都行,就是“商品名称”和“单价”没有生成,不知为什么,请再帮忙看一下,谢谢!
--  作者:大红袍
--  发布时间:2015/10/15 10:34:00
--  

Dim pr As Row = Tables("销售订单").Current
Dim nma() As String = {"客户姓名","客户地址","客户电话"} \'A表数据来源列
Dim nmb() As String = {"客户姓名","客户地址","客户电话"} \'B表数据接收列
Dim dr As DataRow = DataTables("销售单").AddNew
For i As Integer = 0 To nma.Length - 1
    dr(nmb(i)) = pr(nma(i))
Next

For Each cdr As DataRow In DataTables("订单明细").Select("订单编号 = \'" & pr("订单编号") & "\'")
    Dim xnma() As String = {"客户姓名","客户地址","客户电话","商品名称","单价"} \'A表数据来源列
    Dim xnmb() As String = {"客户姓名","客户地址","客户电话","商品名称","单价"} \'B表数据接收列
    Dim xdr As DataRow = DataTables("销售明细").AddNew
    For i As Integer = 0 To xnma.Length - 1
        xdr(xnmb(i)) = cdr(xnma(i))
    Next
   
    xdr("销售编号") = dr("销售编号")
    xdr("销售日期") = dr("销售日期")
Next
 

 


--  作者:ZHX88863808
--  发布时间:2015/10/15 10:44:00
--  
太好了,非常感谢老师!!!