以文本方式查看主题

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

--  作者:mamuaiqing
--  发布时间:2013/7/12 22:10:00
--  这样的自动输入怎么实现?

上图,上项目先,项目中表A为资料表,表B为输入表,表A中的内容如图1那样, 长度列的内容 50  10  20 70 代码在这个长度以上的单价,10以上的长度单价为20,达到20以上的

 

长度单价为50,以此类推,想实现在表B长度列中输入 11 后 就从表A中找出符合 11 的单价输入到 单价列 中  ,比如 11长度在表A中的单价为20  ,25长度在表A中的单价为

 

50,

 

If e.DataCol.Name = "长度" Then

    If e.DataRow.IsNull("长度") Then 

        e.DataRow("单价") = Nothing 

    Else
        Dim dr As DataRow
        dr = DataTables("表A").Find("长度 = " & "\'" & e.DataRow("长度") & "\'" )   这里的代码要怎么改? 请教老师
        If dr IsNot Nothing \'如果找到, 则设置各列内容
            e.DataRow("单价") = dr("单价")
        End If
    End If
End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目23.zip


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

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

--  作者:mamuaiqing
--  发布时间:2013/7/12 23:50:00
--  

For i As Integer = v To 1 Step -1
            dr = DataTables("表A").Find("长度 = \'" & i & "\'" )
            If dr IsNot Nothing \'如果找到, 则设置各列内容
                e.DataRow("单价") = dr("单价")
                Exit For               
            End If
        Next   

 

原来代码改成这样即可


--  作者:ZHX241806
--  发布时间:2013/7/13 6:21:00
--  

试验了一下,未成功,出现:For i As Integer = v To 1 Step -1为错误代码,请问高手为什么?


--  作者:y2287958
--  发布时间:2013/7/13 7:56:00
--  
If e.DataCol.Name = "长度"
    For Each dr As DataRow In DataTables("表A").Select("长度>0","长度 DESC")
        If e.NewValue >= dr("长度")
            Dim dr1 As DataRow = DataTables("表A").Find("长度=" & dr("长度"))
            e.DataRow("单位") = dr1("单位")
            Exit For
        End If
    Next
End If
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:按值期间引用.zip


--  作者:mamuaiqing
--  发布时间:2013/7/13 17:23:00
--  
以下是引用ZHX241806在2013-7-13 6:21:00的发言:

试验了一下,未成功,出现:For i As Integer = v To 1 Step -1为错误代码,请问高手为什么?

Dim v As Integer = e.DataRow("长度")    因为少了这行,V的值

For i As Integer = v To 1 Step -1
            dr = DataTables("表A").Find("长度 = \'" & i & "\'" )
            If dr IsNot Nothing \'如果找到, 则设置各列内容
                e.DataRow("单价") = dr("单价")
                Exit For               
            End If
        Next   

 


--  作者:mamuaiqing
--  发布时间:2013/7/13 17:25:00
--  
   感谢 y2287958,代码可以实现