以文本方式查看主题

-  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.子表“上级医师查房记录” 应该是按记录日期的顺序来显示的,但是记录日期排列乱,有时重复   。。。?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.rar

子表“上级医师查房记录”的时候,比较乱,我的子表记录有的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楼例子有小问题,重发了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子(新).rar



--  作者:大红袍
--  发布时间:2015/6/11 18:23:00
--  
  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.zip


--  作者: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
--  

 汗.......

 

 

  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.zip


--  作者:ayiken
--  发布时间:2015/6/12 8:24:00
--  
老师我觉得5楼的代码更合适我的系统,9楼代码限制记录数量
就一个问题没解决
代码中"姓名:" "记录日期: "记录内容:(我标记红色)等字段必须使用HuxKalam Ka Aslia 5号字体
此主题相关图片如下:111.png
按此在新窗口浏览图片