以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]根据内容自动记录单价  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61106)

--  作者:admissions
--  发布时间:2014/12/7 10:48:00
--  [求助]根据内容自动记录单价

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:天顺物流企业管理系统.table


要求:根据供销明细内记录的出库单位和入库单位内容,自动判断并填入单价(单价在运费设置表内设置)

请教老师代码如何设置


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

 参考例子 http://www.foxtable.com/help/topics/1459.htm

 


--  作者:admissions
--  发布时间:2014/12/7 10:57:00
--  

If e.DataCol.Name = "出库单位" Orelse e.DataCol.Name = "入库单位" Then
    Dim dr As DataRow
    Dim Filter As String
    Filter = "[出库单位] = \'" & e.DataRow("出库单位") & "\' And [入库单位] = \'" & e.DataRow("入库单位") & "\'"
    dr = DataTables("运费设置").Find(Filter) \'在运费设置表查找所输入出库单位入库单位的行
    If dr IsNot Nothing Then \'如果找到
        \'将找到行的单价内容填入到正在输入的行中
        e.DataRow("单价") = dr("单价")
    Else
        \'否则清除单价列的内容
        e.DataRow("单价") = Nothing
    End If
End If

<!--EndFragment-->
--  作者:有点甜
--  发布时间:2014/12/7 11:06:00
--  
 什么意思
--  作者:admissions
--  发布时间:2014/12/7 11:06:00
--  

 

1、在项目事件AfterOpenProject中设置如下代码:

\'从运费设置表提取出库单位列的内容, 作为供销明细出库单位列的列表项目
Tables("供销明细").Cols("出库单位").Combolist = DataTables("运费设置").GetComboListString("出库单位")

2、供销明细表的PrepareEdit事件中输入如下代码:

If e.IsFocusCell Then \'如果是焦点所在单元格
    If e.Col.Name = "入库单位" Then \'如果正在编辑的是入库单位
        \'从运费设置表提取该省 市的入库单位作为列表项目
        e.Col.Combolist = DataTables("运费设置").GetComboListString("入库单位""[出库单位] = \'" & e.Row("出库单位") & "\'"
    End If
End If

<!--EndFragment-->

<!--EndFragment-->
--  作者:admissions
--  发布时间:2014/12/7 11:07:00
--  

3、供销明细表的DataColChanged事件中输入如下代码:

\'如果刚刚输入的是出库单位入库单位
If e.DataCol.Name = "出库单位" Orelse e.DataCol.Name = "入库单位" Then
    Dim dr As DataRow
    Dim Filter As String
    Filter = "[出库单位] = \'" & e.DataRow("出库单位") & "\' And [入库单位] = \'" & e.DataRow("入库单位") & "\'"
    dr = DataTables("运费设置").Find(Filter) \'在运费设置表查找所输入出库单位入库单位的行
    If dr IsNot Nothing Then \'如果找到
        \'将找到行的单价和邮编内容填入到正在输入的行中
        e.DataRow("单价") = dr("单价")
        e.DataRow("邮编") = dr("邮编")
    Else
        \'否则清除单价和邮编两列的内容
        e.DataRow("单价") = Nothing
        e.DataRow("邮编") = Nothing
    End If
End If

<!--EndFragment-->
--  作者:有点甜
--  发布时间:2014/12/7 11:08:00
--  
 无法理解你什么意思,你去查运价表啊
--  作者:admissions
--  发布时间:2014/12/7 11:17:00
--  

Dim fdr As DataRow = DataTables("运费设置").Find("出库单位 = \'" & e.DataRow("出库单位") & "\' and 入库单位 = \'" & e.DataRow("入库单位") & "\' ")

    If fdr IsNot Nothing Then

        e.DataRow("单价") = fdr("运费设置")

    Else

        e.DataRow("单价") = Nothing

    End If

End If


--  作者:有点甜
--  发布时间:2014/12/7 11:21:00
--  
 你想说什么啊,去查运价表啊
--  作者:admissions
--  发布时间:2014/12/7 11:24:00
--  

有问题不知如何表述还真的挺麻烦的