Foxtable(狐表)用户栏目专家坐堂 → 请问这个自动填充的问题代码怎么写?


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

主题:请问这个自动填充的问题代码怎么写?

帅哥哟,离线,有人找我吗?
初心不改再说未来
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
请问这个自动填充的问题代码怎么写?  发帖心情 Post By:2018/7/17 15:36:00 [只看该作者]

表A列有:名称(列内包含北京、上海、广州等名称)、简介(列内包含北京等城市的简介) 两列数据
表b列有:出发城市(下拉列表属性,数据表来自表A)、到达城市(下拉列表属性,数据表来自表A)、综述。这3列。

现在需要在表B中点击出发城市后,将表a对应的出发城市的简介添加到表B的综述列中,当选择到达城市后,再继续将表B对应的城市简介继续添加到表B的综述列中(同一个单元格里)


请问该怎么实现呢

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


加好友 发短信
等级:狐神 帖子:4627 积分:33767 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/7/17 16:15:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/7/17 16:30:00 [只看该作者]

跨表更新我看了,我这个是从其他表取值过来,不一样。。。。。而且我还不是取1个值,是取出来2个或者3个,填充到表B的综述列的同一个单元格里面。。。。

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/7/17 16:45:00 [只看该作者]

Select Case e.DataCol.name
    Case "出发地", "途径地", "到达地"
        Dim str As String = ""
        For Each s As String In "出发地,途径地,到达地".split(",")
            Dim dr As DataRow
            
            dr = DataTables("城市表").Find("[城市名称] = '" & s & "'")
            If dr IsNot Nothing Then
                str &= s & ":" & dr("城市介绍") & vbcrlf
            End If
            
        Next
        e.DataRow("综述") = str
End Select



这个代码哪里有问题?从下拉列表框里选择完城市后,综述列没有添加进入任何内容

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/7/17 17:08:00 [只看该作者]

顶顶~

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


加好友 发短信
等级:幼狐 帖子:168 积分:2268 威望:0 精华:0 注册:2012/3/22 20:00:00
  发帖心情 Post By:2018/7/17 17:47:00 [只看该作者]

s只是“出发地”,“途径地”,“到达地”数组的三个值,又不是北京、上海、广州等名称,城市名称的dr是找不到的,e.DataRow("综述") = str自然是空值

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


加好友 发短信
等级:幼狐 帖子:168 积分:2268 威望:0 精华:0 注册:2012/3/22 20:00:00
  发帖心情 Post By:2018/7/17 17:51:00 [只看该作者]

遍历用得多此一举,dr = DataTables("城市表").Find("[城市名称] = '" & e.DataRow("城市名称") & "'")

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3899 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/7/17 17:55:00 [只看该作者]

是的,但是上面不是已经取出来这三个列中的备选数值了吗......

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


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

以下是引用初心不改再说未来在2018/7/17 16:45:00的发言:
Select Case e.DataCol.name
    Case "出发地", "途径地", "到达地"
        Dim str As String = ""
        For Each s As String In "出发地,途径地,到达地".split(",")
            Dim dr As DataRow
            
            dr = DataTables("城市表").Find("[城市名称] = '" & s & "'")
            If dr IsNot Nothing Then
                str &= s & ":" & dr("城市介绍") & vbcrlf
            End If
            
        Next
        e.DataRow("综述") = str
End Select



这个代码哪里有问题?从下拉列表框里选择完城市后,综述列没有添加进入任何内容

 

1、加入msgbox,能否弹出值?

 

2、你修改了各个列的值了吗?上传实例测试。


 回到顶部