Foxtable(狐表)用户栏目专家坐堂 → [求助]多条件多值填充


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

主题:[求助]多条件多值填充

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
[求助]多条件多值填充  发帖心情 Post By:2015/7/15 17:27:00 [只看该作者]

要将“文理分科”表中的“文理”列符合多条件的值填充到“问卷答案”表中的“文理”列。条件是:班=班、单位=单位、年级=年级,“文理分科”表中“文理”列是唯一的但“问卷答案”表中是多值的。如何修改表事件中的写代码?请指教。谢谢!
If e.DataCol.Name = "班" Then '如果内容发生变动的是班列
    If e.NewValue Is Nothing Then '如果新值是空白,也就是班列的内容为空
        e.DataRow("文理") = Nothing '那么清空此行文理列的内容
    Else
        Dim dr As DataRow
        '否则在文理分科表查找同名的班行,将找到的行赋值给变量dr
        dr = DataTables("文理分科").Find("[班] = '" & e.NewValue & "'And [单位] = '"& dr("单位") & "' And [年级] = '"& dr("年级") &"'")
        If dr IsNot Nothing Then '如果找到了同名的班行,也就是dr不是Nothing
            e.DataRow("文理") = dr("文理") 
        End If
    End If
End If

图片点击可在新窗口打开查看此主题相关图片如下:文理分科表.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:问卷答案表.png
图片点击可在新窗口打开查看
如:单位=“袁驿中学”、班=“01”、年级=“2016”的行有这么多,都应填充成“高文”

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

[此贴子已经被作者于2015/7/15 17:33:48编辑过]

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


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

 代码应该是没问题的,你重置列不就行了?

 

 


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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2015/7/15 17:52:00 [只看该作者]

重置列不得行,我用按钮代码DataTables("问卷答案").DataCols("班").RaiseDataColChanged()也不得行。

[此贴子已经被作者于2015/7/15 17:56:14编辑过]

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2015/7/15 17:57:00 [只看该作者]

例子:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:高中问卷调查.rar


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


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

 

[此贴子已经被作者于2015/7/15 19:20:46编辑过]

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2015/7/15 18:12:00 [只看该作者]

那怎么回事?

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2015/7/15 18:22:00 [只看该作者]

用条件导入:导入的“文理”列,条件:单位、班,EXCEL表中只有一个年级。也不得行。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2016.xls

[此贴子已经被作者于2015/7/15 18:28:35编辑过]

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


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

 提问的时候,你直接代码报错啊

 

If e.DataCol.Name = "班" Then '如果内容发生变动的是班列
    If e.NewValue Is Nothing Then '如果新值是空白,也就是班列的内容为空
        e.DataRow("文理") = Nothing '那么清空此行文理列的内容
    Else
        Dim dr As DataRow
        '否则在文理分科表查找同名的班行,将找到的行赋值给变量dr
        dr = DataTables("文理分科").Find("[班] = '" & e.NewValue & "' And [单位] = '" & e.DataRow("单位") & "' And [年级] = '" & e.DataRow("年级") & "'")
        If dr IsNot Nothing Then '如果找到了同名的班行,也就是dr不是Nothing
            e.DataRow("文理") = dr("文理")
        End If
    End If
End If


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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2015/7/15 22:15:00 [只看该作者]

搞定。谢谢!

 回到顶部