Foxtable(狐表)用户栏目专家坐堂 → 明细表录入数据时能否一次选择多行并自动填充


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

主题:明细表录入数据时能否一次选择多行并自动填充

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
明细表录入数据时能否一次选择多行并自动填充  发帖心情 Post By:2012/3/8 17:56:00 [只看该作者]

请教各位老师,
在明细表录入数据时一次只能选择一行,这样效率较低。

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

如果要一次性选择多行,比如弹出一个复选组合框那样可以选取多个确定后自动填充到明细表要怎么办?
谢谢!


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/3/8 21:50:00 [只看该作者]

怎么没有人指点啊,是不是问题不清楚,其实就是想实现录入明细表的记录时可以一次选择多行然后自动填充进去。比如
在一张入库单的明细表中,可能进了10种产品,可以在弹出的选择框(或列表之类)中勾选出这10种产品一次全部添加进明细表中(明细表中的行会根据所选择的产品多少自动增加行),然后再来分别填写数量,单价等就可以,不要一次只能选择一种输入数量然后再选择第二种,那样重复操作太多次。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/3/8 21:59:00 [只看该作者]

建一个窗口,用复选组合框,在组合框中选择多值,再向指定表写入就行了。

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/3/9 8:26:00 [只看该作者]

谢谢CZY,但不懂得怎么样将选择的多个值逐行写入,而且若选择的值是原来明细表中已经存在的则不要再写入。
请邦忙写一下代码,再次感谢!

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



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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/3/9 8:43:00 [只看该作者]

Dim Str As String = e.Form.Controls("CheckedComboBox1").Value
Dim Multi As String = Str
Dim Values() As String
Values = Multi.split(",")
For Index As Integer = 0 To Values.Length - 1
    Dim r As Row = Tables("表名").AddNew
    r("列名")= Values(Index)
Next

 

  试试这个,分割符用 , 号.


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


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

呵呵,黑朱兄,Multi是多余的,怎样改一下比较:

 

Dim Str As String = e.Form.Controls("CheckedComboBox1").Value
Dim Values() As String
Values = Str.split(",")
For Index As Integer = 0 To Values.Length - 1
    Dim r As Row = Tables("表名").AddNew
     r("列名")= Values(Index)
Next


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/3/9 9:25:00 [只看该作者]

谢谢blackzhu,可以了,但还有一个问题,就是如果选取了原来明细表中已经有的产品编码,不要再增加进去。

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



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


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

大概如此:

 

Dim Str As String = e.Form.Controls("CheckedComboBox1").Value
Dim Values() As String
Values = Str.split(",")
For Index As Integer = 0 To Values.Length - 1

     dim h as boolean

      h =false

     for each r as row in Tables("表名").Rows

         if r("列名") = values(index)

            h = true

            exit for

         end if

     next

      if h = false then
           Dim r As Row = Tables("表名").AddNew
          r("列名")= Values(Index)

      end if
Next


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8527 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/3/9 11:51:00 [只看该作者]

谢谢狐狸爸爸&blackzhu,完全可以了。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/3/9 14:17:00 [只看该作者]

以下是引用狐狸爸爸在2012-3-9 9:25:00的发言:

呵呵,黑朱兄,Multi是多余的,怎样改一下比较:

 

Dim Str As String = e.Form.Controls("CheckedComboBox1").Value
Dim Values() As String
Values = Str.split(",")
For Index As Integer = 0 To Values.Length - 1
    Dim r As Row = Tables("表名").AddNew
     r("列名")= Values(Index)
Next

 

 

  老大,终归有那么一天,我写得代码你不会再提建议的. 继续努力.


 回到顶部
总数 11 1 2 下一页