我有一个小型的Microsoft Access 2016数据库设置,我有预打印的表单,我需要打印数据库的内容。
预印纸在第1页上有一个名为Description的小方框,然后在第2页上有一个名为Description Cont的大方框。所以,我在我的字段中输入我的描述但是在我的表单上打印结果时,我将描述输出字段拖得更大(因此它超过了第1页的结尾和第2页)由于某种原因我的打印机忽略了整个第1页,只需启动第2页的输出字段....
无论如何我可以强制输出字段在两页上打印 - 或者我可以将输出字段限制为前100个字符,然后是第二页上的其余字符吗?
答案 0 :(得分:0)
您可以创建一个查询,将描述拆分为两部分,然后将两个字段分配给报表上的两个文本框。
SELECT Left(Description, 100) AS DescPart1,
Mid(Description, 101) AS DescPart2
FROM mytable
当然,如果分开单词,那就不太好了。因此,搜索space
个字符会更好。
Public Function SpaceIndex(sDesc As String) As Long
Dim S As String
If Len(sDesc) > 100 Then
' Max. 100 characters in the first string
S = Left(sDesc, 100)
' Find last space character in there
SpaceIndex = InStrRev(S, " ")
Else
' Because we use "SpaceIndex() - 1" in the query
SpaceIndex = 101
End If
End Function
和
SELECT Left(Description, SpaceIndex(Description) - 1) AS DescPart1,
Mid(Description, SpaceIndex(Description) + 1) AS DescPart2
FROM mytable
如果您想要真正疯狂并尽可能地填充第一个文本框,您可以调整http://www.lebans.com/textwidth-height.htm
中的代码