Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样在同一单元格内追加字符串


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

主题:[求助]怎样在同一单元格内追加字符串

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


加好友 发短信
等级:幼狐 帖子:124 积分:1202 威望:0 精华:0 注册:2015/12/27 21:01:00
  发帖心情 Post By:2016/8/8 21:00:00 [只看该作者]

大红袍老师,我将您的代码放到datacolchanged事件中,按照录入数据表中甲同学数据,只将其录入后出现下图结果:
图片点击可在新窗口打开查看此主题相关图片如下:6.jpg
图片点击可在新窗口打开查看

另外,以下代码的含义我没有弄懂,请您告诉我他们是什么含义:

 tjdr(s) = tjdr(s) & name & ","

通过运行代码,我认为出现“乙”、“丙”可能是用for each语句的缘故。理由是“卷1”表中乙、丙同学的“题1答”和“题2答”列没有录入数据。

请您再看看我的以下想法:

甲同学作答结果和实际答案之间不同点是c,那么就在“统计”表中“试卷名”行为1、列名为C的的对应单元格中填入“甲”。又如,甲同学的“卷1”表中“题2答”列的录入结果是“b”,而“答案”表中的“题2答案”列是“c”,那么它们之间的不同点是bc。那么就在“统计”表中“试卷名”行为1、列名为b和c的两个单元格中都写入“甲”。如果在“卷1”表中乙同学的题1答”列的录入结果是“ac”,他作答结果和实际答案之间不同点是bc,应该在统计”表中“试卷名”行为1、列名为b、c两列的对应单元格中分别追加写入“乙”。但是由于我在看帮助时,没有找到相关语句,无法实现相关功能,请老师帮我看看如何实现这一功能。


 

[此贴子已经被作者于2016/8/8 21:02:33编辑过]

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


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

 代码没有问题啊


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


加好友 发短信
等级:幼狐 帖子:124 积分:1202 威望:0 精华:0 注册:2015/12/27 21:01:00
  发帖心情 Post By:2016/8/8 21:48:00 [只看该作者]

老师,您将代码放到我上传的“管理项目1”文件的“卷1”表的datacolchanged事件中尝试了吗?我刚试完,这是我运行的数据和结果图片。

请您再帮帮看看是这样吗?

 


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

结果应该是没有乙、丙字样。或者在B列、C列中的结果分别是甲,甲  甲,甲。

[此贴子已经被作者于2016/8/8 21:51:54编辑过]

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


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

Dim tjdr As DataRow = DataTables("统计").find("试卷号 = '1'")
Dim kfdr As DataRow = DataTables("答案").find("试卷号 = '1'")
tjdr("A") = Nothing
tjdr("B") = Nothing
tjdr("C") = Nothing
tjdr("D") = Nothing
For Each dr As DataRow In DataTables("卷1").DataRows
    Dim t1 As String = dr("题1答")
    Dim d1 As String = kfdr("题1答案")
    Dim t2 As String = dr("题2答")
    Dim d2 As String = kfdr("题2答案")
    If t1 > "" AndAlso t2 > "" Then
        Dim ts() As String = {t1, t2}
        Dim ds() As String = {d1, d2}
        Dim name As String = dr("姓名")
        For i As Integer = 0 To ts.length-1
            For Each s As String In ts(i)
                If ds(i).Contains(s) = False Then
                    If tjdr.DataTable.DataCols.Contains(s) AndAlso tjdr(s).contains(name) = False Then
                        tjdr(s) = tjdr(s) & name & ","
                    End If
                End If
            Next
        Next
        For i As Integer = 0 To ts.length-1
            For Each s As String In ds(i)
                If ts(i).Contains(s) = False Then
                    If tjdr.DataTable.DataCols.Contains(s) AndAlso tjdr(s).contains(name) = False Then
                        tjdr(s) = tjdr(s) & name & ","
                    End If
                End If
            Next
        Next
    End If
Next
tjdr("A") = tjdr("A").trim(",")
tjdr("B") = tjdr("B").trim(",")
tjdr("C") = tjdr("C").trim(",")
tjdr("D") = tjdr("D").trim(",")

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


加好友 发短信
等级:幼狐 帖子:124 积分:1202 威望:0 精华:0 注册:2015/12/27 21:01:00
  发帖心情 Post By:2016/8/8 22:29:00 [只看该作者]

很感谢大红袍老师这么晚了还给我解疑答问,这回代码运行后已经没有问题了。再一次感谢您!!!祝您晚安!!!
[此贴子已经被作者于2016/8/8 22:30:46编辑过]

 回到顶部
总数 15 上一页 1 2