Foxtable(狐表)用户栏目专家坐堂 → 假设录入了11,22,33三个序列号,那么入库单为“未领用”状态,那么如何实现这三个序列号,分成三条不同的记录呢?也就是生成三行数据呢?


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

主题:假设录入了11,22,33三个序列号,那么入库单为“未领用”状态,那么如何实现这三个序列号,分成三条不同的记录呢?也就是生成三行数据呢?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
假设录入了11,22,33三个序列号,那么入库单为“未领用”状态,那么如何实现这三个序列号,分成三条不同的记录呢?也就是生成三行数据呢?  发帖心情 Post By:2015/4/30 17:35:00 [只看该作者]


 

 

[此贴子已经被作者于2015/4/30 18:14:44编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
  发帖心情 Post By:2015/4/30 18:12:00 [只看该作者]

问题1:出库单中如何仅加载为“出库操作”的表数据,但是同时又不影响实时库存的计算!

 

问题2:由于出库会存在批量出库状况,那就是多个序列号被同时选择后,状态为领用状态,

假设选择了11,22,33三个序列号,该出库单为”已领用“状态,那么如何实现入库的时候11,22,33三个序列号的对应是否领用为“已领用”呢?

 

问题3:同样入库会存在同一型号产品,几个序列号批量录入,

假设录入了11,22,33三个序列号,那么入库单为“未领用”状态,那么如何实现这三个序列号,分成三条不同的记录呢?也就是生成三行数据。

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报价业务.foxdb

[此贴子已经被作者于2015/4/30 18:45:20编辑过]

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


加好友 发短信
等级:婴狐 帖子:88 积分:518 威望:0 精华:0 注册:2015/5/3 21:12:00
  发帖心情 Post By:2015/5/3 22:46:00 [只看该作者]

1、不行,不然就要改代码,参考 http://www.foxtable.com/help/topics/2926.htm

 

2、当序列号是有逗号形式的,比如 11,22,33 那就把它改成 '11','22','33' 也就是用代码 "'" & 序列号.Replace(",", "','") & "'"

 

Datatables("库存表").ReplaceFor(是否领取, "已领取", "序列号 in ('" & "'" & 序列号.Replace(",", "','") & "') and 操作类型 = '入库操作'")

 

3、用逗号分隔字符串

 

For Each s As String in 序列号.Split(",")

    '增加行

Next


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍01)1、不行,不然就要改代码,参考 ht...  发帖心情 Post By:2015/5/4 10:16:00 [只看该作者]

谢谢你

 

但是问题3运行后效果不是预想中的 求继续指导

 

方框打钩部分希望是全部一样的 1,2,3,4,5希望这行不显示 红色标注的1 2 3 4 5 应当显示出来

 

代码:

Select Case e.DataCol.Name
    Case "序列号"
        Dim Multi As String = "" & e.DataRow("序列号") & ""
        For Each s As String In Multi.Split(",")
            Tables("入库单_table1").AddNew()
        Next
End Select

 


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

 

 

问题2 这个代码放在变动咧事件里么?

[此贴子已经被作者于2015/5/4 10:15:52编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/4 10:18:00 [只看该作者]

For Each s As String in 序列号.Split(",")

    '增加行

Next


如果用这个代码,肯定是分开多行的,你是要分开多行还是要不分开?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/4 10:21:00 [只看该作者]

3、

 

Select Case e.DataCol.Name
    Case "序列号"
        If e.NewValue IsNot Nothing Then
            SystemReady = False
            Dim Multi As String = e.DataRow("序列号")
            Dim ary() As String = Multi.Split(",")
            e.DataRow("序列号") = ary(0)
            For i As Integer = 1 To ary.Length - 1
                Dim nr As Row = Tables("入库单_table1").AddNew()
                nr("序列号") = ary(i)
            Next
           
            SystemReady = True
        End If
End Select


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/4 10:21:00 [只看该作者]

2、放在Datacolchanged事件,或者保存按钮里面。

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)3、 Select Case e.DataCol...  发帖心情 Post By:2015/5/4 10:27:00 [只看该作者]

序列号列正常了 但是其他公共数据还是空白 该怎么赋值为第一个对应的值呢?也就是说1 2 3 4 5 序列号不同 但是其他数据值是相同的


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/4 10:29:00 [只看该作者]

以下是引用李孝春在2015/5/4 10:27:00的发言:

序列号列正常了 但是其他公共数据还是空白 该怎么赋值为第一个对应的值呢?也就是说1 2 3 4 5 序列号不同 但是其他数据值是相同的

 

其它数据的值,你就不能自己赋值一下?怎么说你也是弄几年foxtable了啊

 

nr("产品") = e.DataRow("产品")

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)以下是引用李孝春在2015/5/4 10:27:0...  发帖心情 Post By:2015/5/4 11:15:00 [只看该作者]

呵呵 我是断断续续弄了那久 但是差不多好几个月才弄一次 所以实际时间没有那么长

 

新增多个序列号 并保存 当时全部显示,但是一旦关闭窗体后 再次打开就永远只有第一条 哎 求纠正


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

 

保存数据事件代码为:

Dim nms As New List(Of String)
Dim drs As New List(of DataRow)
With DataTables("入库单_table1")
    nms = .GetValues("产品")
    For Each nm As String In nms '找出每个产品的第一行数据, 添加到集合drs中
        drs.Add(.Find("产品 = '" & nm & "'", "[_SortKey]"))
    Next
    For Each dr As DataRow In drs
        .DataCols("入库").RaiseDataColChanged(dr)
    Next
End With

 

DataTables("入库单_Table1").Save()

 


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报价业务.foxdb


 回到顶部
总数 25 1 2 3 下一页