以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 这样的自动输入怎么实现? (http://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
此主题相关图片如下:图1.png 此主题相关图片如下:图2.png |
||||
-- 作者:mamuaiqing -- 发布时间:2013/7/12 23:50:00 -- For i As Integer = v To 1 Step -1
原来代码改成这样即可 |
||||
-- 作者: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
|
||||
-- 作者: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
|
||||
-- 作者:mamuaiqing -- 发布时间:2013/7/13 17:25:00 -- 感谢 y2287958,代码可以实现 |