Office中国论坛/Access中国论坛

标题: 医院病历报表格式 [打印本页]

作者: 打字比你快    时间: 2009-8-24 17:22
标题: 医院病历报表格式
主要是文本字段内容在报表里怎样自动换行,并且文本内容是在报表表格里。见附件。报表样式见EXCEL表。
作者: aslxt    时间: 2009-8-24 18:03
本帖最后由 aslxt 于 2009-8-24 18:05 编辑

报表本身具有自动换行的功能啊!你可以试一试把控件的高加大,缩小控件的宽度试一试。
作者: luhao    时间: 2009-8-24 18:10
下不了..........
作者: 打字比你快    时间: 2009-8-24 18:13
我试试,那报表里的文本字段控件高度怎样自动适应内容的多少。文本控件能否根据内容多少自动加高,内容多时控件就自动加高,还有表格怎样设计等。。。。
作者: asklove    时间: 2009-8-25 08:29
本帖最后由 asklove 于 2009-8-25 08:47 编辑

我也遇到这样的问题,要是有个能得到文本框内容行数的东东就好了,这样可以根据行数来调整文本框高度
这是百度来的,那位达人能修改一下让它能用在AC

计算文本框中输入文本的行数可以使用SendMessage函数返回,当一行文字发生环绕时,它将被当作新的一行,而被非简单的计算文本中的换行符个数。把以下API函数的声明添入模块文件的general declarations区域,如果您使用的是VB4-32或VB5,也可以把此声明添入Form1的general declarations中,并把所有的“Public”更换为“Private”。

Option Explicit
Public Declare Function SendMessageLong Lib _
"user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long 

Public Const EM_GETLINECOUNT = &HBA
Form Code

Sub Text1_Change()
Dim lineCount as Long
On Local Error Resume Next '得到/显示文本行数
lineCount = SendMessageLong(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&)Label1 = Format$(lineCount, "##,###")
End Sub

注释:为了使本程序成功,请在设计阶段把文本框的Multiline属性设为True。
作者: ynjxw    时间: 2009-8-25 18:19
我用字数控制:
Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)
If Len(Me.L3.Caption) <= 4 Then
Me.L3.TopMargin = 105
Else
Me.L3.TopMargin = 0
End If
作者: ggguan@yeah.net    时间: 2015-5-8 15:53
分分分
作者: ggguan@yeah.net    时间: 2015-5-9 10:45
分分分分
作者: dd2213366788    时间: 2020-4-6 23:42
学习学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3