以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- word 子表报表例子 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69846) |
||||
-- 作者:ayiken -- 发布时间:2015/6/11 18:01:00 -- word 子表报表例子 1.子表“上级医师查房记录” 应该是按记录日期的顺序来显示的,但是记录日期排列乱,有时重复 。。。? 子表“上级医师查房记录”的时候,比较乱,我的子表记录有的3条,有的6条,有的5条,每个病人记录不一样,这个怎样自动调整?
|
||||
-- 作者:ayiken -- 发布时间:2015/6/11 18:03:00 -- “窗口管理”中一个窗口上“打印报表”按钮 |
||||
-- 作者:ayiken -- 发布时间:2015/6/11 18:04:00 -- 我所使用的按钮代码是: Dim tm As String = ProjectPath & "Attachments\\查房记录.doc" \'指定模板文件 Dim fl As String = ProjectPath & "Reports\\知查房记录.doc" \'指定目标文件 Dim wrt As New WordReport(Tables("住院记录"),tm,fl) \'定义一个WordReport wrt.Build() \'逐行生成报表 wrt.quit Dim app As New MSWord.Application try Dim fileName = fl Dim doc = app.Documents.Open(fileName) doc.Protect (Password:="123456", NoReset:=False, Type:= _ MsWord.WdProtectionType.wdAllowOnlyReading, UseIRM:=False, EnforceStyleLock:=False) app.Documents.save app.Visible = True catch ex As exception msgbox(ex.message) app.Quit finally End try |
||||
-- 作者:ayiken -- 发布时间:2015/6/11 18:19:00 -- 1楼例子有小问题,重发了 |
||||
-- 作者:大红袍 -- 发布时间:2015/6/11 18:23:00 --
|
||||
-- 作者:ayiken -- 发布时间:2015/6/11 22:47:00 -- 非常感谢,问题基本上解决了 希望帮忙一下几点问题 Dim tm As
String = ProjectPath &
"Attachments\\查房记录.doc" \'指定模板文件 Dim fl As String =
ProjectPath & "Reports\\知查房记录.doc" \'指定目标文件 Dim wrt As New
WordReport(Tables("住院记录"),tm,fl) \'定义一个WordReport For i As Integer =
Tables("住院记录").TopPosition To Tables("住院记录").BottomPosition Dim r As Row = Tables("住院记录").Rows(i) Dim str As String = "" For Each cdr As DataRow In
DataTables("上级医师查房记录").Select("住院号 = \'" & r("住院号")
& "\'", "记录日期") str &= "姓名:" & cdr("姓名")
& chr(13) str &= "记录日期:" & cdr("记录日期")
& chr(13) str &= "记录内容:" & cdr("记录内容")
& chr(13) & chr(13) Next wrt.ReplaceOne("[子表全部内容]", str) wrt.BuildOne(r) \'逐行生成报表 Next wrt.quit Dim app As New MSWord.Application try Dim fileName = fl Dim doc = app.Documents.Open(fileName)
doc.Protect (Password:="123456", NoReset:=False, Type:= _
MsWord.WdProtectionType.wdAllowOnlyReading, UseIRM:=False,
EnforceStyleLock:=False)
app.Documents.save
app.Visible = True catch ex As exception
msgbox(ex.message) app.Quit finally End try 我的系统是民文系统,比较特殊,所以一定要指定民文字体, 上面代码中"姓名:" "记录日期: "记录内容”:(我标记红色)等字段必须使用HuxKalam Ka Aslia 5号字体,其他内容使用KazakhSoft
Asilya 5号
字体,这样的话上面代码中这两种字体怎么加? 还有一个重要的问题是我们使用的民文方向和中文正相反,就是我的整个文本从右左写,这种代码帮我加上吧! 我的系统很快完成,都是离不开foxtable老师的指导和帮助,再次感谢您 |
||||
-- 作者:ayiken -- 发布时间:2015/6/11 23:15:00 -- 我想加这段代码 e.Form.Controls("TextBox?").basecontrol.RightToLeft
= Windows.Forms.RightToLeft.Yes BaseMainform.Controls("C1Ribbon1").Font = New Font("HuxKalam
Ka Aslia ",5) BaseMainform.Controls("C1Ribbon1").Font = New Font("KazakhSoft Asilya ",5) 其实不知加在哪个位置,对我来说非常困难 |
||||
-- 作者:大红袍 -- 发布时间:2015/6/12 0:02:00 -- 回复7楼
BaseMainform.Controls("C1Ribbon1").Font = New Font("HuxKalam Ka Aslia ",5) BaseMainform.Controls("C1Ribbon1").Font = New Font("KazakhSoft Asilya ",5)
写到afteropenproject
e.Form.Controls("TextBox?").basecontrol.RightToLeft = Windows.Forms.RightToLeft.Yes
写到afterLoad
|
||||
-- 作者:大红袍 -- 发布时间:2015/6/12 0:50:00 -- 汗.......
|
||||
-- 作者:ayiken -- 发布时间:2015/6/12 8:24:00 -- 老师我觉得5楼的代码更合适我的系统,9楼代码限制记录数量 就一个问题没解决
|