Foxtable(狐表)用户栏目专家坐堂 → [求助][讨论]添加的项目有所有者了


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

主题:[求助][讨论]添加的项目有所有者了

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


加好友 发短信
等级:童狐 帖子:241 积分:2569 威望:0 精华:0 注册:2018/1/11 14:52:00
[求助][讨论]添加的项目有所有者了  发帖心情 Post By:2018/6/29 21:44:00 [只看该作者]

以下代码运行出现错误,错误提示“添加的项目有所有者了”

设计的目的是,从“考试科目”表的“学科”列中,动态批量生成每个学科与这个学科均分对比的结果,形成一段描述性文字。
不知道问题出在哪里?
请老师帮我看看,谢谢

'---------------------
Dim rxt As New prt.RenderText '定义一个文本对象
Dim pj4 As Table = Tables("学生查询四")
Dim pj0 As Table = Tables("学生查询")
Dim pj1 As Table = Tables("学生查询一")

Dim tpp As Table = Tables("考试科目")
For i As Integer = 0 To tpp.Rows.Count -1

Dim yw0 As Double = pj0.Compute("sum(" & tpp.Rows(i)("学科") & ")")
Dim yw4 As Double = pj4.Compute("avg(" & tpp.Rows(i)("学科") & ")")
Dim yw As Double = Format(yw0 - yw4,"0.0")
Dim yw3 As String = iif(yw0 = 0 Or yw4 = 0,"",tpp.Rows(i)("学科") & "学科超均分" & yw & "分,")

Dim zf0 As Double = pj0.Compute("sum(总分)")
Dim zf4 As Double = pj4.Compute("avg(总分)")
Dim zf As Double = Format(zf0 - zf4,"0.0")

Dim zfpm0 As Double = pj0.Compute("sum(总分排名)")
Dim zfpm1 As Double = pj1.Compute("sum(总分排名)")
Dim zfpm As Double = Format(zfpm1 - zfpm0,"0")

rxt.text = "分数分析:"
rxt.Style.FontBold = True '字体加粗
rxt.Style.FontSize = 11 '大体大小为16磅
rxt.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
rxt.Style.Spacing.top = 15 '和下面的对象(表格)距离3毫米
rxt.Style.Spacing.Bottom = 2 '和下面的对象(表格)距离3毫米
doc.Body.Children.Add(rxt) '加入到报表中

Dim rx11 As New prt.RenderText '定义一个文本对象
rx11.text = "        此次考试您的孩子成绩总分为"& CurRow1("总分") & "分,总分名次为" & CurRow1("总分排名") & "名.与全班相比," & yw3 & "总分超均分" & zf & "分.与上期考试相比,总分名次进步" & zfpm & "名,希望您在繁忙的工作之余,对孩子多加鼓励,鞭策前行,我们期待孩子在未来取得更大的进步!"
rx11.Style.LineSpacing = 180 '设置1.5倍行距
rx11.Style.FontSize = 10 '大体大小为16磅
rx11.

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


加好友 发短信
等级:超级版主 帖子:106356 积分:540921 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/29 21:52:00 [只看该作者]

看不出错误提示和这段代码有什么关系

跟踪看看是哪一句代码有问题
http://www.foxtable.com/webhelp/scr/1485.htm

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


加好友 发短信
等级:童狐 帖子:241 积分:2569 威望:0 精华:0 注册:2018/1/11 14:52:00
  发帖心情 Post By:2018/6/30 9:09:00 [只看该作者]

老师好,这个方法很好用,马上定位出错误了,是next的位置放错了,调整了就可以运行了。

现在遇到另外一个问题:

考试科目表中学科列依次是:语文、数学、英语、物理、化学、体育
但生成的结果(综合文字分析)只有最后一个学科“体育”的分析,在它前面的学科语文、数学、英语、物理、化学全部没有。
不知道是哪个循环出现问题,麻烦老师帮忙看看,谢谢

出现的结果:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180630090249.png
图片点击可在新窗口打开查看


需要的效果:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180630090645.png
图片点击可在新窗口打开查看



代码如下:
Dim rxt As New prt.RenderText '定义一个文本对象
Dim rx11 As New prt.RenderText '定义一个文本对象

Dim pj4 As Table = Tables("学生查询四")
Dim pj0 As Table = Tables("学生查询")
Dim pj1 As Table = Tables("学生查询一")
Dim tpp As Table = Tables("考试科目")
For i As Integer = 0 To tpp.Rows.Count -1
    
    Dim yw0 As Double = pj0.Compute("sum(" & tpp.Rows(i)("学科") & ")")
    Dim yw4 As Double = pj4.Compute("avg(" & tpp.Rows(i)("学科") & ")")
    Dim yw As Double = Format(yw0 - yw4,"0.0")
    Dim yw3 As String = iif(yw0 = 0 Or yw4 = 0,"",tpp.Rows(i)("学科") & "学科超均分" & yw & "分,")
    
    Dim zf0 As Double = pj0.Compute("sum(总分)")
    Dim zf4 As Double = pj4.Compute("avg(总分)")
    Dim zf As Double = Format(zf0 - zf4,"0.0")
    
    Dim zfpm0 As Double = pj0.Compute("sum(总分排名)")
    Dim zfpm1 As Double = pj1.Compute("sum(总分排名)")
    Dim zfpm As Double = Format(zfpm1 - zfpm0,"0")
    
    rxt.text = "分数分析:"
    rxt.Style.FontBold = True '字体加粗
    rxt.Style.FontSize = 11 '大体大小为16磅
    rxt.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
    rxt.Style.Spacing.top = 15 '和下面的对象(表格)距离3毫米
    rxt.Style.Spacing.Bottom = 2 '和下面的对象(表格)距离3毫米
    
    
    rx11.text = "        此次考试您的孩子成绩总分为"& CurRow1("总分") & "分,总分名次为" & CurRow1("总分排名") & "名.与全班相比," & yw3 & "总分超均分" & zf & "分.与上期考试相比,总分名次进步" & zfpm & "名,希望您在繁忙的工作之余,对孩子多加鼓励,鞭策前行,我们期待孩子在未来取得更大的进步!"
    rx11.Style.LineSpacing = 180 '设置1.5倍行距
    rx11.Style.FontSize = 10 '大体大小为16磅
    rx11.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
    rx11.Style.Spacing.top = 2 '和下面的对象(表格)距离3毫米
    rx11.Style.Spacing.Bottom = 6 '和下面的对象(表格)距离3毫米
    
Next
doc.Body.Children.Add(rxt) '加入到报表中
doc.Body.Children.Add(rx11) '加入到报表中


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106356 积分:540921 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/30 9:53:00 [只看该作者]

next的位置还是放错了

……

Dim zfpm0 As Double = pj0.Compute("sum(总分排名)")
    Dim zfpm1 As Double = pj1.Compute("sum(总分排名)")
    Dim zfpm As Double = Format(zfpm1 - zfpm0,"0")
    rxt = New prt.RenderText
    rxt.text = "分数分析:"
    rxt.Style.FontBold = True '字体加粗
    rxt.Style.FontSize = 11 '大体大小为16磅
    rxt.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
    rxt.Style.Spacing.top = 15 '和下面的对象(表格)距离3毫米
    rxt.Style.Spacing.Bottom = 2 '和下面的对象(表格)距离3毫米
    
    rx11 = New prt.RenderText
    rx11.text = "        此次考试您的孩子成绩总分为"& CurRow1("总分") & "分,总分名次为" & CurRow1("总分排名") & "名.与全班相比," & yw3 & "总分超均分" & zf & "分.与上期考试相比,总分名次进步" & zfpm & "名,希望您在繁忙的工作之余,对孩子多加鼓励,鞭策前行,我们期待孩子在未来取得更大的进步!"
    rx11.Style.LineSpacing = 180 '设置1.5倍行距
    rx11.Style.FontSize = 10 '大体大小为16磅
    rx11.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
    rx11.Style.Spacing.top = 2 '和下面的对象(表格)距离3毫米
    rx11.Style.Spacing.Bottom = 6 '和下面的对象(表格)距离3毫米
    
doc.Body.Children.Add(rxt) '加入到报表中
doc.Body.Children.Add(rx11) '加入到报表中
Next

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


加好友 发短信
等级:童狐 帖子:241 积分:2569 威望:0 精华:0 注册:2018/1/11 14:52:00
  发帖心情 Post By:2018/6/30 12:29:00 [只看该作者]


蓝老师,甜老师,修改代码后,运行结果是,每个学科独立成了一行

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180630122705.png
图片点击可在新窗口打开查看

能不能所有学科在一起呢,也就是语文分析完,数学跟在后面,然后英语接在后面?

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180630122825.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/6/30 13:36:23编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106356 积分:540921 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/30 14:00:00 [只看该作者]

Dim rxt As New prt.RenderText '定义一个文本对象
Dim rx11 As New prt.RenderText '定义一个文本对象

Dim pj4 As Table = Tables("学生查询四")
Dim pj0 As Table = Tables("学生查询")
Dim pj1 As Table = Tables("学生查询一")
Dim tpp As Table = Tables("考试科目")

rxt.text = "分数分析:"
rxt.Style.FontBold = True '字体加粗
rxt.Style.FontSize = 11 '大体大小为16磅
rxt.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
rxt.Style.Spacing.top = 15 '和下面的对象(表格)距离3毫米
rxt.Style.Spacing.Bottom = 2 '和下面的对象(表格)距离3毫米

rx11.Style.LineSpacing = 180 '设置1.5倍行距
rx11.Style.FontSize = 10 '大体大小为16磅
rx11.Style.TextAlignHorz = prt.AlignHorzEnum.left '水平居中排列
rx11.Style.Spacing.top = 2 '和下面的对象(表格)距离3毫米
rx11.Style.Spacing.Bottom = 6 '和下面的对象(表格)距离3毫米

Dim zf0 As Double = pj0.Compute("sum(总分)")
Dim zf4 As Double = pj4.Compute("avg(总分)")
Dim zf As Double = Format(zf0 - zf4,"0.0")

Dim zfpm0 As Double = pj0.Compute("sum(总分排名)")
Dim zfpm1 As Double = pj1.Compute("sum(总分排名)")
Dim zfpm As Double = Format(zfpm1 - zfpm0,"0")

rx11.text = "        此次考试您的孩子成绩总分为"& CurRow1("总分") & "分,总分名次为" & CurRow1("总分排名") & "名.与全班相比,"
For i As Integer = 0 To tpp.Rows.Count -1
    
    Dim yw0 As Double = pj0.Compute("sum(" & tpp.Rows(i)("学科") & ")")
    Dim yw4 As Double = pj4.Compute("avg(" & tpp.Rows(i)("学科") & ")")
    Dim yw As Double = Format(yw0 - yw4,"0.0")
    Dim yw3 As String = iif(yw0 = 0 Or yw4 = 0,"",tpp.Rows(i)("学科") & "学科超均分" & yw & "分,")
    
    rx11.text = rx11.text & yw3 & "总分超均分" & zf & "分."
Next
rx11.text = rx11.text & "与上期考试相比,总分名次进步" & zfpm & "名,希望您在繁忙的工作之余,对孩子多加鼓励,鞭策前行,我们期待孩子在未来取得更大的进步!"
doc.Body.Children.Add(rxt) '加入到报表中
doc.Body.Children.Add(rx11) '加入到报表中

 回到顶部