以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]看看这段代码哪里有问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90437)

--  作者:鲁吉
--  发布时间:2016/9/12 19:57:00
--  [求助]看看这段代码哪里有问题
这是一段专业报表 的代码,提示有错误:没有为"Public Function Format(expression As Object,[Style As String = ""])As String"的参数"expression"指定参数      不能保存
涉及日期的几段都不行

Dim doc As New PrintDoc \'定义一个报表
Dim rx As New prt.RenderText \'定义一个文本对象
Dim CurRow As Row = Tables("责令改正").Current
rx.Style.LineSpacing = 200 \'设置双倍行距
doc.Body.Children.Add(rx) \'将文本对象加入到报表

rx = new prt.RenderText
rx.Text = CurRow(format[发出日期],"yyy")
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 147
rx.y = 52
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("编号")
rx.Style.Font = New Font("楷体", 12, FontStyle.Bold)
rx.x = 169
rx.y = 52
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("被责令单位")
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 20
rx.y = 61
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("事由")
rx.Style.TextIndent = 30 \'首行缩进9毫米
rx.Style.LineSpacing = 200 \'设置双倍行距
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 25
rx.y = 72
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("违反的法律法规")
rx.Style.LineSpacing = 200 \'设置双倍行距
rx.Style.TextIndent = 15 \'首行缩进9毫米
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 25
rx.y = 103
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow(<format[限定日期],"yyy">)
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 62
rx.y = 139
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow(<format[限定日期],"MM">)
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 94
rx.y = 139
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow(<format[限定日期],"dd">)
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 111
rx.y = 139
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("改正内容")
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.Style.LineSpacing = 200 \'设置双倍行距
rx.x = 40
rx.y = 162
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("要求")
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.Style.LineSpacing = 200 \'设置双倍行距
rx.x = 40
rx.y = 162
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow(<format[发出日期],"yyy">)
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 110
rx.y = 218
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow(<format[发出日期],"MM">)
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 135
rx.y = 218
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow(<format[发出日期],"dd">)
rx.Style.Font = New Font("楷体", 14, FontStyle.Bold)
rx.x = 154
rx.y = 218
doc.body.Children.Add(rx)

Doc.Preview() \'预览报表
[此贴子已经被作者于2016/9/12 20:19:49编辑过]

--  作者:有点蓝
--  发布时间:2016/9/12 20:22:00
--  
日期的格式全部按这种方式改改

rx.Text = format(CurRow("发出日期"),"yyy")

rx.Text = format(CurRow("发出日期"),"MM")

--  作者:鲁吉
--  发布时间:2016/9/12 20:37:00
--  
谢谢,能打出来了,但有一个问题:日期的格式是2016-09-12,打出来的月份却是00
--  作者:鲁吉
--  发布时间:2016/9/12 20:58:00
--  
如果用rx.Text = format(CurRow("发出日期"),"M")
打印出来的是2016    9月12日12   把汉字带出来了,还带了日
我要的是2016       9       12 这样的

--  作者:有点蓝
--  发布时间:2016/9/12 21:05:00
--  
不可能的,上例子说明