【access小品】情侣函数--自定义函数编制讲座三
时 间:2011-05-21 00:00:00
作 者:煮江品茶 ID:10802 城市:武汉
摘 要:情侣函数
正 文:
版友煮茶论道同志提出一个文本框内换行的问题,这个问题本身很简单,我想以此问题为例,讲解如何编写情侣函数的问题。
所谓情侣者,成双入对者也。也就是说,有些特定的算法,是可以找到其逆运算的。将特定的运算与其逆运算分别编写函数,就形成了一对如同情侣的函数。不要以为运算与逆运算的代码结构一定类似,很多情况下它们之间会有很大差异。
回到问题上来,所谓文本框内的换行,实际就是字符串中插入回车换行符。一般来说文本框的长度是确定的,这个长度下一行能够容纳的字符数事先可以知道,所以要解决的问题只是在指定长度上向字符串插入回车换行符。于是这个函数我们可以称之为【字符串定长换行函数】,并可写为:
Function str(str0 As String, m As Long) As String
'功能:字符串定长换行
'参数:str0---字符串;m---单行字符数
'示例:me.备注.value=str(me.备注.value)
Dim i As Long
Dim n As Long
Dim s As String
n = Int(Len(str0) / m)
s = ""
For i = 0 To n - 1
s = s & Mid(str0, i * m + 1, m) & Chr(13) & Chr(10)
Next
If Len(str0) > Len(Mid(str0, 1, n * m)) Then
s = s & Mid(str0, n * m + 1)
Else
s = Left(s, Len(s) - 2)
End If
str = s
End Function
那么,对于【字符串定长换行函数】的逆函数是什么呢?简单!就是将字符串中的所有回车换行符删除掉。于是逆函数很简单,可以写成如下:
Function str1(str0 As String) As String
'功能:字符串取消换行
'参数:str0---字符串;m---单行字符数
'示例:me.备注.value=str1(me.备注.value)
str1 = Replace(Replace(str0, Chr(13), ""), Chr(10), "")
End Function
有了这一对情侣函数,我们可以在两种不同情形下加以运用。第一种情形,就是煮茶论道同志所需要的报表文本框内换行的情况,我在实例中用手动换行进行了模拟,此一情形下只需用到【字符串定长换行函数】。另外一种情形,就是我们希望在文本框的输入过程中实现自动换行,此种情形也在实例中进行了模拟,该情形下需要同时用到【字符串定长换行函数】及其逆函数。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)

学习心得
最新文章
- Access快速开发平台--Acc...(06.16)
- 【Access高效办公】按日期区间...(06.12)
- Access快速开发平台--生成复...(06.07)
- 仓库管理实战课程(25)-导航菜单...(06.06)
- 仓库管理实战课程(24)-库存月结...(06.05)
- 分享一个简单的X氏家谱小示例(06.04)
- 仓库管理实战课程(23)-先入先出(06.02)
- 仓库管理实战课程(22)-代理商库...(05.30)
- 仓库管理实战课程(21)-安全库存...(05.28)
- Access快速开发平台--如何添...(05.26)