Foxtable(狐表)用户栏目专家坐堂 → 填充数据时有相同的不填充


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

主题:填充数据时有相同的不填充

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
填充数据时有相同的不填充  发帖心情 Post By:2023/1/18 11:22:00 [只看该作者]

Dim f As New Filler
f.SourceTable = DataTables("初始库存明细") '指定数据来源
f.SourceCols = "仓库名称,品名,材质,规格,产地,长度,库存数量,库存重量,车船号,货位号,计量方式,机构,部门,日期" '指定数据来源列
f.DataTable = DataTables("现货库存明细") '指定数据接收表
f.DataCols = "仓库名称,品名,材质,规格,产地,长度,库存数量,库存重量,车船号,货位号,入库计量方式,机构,部门,进货日期" '指定数据接收列
f.Fill() '填充数据

填充数据时现货库存明细里有 品名,材质,规格,产地,长度,库存数量,库存重量,车船号,货位号有和初始库存明细相同的值就不填充,请问要怎么改代码
[此贴子已经被作者于2023/1/18 11:23:23编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107847 积分:548592 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/18 11:27:00 [只看该作者]

换种方式填充:http://www.foxtable.com/webhelp/topics/1533.htm
先使用find查询一下,有相同数据的就不填充

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim 
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each 
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim 
dr2 As DataRow = DataTables("表B").find("
接收列一='" & dr1("来源列一") & "' and 接收列='" & dr1("来源列") & "'")
if dr2 isnothing then
dr2 = DataTables("表B").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
end if
Next


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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2023/1/18 13:51:00 [只看该作者]

Dim Cols1() As String = {"仓库名称,品名,材质,规格,产地,长度,库存数量,库存重量,车船号,货位号,计量方式,机构,部门,日期"}
Dim Cols2() As String = {"仓库名称,品名,材质,规格,产地,长度,库存数量,库存重量,车船号,货位号,入库计量方式,机构,部门,进货日期"}
For Each dr1 As DataRow In DataTables("初始库存明细").Select("")
    Dim dr2 As DataRow = DataTables("现货库存明细").find("品名='" & dr1("品名") & "' and 材质='" & dr1("材质") & "'and 规格='" & dr1("规格") & "' and 产地='" & dr1("产地") & "' and 库存数量='" & dr1("库存数量") & "' and 库存重量='" & dr1("库存重量") & "' and 车船号='" & dr1("车船号") & "' and 货位号='" & dr1("货位号") & "' and 入库计量方式='" & dr1("计量方式") & "' and 机构='" & dr1("机构") & "' and 部门='" & dr1("部门") & "' and 进货日期='" & dr1("日期"))
    If dr2 Is Nothing Then
        dr2 = DataTables("现货库存明细").AddNew()
        For i As Integer = 0 To Cols1.Length - 1
            dr2(Cols2(i)) = dr1(Cols1(i))
        Next
    End If
Next


.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.1.1
错误所在事件:窗口,初始库存明细,Button1,Click
详细错误信息:
表达式包含无效的字符串常量: '2020-11-11。

是不是日期复制出错?日期时间型
[此贴子已经被作者于2023/1/18 13:51:41编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107847 积分:548592 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/18 14:00:00 [只看该作者]


 and 进货日期=#" & dr1("日期") & “#”)

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2023/1/18 14:18:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.1.1
错误所在事件:窗口,初始库存明细,Button1,Click
详细错误信息:
列“仓库名称,品名,材质,规格,产地,长度,库存数量,库存重量,车船号,货位号,计量方式,机构,部门,日期”不属于表 初始库存明细。

数据复制不了现货库存明细增加空行

Dim Cols1() As String = {"仓库名称,品名,材质,规格,产地,长度,库存数量,库存重量,车船号,货位号,计量方式,机构,部门,日期"}
Dim Cols2() As String = {"仓库名称,品名,材质,规格,产地,长度,库存数量,库存重量,车船号,货位号,入库计量方式,机构,部门,进货日期"}
For Each dr1 As DataRow In DataTables("初始库存明细").Select("")
    Dim dr2 As DataRow = DataTables("现货库存明细").find("品名='" & dr1("品名") & "' and 材质='" & dr1("材质") & "'and 规格='" & dr1("规格") & "' and 产地='" & dr1("产地") & "' and 库存数量='" & dr1("库存数量") & "' and 库存重量='" & dr1("库存重量") & "' and 车船号='" & dr1("车船号") & "' and 货位号='" & dr1("货位号") & "' and 入库计量方式='" & dr1("计量方式") & "' and 机构='" & dr1("机构") & "' and 部门='" & dr1("部门") & "' and 进货日期=#" & dr1("日期") & "#")
    If dr2 Is Nothing Then
        dr2 = DataTables("现货库存明细").AddNew()
        For i As Integer = 0 To Cols1.Length - 1
            dr2(Cols2(i)) = dr1(Cols1(i))
        Next
    End If
Next
[此贴子已经被作者于2023/1/18 14:18:27编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107847 积分:548592 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/18 14:29:00 [只看该作者]


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

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2023/1/18 14:30:00 [只看该作者]

Dim dr2 As DataRow = DataTables("现货库存明细").find("品名='" & dr1("品名") & "' and 材质='" & dr1("材质") & "'and 规格='" & dr1("规格") & "' and 产地='" & dr1("产地") & "' and 库存数量=" & dr1("库存数量") & " and 库存重量=" & dr1("库存重量") & " and 车船号='" & dr1("车船号") & "' and 货位号='" & dr1("货位号") & "' and 入库计量方式='" & dr1("计量方式") & "' and 机构='" & dr1("机构") & "' and 部门='" & dr1("部门") & "' and 进货日期=#" & dr1("日期") & "#")

如果是数值,则不需要括起来,直接使用即可,数值写法对吧?


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107847 积分:548592 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/18 14:32:00 [只看该作者]

对的

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2023/1/18 14:56:00 [只看该作者]

Dim Cols1() As String = {"仓库名称", "品名", "材质", "规格", "产地", "长度", "库存数量", "库存重量", "车船号", "货位号", "计量方式", "机构", "部门", "日期"}
Dim Cols2() As String = {"仓库名称","品名","材质","规格","产地","长度","库存数量","库存重量","车船号","货位号","入库计量方式","机构","部门","进货日期"}
For Each dr1 As DataRow In DataTables("初始库存明细").Select("")
    Dim dr2 As DataRow = DataTables("现货库存明细").find("品名='" & dr1("品名") & "' and 材质='" & dr1("材质") & "'and 规格='" & dr1("规格") & "' and 产地='" & dr1("产地") & "' and 库存数量=" & dr1("库存数量") & " and 库存重量=" & dr1("库存重量") & " and 车船号='" & dr1("车船号") & "' and 货位号='" & dr1("货位号") & "' and 入库计量方式='" & dr1("计量方式") & "' and 机构='" & dr1("机构") & "' and 部门='" & dr1("部门") & "' and 进货日期=#" & dr1("日期") & "#")
    If dr2 Is Nothing Then
        dr2 = DataTables("现货库存明细").AddNew()
        For i As Integer = 0 To Cols1.Length - 1
            dr2(Cols2(i)) = dr1(Cols1(i))
        Next
    End If
Next

可以复制了,有缺点是在初始库存明细里有空行是会把空行也复制了,请问怎样禁止空行复制的代码

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107847 积分:548592 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/18 15:04:00 [只看该作者]

For Each dr1 As DataRow In DataTables("初始库存明细").Select("仓库名称 is not null")

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