以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]提取变量,填入到关联行的指定列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=31077) |
||||
-- 作者:likui412282 -- 发布时间:2013/4/9 18:56:00 -- [求助]提取变量,填入到关联行的指定列 在“订单主表”的“窗口1”中实现如下功能 1、填入快递单号,“订单表主表”中“物流单号”列从第一行开始以次填入快递单号,以次增量为“增加值”的值。比如:“增加值”文本框里填入1,“快递单号”文本框里填入6678,那么,“订单主表”的“物流单号”列的第一行是6678,第二行是6679,第三行是6680以次类推。 同时,“订单表”中相关联的行(一行或者多行)的“物流单号”也同步填入相对应的物流单号(“编号”相同的列填入的“物流单号”是相同的)
2、在“订单主表”中填入“编号”时,“快递公司”列自动填入窗口中“快递公司”文本框里的值。“订单表”里关联行的对应“快递公司”列也同步填入相同的值。
3、增加一个按钮,点击按钮实现,把“快递公司”文本框、“快递单号”文本框和“增加值”文本框同时清空。
菜鸟入门希望各位前辈赐教
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/4/9 19:09:00 -- 1、大概这样:
Dim i As Integer = 100 ‘输入的起始值 Dim s As Integer = 1 \'输入的补偿 For Each r as row in Tables("父表.子表").Rows r("物流编号") = i i = i + 3 Next
2、设置订单主表的DataColChanged事件:
If Forms("窗口名").Opened Then If e.DataCol.Nsame = "编号" Then e.DataRow("快递公司") = Forms("窗口名").Controls("控件名").Value End If
3、 e.Form.Controls("控件名1").Value = Nothing e.Form.Controls("控件名3").Value = Nothing
先参照着做,有问题再说。
|
||||
-- 作者:likui412282 -- 发布时间:2013/4/9 21:31:00 -- 1中I+3中的3应该是s吧,这个代码应该放哪里。第一个代码有点摸不着头脑,起始值和补偿值都是来自窗口的控件的,你这里没有体现出来呀。第一个代码给做具体点吧。
2、如果“编号”列为空时,“快递公司”列也要为空,这个怎么实现? [此贴子已经被作者于2013-4-10 10:25:07编辑过]
|
||||
-- 作者:likui412282 -- 发布时间:2013/4/13 9:33:00 -- 大侠们,帮忙看一下呀 |
||||
-- 作者:likui412282 -- 发布时间:2013/4/13 9:46:00 -- 顶起来 |
||||
-- 作者:XYT -- 发布时间:2013/4/13 9:58:00 -- 1.你做个按钮使用就好了。 2.加个判断 |
||||
-- 作者:likui412282 -- 发布时间:2013/4/14 9:51:00 -- 1,是实时同步的(文本框里没改变一个字符,对应行的关联值都同时改变),按钮实现不了的,我把他放到文本框事件的“textchanged”里面,但是,这个代码好像有问题,不能实时录入
2、已经解决了 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/4/14 10:04:00 -- 你要输入两个值,没有必要社会设置在文本框的TextChanged事件中,设置在某个按钮中:
Dim i As Integer = 100 ‘输入的起始值 Dim s As Integer = 1 \'输入的补偿 For Each r as row in Tables("父表.子表").Rows r("物流编号") = i i = i + s Next
或者设置在第二个文本框的Leave事件中 |
||||
-- 作者:likui412282 -- 发布时间:2013/4/14 10:59:00 -- 是两个值,其实第二个值很少改变的,我想要的效果是,无论是第一个文本框,还是第二个文本框,只要输入数学,无论输入焦点是否离开,相对应的列的值都能实时改变 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/4/14 11:03:00 -- 大概这样:
Dim txt1 As String = e.Form.Controls("xxx1").Text
|