以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现录入的时候 搜索出最近的价格,并自动填充  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13517)

--  作者:yacity
--  发布时间:2011/10/15 11:14:00
--  如何实现录入的时候 搜索出最近的价格,并自动填充

如图

 


图片点击可在新窗口打开查看此主题相关图片如下:172.jpg
图片点击可在新窗口打开查看

输入 “机型” 就自动搜索出 最近的 产品ID 和机型,找出最近相同的记录,就把价格填充到当前行。

 

比如 最后一条记录 输入 产品名称 鱼鳔袋 机型是 ,当输入到机型的时候 他就自动搜索 最近的制袋记录,产品ID=10,

机型=割。如果有就找出最近的价格 并填到当前行的价格。

 

注意 同样地产品ID 和机型,因为生产价格年年变动,所以是找出最近的价格。

如何实现呢?

项目 如下,密码888

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:儋州琼富塑料管理系统1.0.table

[此贴子已经被作者于2011-10-15 11:15:20编辑过]

--  作者:don
--  发布时间:2011/10/15 12:37:00
--  
不能永远输血,参考:Find
--  作者:yacity
--  发布时间:2011/10/26 9:47:00
--  

如上图所示

输入 “机型” 就自动搜索出最近产品ID 机型,找出最近相同的记录,就把价格填充到当前价格

 

同样的产品ID 和机型,因为生产价格年年变动,所以是找出最近的价格。

 

 

代码如下:

 

Case "jixing" \'发生变化的列

    Dim dr As DataRow
    Dim Filter As String
    Filter = "[chanpinid] = \'" & e.DataRow("chanpinid") & "\' And [jixing] = \'" & e.DataRow("jixing") & "\'"
    dr = DataTables("zhidai").Find(Filter,"shengchandate desc") \'

    If dr IsNot Nothing Then \'如果找到
        \'将找到的内容填入到正在输入的行中.
        e.DataRow("danjia") = dr("danjia")
        Else
        e.DataRow("danjia")=0      
End If

 

但是 如果输入新的日期,并且是最大日期 的时候 他就找不到记录(dr is nothing     E.datarow("danjia")=0 )

 

 如何解决呢?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:184.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-10-26 9:50:35编辑过]

--  作者:don
--  发布时间:2011/10/26 10:32:00
--  
................
Filter = "[chanpinid] = \'" & e.DataRow("chanpinid") & "\' And [jixing] = \'" & e.DataRow("jixing") & "\' and [danjia]> 0"
..............