Foxtable(狐表)用户栏目专家坐堂 → [求助]提取变量,填入到关联行的指定列


  共有7148人关注过本帖树形打印复制链接

主题:[求助]提取变量,填入到关联行的指定列

帅哥哟,离线,有人找我吗?
likui412282
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:447 威望:0 精华:0 注册:2013/3/25 12:18:00
[求助]提取变量,填入到关联行的指定列  发帖心情 Post By:2013/4/9 18:56:00 [只看该作者]

在“订单主表”的“窗口1”中实现如下功能

1、填入快递单号,“订单表主表”中“物流单号”列从第一行开始以次填入快递单号,以次增量为“增加值”的值。比如:“增加值”文本框里填入1,“快递单号”文本框里填入6678,那么,“订单主表”的“物流单号”列的第一行是6678,第二行是6679,第三行是6680以次类推。

同时,“订单表”中相关联的行(一行或者多行)的“物流单号”也同步填入相对应的物流单号(“编号”相同的列填入的“物流单号”是相同的)

 

2、在“订单主表”中填入“编号”时,“快递公司”列自动填入窗口中“快递公司”文本框里的值。“订单表”里关联行的对应“快递公司”列也同步填入相同的值。

 

3、增加一个按钮,点击按钮实现,把“快递公司”文本框、“快递单号”文本框和“增加值”文本框同时清空。

 

 

菜鸟入门希望各位前辈赐教

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:运单.table


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
End If

 

3、

e.Form.Controls("控件名1").Value = Nothing
e.Form.Controls("控件名2").Value = Nothing

e.Form.Controls("控件名3").Value = Nothing

 

先参照着做,有问题再说。

 


 回到顶部
帅哥哟,离线,有人找我吗?
likui412282
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:447 威望:0 精华:0 注册:2013/3/25 12:18:00
  发帖心情 Post By:2013/4/9 21:31:00 [只看该作者]

1中I+3中的3应该是s吧,这个代码应该放哪里。第一个代码有点摸不着头脑,起始值和补偿值都是来自窗口的控件的,你这里没有体现出来呀。第一个代码给做具体点吧。

 

2、如果“编号”列为空时,“快递公司”列也要为空,这个怎么实现? 

[此贴子已经被作者于2013-4-10 10:25:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
likui412282
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:447 威望:0 精华:0 注册:2013/3/25 12:18:00
  发帖心情 Post By:2013/4/13 9:33:00 [只看该作者]

大侠们,帮忙看一下呀

 回到顶部
帅哥哟,离线,有人找我吗?
likui412282
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:447 威望:0 精华:0 注册:2013/3/25 12:18:00
  发帖心情 Post By:2013/4/13 9:46:00 [只看该作者]

顶起来

 回到顶部
帅哥哟,离线,有人找我吗?
XYT
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1418 积分:7167 威望:0 精华:0 注册:2013/3/18 8:37:00
  发帖心情 Post By:2013/4/13 9:58:00 [只看该作者]

1.你做个按钮使用就好了。

2.加个判断


 回到顶部
帅哥哟,离线,有人找我吗?
likui412282
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:447 威望:0 精华:0 注册:2013/3/25 12:18:00
  发帖心情 Post By:2013/4/14 9:51:00 [只看该作者]

1,是实时同步的(文本框里没改变一个字符,对应行的关联值都同时改变),按钮实现不了的,我把他放到文本框事件的“textchanged”里面,但是,这个代码好像有问题,不能实时录入

 

2、已经解决了


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:50 积分:447 威望:0 精华:0 注册:2013/3/25 12:18:00
  发帖心情 Post By:2013/4/14 10:59:00 [只看该作者]

是两个值,其实第二个值很少改变的,我想要的效果是,无论是第一个文本框,还是第二个文本框,只要输入数学,无论输入焦点是否离开,相对应的列的值都能实时改变


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/14 11:03:00 [只看该作者]

大概这样:

 

Dim txt1  As String = e.Form.Controls("xxx1").Text
Dim txt2  As String = e.Form.Controls("xxx2").Text
If txt1 > "" AndAlso txt2 > "" Then
    Dim i As Integer = txt1
    Dim s As Integer = 1txt2
    For Each r As Row In Tables("父表.子表").Rows
        r("物流编号") = i
        i = i + s
    Next
End If

 

 


 回到顶部