Foxtable(狐表)用户栏目专家坐堂 → 用按钮输入相应内容


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

主题:用按钮输入相应内容

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7903 威望:0 精华:0 注册:2016/6/11 11:10:00
用按钮输入相应内容  发帖心情 Post By:2016/9/29 22:37:00 [只看该作者]

实现功能:在表A中提取数据到表B中,如果表A里面的单元格为空,则不提取。用下面的代码是能够把表A里面的数据提取到表B中,但表B中第一列不知道该如何填上去。

先传代码:

DataTables("表B").DataRows.Clear '每次按按钮清除表B的内容
dim f As New Filler
f.SourceTable = DataTables("表A") '指定数据来源
f.SourceCols ="货架A_出库金额,货架A_出库数量" '指定数据来源列
f.DataTable = DataTables("表B") '指定数据接收表
f.Filter = Tables("表A").Filter & iif(Tables("表A").Filter > ""," and ","") & " 货架A_出库金额 is not null"
f.DataCols="金额,数量" '指定数据接收列
f.Fill() '填充数据

'【我的问题:如果" 货架A_出库金额 is not null" ,如何在表B的第一列第一行填上“货架A ”】
f.SourceTable = DataTables("表A") '指定数据来源
f.SourceCols ="货架B_出库金额,货架B_出库数量" '指定数据来源列
f.DataTable = DataTables("表B") '指定数据接收表
f.Filter = Tables("表A").Filter & iif(Tables("表A").Filter > ""," and ","") & " 货架B_出库金额 is not null"
f.DataCols="金额,数量" '指定数据接收列
f.Fill() '填充数据

'【我的问题:如果" 货架B_出库金额 is not null" ,如何在表B的第一列第二行填上“货架B ”】
f.SourceTable = DataTables("表A") '指定数据来源
f.SourceCols ="货架C_出库金额,货架C_出库数量" '指定数据来源列
f.DataTable = DataTables("表B") '指定数据接收表
f.Filter = Tables("表A").Filter & iif(Tables("表A").Filter > ""," and ","") & " 货架C_出库金额 is not null"
f.DataCols="金额,数量" '指定数据接收列
f.Fill() '填充数据

'【我的问题:如果" 货架C_出库金额 is not null" ,如何在表B的第一列第三行填上“货架C ”】

 

 表A内容和结构


此主题相关图片如下:gg01.jpg
按此在新窗口浏览图片

 

 

表B用代码得出的内容和结构

此主题相关图片如下:gg02.jpg
按此在新窗口浏览图片

 

 

表B想要的理想结果(主要是想增加紫色方框里面的内容)

 
此主题相关图片如下:gg03.jpg
按此在新窗口浏览图片

 

 

不想用表头横向变竖向的方法,因为我要过滤掉表A中为空的单元格。麻烦老师能抽个时间帮帮忙,在此先谢过了,提前祝老师国庆节快乐!


[此贴子已经被作者于2016/9/29 22:41:33编辑过]

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7903 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2016/9/29 22:39:00 [只看该作者]

实例

 

 

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


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


加好友 发短信
等级:超级版主 帖子:109463 积分:556971 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/29 22:50:00 [只看该作者]

也就只能用横向变竖向的方法

Dim dr As Row
For Each r As Row In Tables("表A").Rows
    For i As Integer = 0 To Tables("表A").Cols.Count - 1 Step 2
        If r.IsNull(i) = False Then
            dr = Tables("表B").AddNew
            dr("货架") = Tables("表A").Cols(i).name.Split("_")(0)
            dr("金额") = r(i)
            dr("数量") = r(i+1)
        End If
    Next
Next

 回到顶部