Foxtable(狐表)用户栏目专家坐堂 → GetComboListString 的运用


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

主题:GetComboListString 的运用

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


加好友 发短信
等级:六尾狐 帖子:1458 积分:9456 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/19 13:13:00 [只看该作者]

If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        e.Col.Combolist = DataTables("批号表").GetComboListString("批号+'-' + 库存数量", "[物料编号] =  '" & e.Row("物料编号") & "'")
    End If
End If
如上代码,如果批号表里面同一个物料编号有两个以上批号的话,只要显示最旧的批号(比如有20170101、20170505、20180101三个批号,那么就只显示20170101),怎么改写?谢谢。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 14:40:00 [只看该作者]

If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        Dim fdr = DataTables("批号表").sqlfind("[物料编号] =  '" & e.Row("物料编号") & "'")
        If fdr IsNot Nothing Then
            e.Col.Combolist = fdr("批号") & "-" & fdr("库存数量")
        Else
            e.Col.Combolist = ""
        End If
    End If
End If

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


加好友 发短信
等级:六尾狐 帖子:1458 积分:9456 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/19 15:32:00 [只看该作者]

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


请看附件,它是我使用22楼代码后的结果。但是,它不符合要求。谢谢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 16:12:00 [只看该作者]

代码没问题,你需要获取哪一行的库存?

 

请上传具体的对应的实例测试。


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


加好友 发短信
等级:六尾狐 帖子:1458 积分:9456 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/19 16:55:00 [只看该作者]

如果批号表里面同一个物料编号有两个以上批号的话,只要显示最旧的批号,比如有20170101、20170505、20180101三个批号,那么就只显示20170101及其库存数量,因为20170101是最旧的批号

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


加好友 发短信
等级:六尾狐 帖子:1458 积分:9456 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/19 16:58:00 [只看该作者]

你可以从23楼的附件里面看到,你现在的代码有2个问题:一、把所有批号和库存数量都显示出来了,我要的是只显示最旧那个批号及其库存数量;二、库存数量不对。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 16:59:00 [只看该作者]

以下是引用edisontsui在2018/9/19 16:58:00的发言:
你可以从23楼的附件里面看到,你现在的代码有2个问题:一、把所有批号和库存数量都显示出来了,我要的是只显示最旧那个批号及其库存数量;二、库存数量不对。

 

代码没问题,请上传对应实例测试。


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


加好友 发短信
等级:六尾狐 帖子:1458 积分:9456 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/19 17:03:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:getcombolist的运用.jpg
图片点击可在新窗口打开查看

你从这个插图里面可以看到,你现在的代码有2个问题:一、把所有批号和库存数量都显示出来了,而我要的是只显示最旧那个批号及其库存数量;二、库存数量不对(6720这个数量是从哪里来的?库存数量只有5040啊)。



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 17:57:00 [只看该作者]

改成下面,如果还有问题,请上传具体实例测试
 
If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        Dim fdr = DataTables("批号表").find("[物料编号] =  '" & e.Row("物料编号") & "'", "批号")
        If fdr IsNot Nothing Then
            e.Col.Combolist = fdr("批号") & "-" & fdr("库存数量")
        Else
            e.Col.Combolist = ""
        End If
    End If
End If

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


加好友 发短信
等级:六尾狐 帖子:1458 积分:9456 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/20 16:46:00 [只看该作者]

现在显示的内容是对了。但是又产生了新的问题:
当“批号”内显示出“20180801-6300”之后,我希望点击这串字符时,能将20180801这个批号输入到“批号”内,而不要将6300这些数量也输入进去。怎么写代码?谢谢。

 回到顶部
总数 52 上一页 1 2 3 4 5 6 下一页